Version: 1
Base URL: https://orders.system.trans.eu/api/rest/v1
Resources
Orders
Get order
Scopes
Endpoint
GET /orders/{order-id}
Query parameters
Param |
Type |
Description |
Required |
order-id |
String |
Order identifier received with POST response in id field |
yes |
Responses
Http status |
Description |
200 |
Returned the order entity |
400 |
Bad request |
401 |
Unauthorized |
403 |
Forbidden (i.e. wrong or missing access token) |
404 |
Order not found |
500 |
Internal Server Error |
Response data structure
Property |
Type |
Description |
id |
String |
Unique order id (as UUID) |
number |
String |
Assigned order number (unique in scope of company) |
route |
Object (Route) |
Route details |
loads |
Array (of Load) |
Loads details |
carrier |
Object (Contractor) |
Carrier details |
payer |
Object (Contractor) |
Payer details |
payment |
Object (Payment) |
Payment details |
vehicle |
Object (Vehicle) |
Vehicle details |
driver |
Object (Driver) |
Driver details |
requirements |
Object (Requirements) |
Requirements |
_links |
Object |
External resources references |
Route
object structure
Field |
Type |
Description |
events |
Array (of RouteEvent) |
Sorted list of route events |
RouteEvent
object structure
Field |
Type |
Description |
place |
Object (Place) |
Details of event place |
time_frame |
Object (TimeFrame) |
Details of loads TimeFrame |
type |
Enum |
Single value can be choose. Event type. Possible values: loading , unloading |
Place
object structure
Field |
Type |
Description |
address |
Object (Address) |
Address details |
TimeFrame
object structure
Field |
Type |
Description |
day |
Date |
[YYYY-MM-DD] |
time_from |
Date |
[hh]:[mm]:[ss]Z ie. 11:20:00+01:00 |
time_to |
Date |
[hh]:[mm]:[ss]Z ie. 11:20:00+01:00 |
Address
object structure
Field |
Type |
Description |
street |
String |
Street name |
number |
String |
Street number |
locality |
String |
City name |
postal_code |
String |
Postal code |
country |
String |
Country code in format ISO 3166-1 alpha-2 |
Payment
object structure
Field |
Type |
Description |
price |
Object (Price) |
Price definition |
interval_of_days |
String |
Payment date interval in days, ISO 8601 formatted (see PHP DateInterval for more information) |
Price
object structure
Field |
Type |
Description |
value |
Number |
Price value |
currency |
String |
Price currency (ISO 4217) |
Contractor
object structure
Field |
Type |
Description |
name |
String |
Company name |
vat_id |
String |
Company VAT id |
address |
Object (Address) |
Company address details |
contact_person |
Object (ContactPerson) |
Contact person details |
ContactPerson
object structure
Field |
Type |
Description |
contact_id |
String |
Person's contact id |
employee_id |
String |
Employee id from Companies API |
trans_id |
String |
Person's TransID |
given_name |
String |
Person's given name |
family_name |
String |
Person's last name |
email |
String |
E-mail address |
telephone |
String |
Telephone number in format: (XX) XXXXXXXXX |
Load
object structure
Field |
Type |
Description |
name |
String |
Load name |
type_of_load |
Enum |
Possible values: [adr ,bags ,unit ,logs ,envelope ,box ,barrel ,pallet ,other ] |
weight |
Object (Weight) |
Load weight details |
volume |
Object (Volume) |
Load weight details |
height |
Object (Dimension) |
Load height Dimension |
width |
Object (Dimension) |
Load width Dimension |
length |
Object (Dimension) |
Load length Dimension |
amount |
Number |
Amount of loads |
Weight
object structure
Field |
Type |
Description |
value |
Number |
Weight value |
unit_code |
String |
Weight unit code Possible values: TNE (tons) |
Volume
object structure
Field |
Type |
Description |
value |
Number |
Volume value |
unit_code |
String |
Volume unit code Possible values: M3 (cubic meter) |
Dimension
object structure
Field |
Type |
Description |
value |
Number |
Dimension value |
unit_code |
String |
Dimension unit code Possible values: M (meter) |
Vehicle
object structure
Field |
Type |
Description |
registration_plate_number |
String |
Vehicle's registration plate number |
semi_trailer |
Object(SemiTrailer) |
SemiTrailer data |
SemiTrailer
object structure
Field |
Type |
Description |
registration_plate_number |
String |
Trailer's registration plate number |
Driver
object structure
Field |
Type |
Description |
employee_id |
Number |
Employee ID from Companies API |
family_name |
String |
Person's last name |
given_name |
String |
Person's given name |
identity_document_number |
String |
Driver's ID document number |
telephone |
String |
Telephone number in format: (XX) XXXXXXXXX |
Requirements
object structure
Field |
Type |
Description |
is_ftl |
Boolean |
Is full track load flag |
is_tracking_system_required |
Boolean |
Tracking system requirement flag |
is_truck_crane_required |
Boolean |
Truck crane requirement flag |
is_lift_required |
Boolean |
Lift requirement flag |
is_tir_cable_required |
Boolean |
Tir cable requirement flag |
shipping_remarks |
String |
Remarks to the shipping |
required_ways_of_loading |
Enum |
Multiple value can be selected. Possible values: [side ,top ,back ] |
required_truck_bodies |
Enum |
Multiple value can be selected. Possible values: [tent , isotherm , box-truck , spacious , other , car-transporter , double-trailer , van , mega , coilmulde , walking-floor , low-suspension , flatbed , chemical-tanker , food-tanker , petroleum-tanker , gas-tanker , log-trailer , oversized-cargo , hook-lift , container-20-40 , dump-truck , koffer , swap-body-system , jumbo , cooler , curtainsider , tanker , silos , removal-truck ] |
required_adr_classes |
Enum |
Multiple value can be selected. Possible values: [1 , 2 , 3 , 4.1 , 4.2 , 4.3 , 5.1 , 5.2 , 6.1 , 6.2 , 7 , 8 , 9 ] |
Example
GET /api/rest/v1/orders/e674e0a3-847c-4f75-bdff-cedaf6986c7c HTTP/1.1
Host: orders.system.trans.eu
Accept: application/hal+json
Authorization: Bearer {access_token}
HTTP/1.1 200 OK
Content-Type: application/hal+json
{
"id": "e674e0a3-847c-4f75-bdff-cedaf6986c7c",
"number": "EN/15022021/10",
"route": {
"events": [
{
"place": {
"address": {
"locality": "Berlin",
"postal_code": "3456",
"country": "DE",
"street": "Erste strasse",
"number": "12"
},
"coordinates": {
"latitude": 23.256789,
"longitude": 90
}
},
"time_frame": {
"day": "2017-02-20",
"time_from": "09:09:09+00:00",
"time_to": "16:59:59+00:00"
},
"type": "loading"
},
{
"place": {
"address": {
"locality": "Berlin",
"postal_code": "3456",
"country": "DE",
"street": "Some Avenue",
"number": "32"
},
"coordinates": {
"latitude": 23.256789,
"longitude": 42.000001
}
},
"time_frame": {
"day": "2017-02-22",
"time_from": "18:00:00+00:00",
"time_to": "20:00:00+00:00"
},
"type": "unloading"
}
]
},
"loads": [
{
"name": "Test load",
"weight": {
"value": 1,
"unit_code": "TNE"
},
"length": {
"value": 4,
"unit_code": "M"
},
"width": {
"value": 3,
"unit_code": "M"
},
"height": {
"value": 2,
"unit_code": "M"
},
"volume": {
"value": 5,
"unit_code": "M3"
},
"type_of_load": "barrel",
"amount": 2
}
],
"shipper": {
"name": "Shipping imperium",
"vat_id": "5379420247",
"address": {
"locality": "London",
"postal_code": "50-001",
"country": "PL",
"street": "Kings street",
"number": "1"
},
"contact_person": {
"family_name": "John",
"given_name": "Doe",
"email": "john.doe@trans.eu",
"telephone": "",
"employee_id": 823436,
"trans_id": "1008544-1",
"contact_id": null
}
},
"carrier": {
"name": "Carrying company",
"vat_id": "PL6470094616",
"address": {
"locality": "London",
"postal_code": "58-100",
"country": "PL",
"street": "Some street",
"number": "22/11"
},
"contact_person": {
"family_name": "Paul",
"given_name": "Doe",
"email": "paul.doe@trans.eu",
"telephone": "",
"employee_id": 823439,
"trans_id": "1008547-1",
"contact_id": null
}
},
"payer": {
"name": "Carrier Trans.eu",
"vat_id": "0001111444455",
"address": {
"locality": "Parisss",
"postal_code": "3334",
"country": "FR",
"street": "Some street",
"number": "4/2"
},
"contact_person": {
"family_name": "Johan",
"given_name": "Sebastian",
"email": "test@trans.eu",
"telephone": "(48) 1001000100",
"employee_id": null,
"trans_id": null,
"contact_id": 123155
}
},
"payment": {
"price": {
"value": 34,
"currency": "PLN"
},
"interval_of_days": "P10D"
},
"driver": {
"given_name": "Joe",
"family_name": "Doe",
"telephone": "(48) 3003000303",
"identity_document_number": "AFA180815",
"employee_id": null
},
"vehicle": {
"registration_plate_number": "SPS 212",
"semi_trailer": {
"registration_plate_number": "SPS 313"
}
},
"requirements": {
"is_ftl": true,
"is_tracking_system_required": true,
"is_truck_crane_required": true,
"is_lift_required": true,
"is_tir_cable_required": true,
"required_ways_of_loading": [
"side",
"top",
"back"
],
"required_truck_bodies": [
"tent",
"isotherm",
"box-truck",
"spacious",
"other",
"car-transporter",
"double-trailer",
"van",
"mega",
"coilmulde",
"walking-floor",
"low-suspension",
"flatbed",
"chemical-tanker",
"food-tanker",
"petroleum-tanker",
"gas-tanker",
"log-trailer",
"oversized-cargo",
"hook-lift",
"container-20-40",
"dump-truck",
"koffer",
"swap-body-system",
"jumbo",
"cooler",
"curtainsider",
"tanker",
"silos",
"removal-truck"
],
"required_adr_classes": [
"1",
"2",
"3",
"4.1",
"4.2",
"4.3",
"5.1",
"5.2",
"6.1",
"6.2",
"7",
"8",
"9"
],
"shipping_remarks": "Test remark"
},
"_links": {
"self": {
"href": "https://0.0.0.0:8080/api/rest/v1/orders/e674e0a3-847c-4f75-bdff-cedaf6986c7c"
},
"carrier_company": {
"id": 1008547,
"href": "https://companies.system.trans.eu/api/rest/v1/companies/1008547"
},
"carrier_contact_person": {
"employee_id": 823439,
"href": "https://companies.system.trans.eu/api/rest/v1/employees/823439"
},
"shipper_company": {
"id": 1008544,
"href": "https://companies.system.trans.eu/api/rest/v1/companies/1008544"
},
"shipper_contact_person": {
"employee_id": 823436,
"href": "https://companies.system.trans.eu/api/rest/v1/employees/823436"
}
}
}
Shipping Orders
Add shipping order
Scopes
- orders.shipping-orders.basic.create
Endpoint
POST /shipping-orders
Request body data
Param |
Type |
Description |
Required |
number |
String |
Order number (unique in scope of your company) |
yes |
route |
Object (Route) |
Route details |
yes |
loads |
Array (of Load) |
Loads details |
no |
carrier |
Object (Contractor) |
Carrier details |
no |
payer |
Object (Contractor) |
Payer details |
no |
payment |
Object (Payment) |
Payment details |
no |
vehicle |
Object (Vehicle) |
Vehicle details |
|
driver |
Object (Driver) |
Driver details |
|
requirements |
Object (Requirements) |
Requirements |
|
Contractor
object structure
Field |
Type |
Description |
Required |
name |
String |
Company name |
yes |
vat_id |
String |
Company VAT id |
no |
address |
Object (Address) |
Company address details |
no |
contact_person |
Object (ContactPerson) |
Contractor contact person details |
no |
Address
object structure
Field |
Type |
Description |
Required |
street |
String |
Street name |
no |
number |
String |
Street number |
no |
locality |
String |
City name |
yes |
postal_code |
String |
Postal code |
yes |
country |
String |
Country code in format ISO 3166-1 alpha-2 Example: PL |
yes |
ContactPerson
object structure
Field |
Type |
Description |
Required |
contact_id |
String |
Person's contact id |
no |
employee_id |
String |
Employee id from Companies API |
no |
trans_id |
String |
Person's TransID |
no |
given_name |
String |
Person's first name |
yes |
family_name |
String |
Person's last name |
yes |
email |
String |
E-mail address |
yes |
telephone |
String |
Phone number in format: (XX) XXXXXXXXX |
no |
Route
object structure
Field |
Type |
Description |
Required |
events |
Array (of RouteEvent) |
Array with route events |
yes |
RouteEvent
object structure
Field |
Type |
Description |
Required |
place |
Object (Place) |
Details of event place |
yes |
time_frame |
Object (TimeFrame) |
Time frame when load is expected |
yes |
type |
String |
Event type. Possible values: loading , unloading |
yes |
Place
object structure
Field |
Type |
Description |
Required |
address |
Object (Address) |
Address details |
yes |
TimeFrame
object structure
Field |
Type |
Description |
Required |
day |
Date |
[YYYY-MM-DD] |
no |
time_from |
Date |
[hh]:[mm]:[ss]Z ie. 11:20:00+01:00 |
no |
time_to |
Date |
[hh]:[mm]:[ss]Z ie. 11:20:00+01:00 |
no |
Load
object structure
Field |
Type |
Description |
Required |
name |
String |
Load name |
no |
type_of_load |
Enum |
Possible values: [adr ,bags ,unit ,logs ,envelope ,box ,barrel ,pallet ,other ] |
no |
weight |
Object (Weight) |
Load weight details |
yes |
volume |
Object (Volume) |
Load weight details |
no |
height |
Object (Dimension) |
Load height Dimension |
no |
width |
Object (Dimension) |
Load width Dimension |
no |
length |
Object (Dimension) |
Load length Dimension |
no |
amount |
Number |
Amount of loads |
no |
Weight
object structure
Field |
Type |
Description |
Required |
value |
Number |
Weight value |
yes |
unit_code |
String |
Weight unit code Possible values: TNE (tons) |
yes |
Volume
object structure
Field |
Type |
Description |
Required |
value |
Number |
Volume value |
yes |
unit_code |
String |
Weight unit code Possible values: M3 (cubic meter) |
yes |
Dimension
object structure
Field |
Type |
Description |
Required |
value |
Number |
Dimension value |
yes |
unit_code |
String |
Weight unit code Possible values: M (meter) |
yes |
Payment
object structure
Field |
Type |
Description |
Required |
price |
Object (Price) |
Price definition |
yes |
interval_of_days |
String |
Payment date interval (in days, ISO 8601 formatted - see PHP DateInterval for more information) |
yes |
Price
object structure
Field |
Type |
Description |
Required |
value |
Number |
Price value (positive number) |
yes |
currency |
String (Currency) |
Price currency (ISO 4217) |
yes |
Supported Currency
list
Value (code) |
Currency name |
BAM |
Bosnia and Herzegovina Convertible Mark |
BGN |
Bulgarian Lev |
BYR |
Belarussan Ruble |
CHF |
Swiss Franc |
CZK |
Czech Koruna |
DKK |
Danish Krone |
EUR |
European Euro |
GBP |
Pound Sterling |
HRK |
Croatian Kuna |
HUF |
Hungarian Forint |
ISK |
Icelandic Krona |
KZT |
Kazakhstani Tenge |
MDL |
Moldovan Leu |
MKD |
Macedonian Denar |
NOK |
Norwegian Krone |
PLN |
Polish Zloty |
RON |
Romanian Leu |
RSD |
Serbian Dinar |
RUB |
Russian Ruble |
SEK |
Swedish Krone |
TRY |
Turkish Lira |
UAH |
Ukrainian Hryvnia |
USD |
US Dollars |
Vehicle
object structure
Field |
Type |
Description |
Required |
registration_plate_number |
String |
Vehicle's registration plate number |
no |
semi_trailer |
Object(SemiTrailer) |
SemiTrailer data |
no |
SemiTrailer
object structure
Field |
Type |
Description |
Required |
registration_plate_number |
String |
SemiTrailer's registration plate number |
no |
Driver
object structure
Field |
Type |
Description |
Required |
employee_id |
Number |
Employee ID from Companies API |
no |
family_name |
String |
Person's last name |
no |
given_name |
String |
Person's given name |
no |
identity_document_number |
String |
Driver's ID document number |
no |
telephone |
String |
Telephone number in format: (XX) XXXXXXXXX |
no |
Requirements
object structure
Field |
Type |
Description |
Required |
is_ftl |
Boolean |
Is full track load flag |
no |
is_tracking_system_required |
Boolean |
Tracking system requirement flag |
no |
is_truck_crane_required |
Boolean |
Truck crane requirement flag |
no |
is_lift_required |
Boolean |
Lift requirement flag |
no |
is_tir_cable_required |
Boolean |
Tir cable requirement flag |
no |
shipping_remarks |
String |
Remarks to the shipping |
no |
required_ways_of_loading |
Enum |
Multiple value can be selected. Possible values: [side ,top ,back ] |
no |
required_truck_bodies |
Enum |
Multiple value can be selected. Possible values: [tent , isotherm , box-truck , spacious , other , car-transporter , double-trailer , van , mega , coilmulde , walking-floor , low-suspension , flatbed , chemical-tanker , food-tanker , petroleum-tanker , gas-tanker , log-trailer , oversized-cargo , hook-lift , container-20-40 , dump-truck , koffer , swap-body-system , jumbo , cooler , curtainsider , tanker , silos , removal-truck ] |
no |
required_adr_classes |
Enum |
Multiple value can be selected. Possible values: [1 , 2 , 3 , 4.1 , 4.2 , 4.3 , 5.1 , 5.2 , 6.1 , 6.2 , 7 , 8 , 9 ] |
no |
Responses
Http status |
Description |
201 |
Created and returned the order entity |
400 |
Bad request |
401 |
Unauthorized |
403 |
Forbidden (i.e. wrong or missing access token) |
409 |
Conflict (i.e. order number already exists) |
422 |
Unprocessable entity (i.e. invalid or missing request parameter) |
500 |
Internal Server Error |
Example
POST /api/rest/v1/shipping-orders HTTP/1.1
Host: orders.system.trans.eu
Accept: application/hal+json
Content-Type: application/json
Authorization: Bearer {access_token}
{
"number": "EN/15022021/10",
"route": {
"events": [
{
"place": {
"address": {
"locality": "Berlin",
"postal_code": "3456",
"country": "DE",
"street": "Some Avenue",
"number": "12"
},
"coordinates": {
"latitude": 23.256789,
"longitude": 90.000000
}
},
"time_frame": {
"day": "2017-02-20",
"time_from": "09:09:09+00:00",
"time_to": "16:59:59+00:00"
},
"type": "loading"
},
{
"place": {
"address": {
"locality": "Berlin",
"postal_code": "3456",
"country": "DE",
"street": "Some Avenue",
"number": "32"
},
"coordinates": {
"latitude": 23.256789,
"longitude": 42.000001
}
},
"time_frame": {
"day": "2017-02-22",
"time_from": "18:00:00+00:00",
"time_to": "20:00:00+00:00"
},
"type": "unloading"
}
]
},
"loads": [
{
"name": "Test load",
"type_of_load": "barrel",
"weight": {
"value": 1,
"unit_code": "TNE"
},
"height": {
"value": 2,
"unit_code": "M"
},
"width": {
"value": 3,
"unit_code": "M"
},
"length": {
"value": 4,
"unit_code": "M"
},
"volume": {
"value": 5,
"unit_code": "M3"
},
"amount": 2
}
],
"payer": {
"name": "Carrier Trans.eu",
"vat_id": "0001111444455",
"language": "PL",
"address": {
"locality": "Parisss",
"postal_code": "3334",
"country": "FR",
"street": "Ulica Fabrycznego",
"number": "4/2"
},
"contact_person": {
"contact_id": 123155,
"family_name": "Testowski",
"given_name": "Tescik jr",
"email": "test@trans.eu",
"telephone": "(48) 1001000100",
"fax": "(48) 2002000200"
}
},
"driver": {
"employee_id": 110519,
"family_name": "Doe",
"given_name": "Joe",
"identity_document_number": "AFA180815",
"telephone": "(48) 3003000303"
},
"requirements": {
"is_ftl": true,
"is_tracking_system_required": true,
"shipping_remarks": "Test remark",
"required_ways_of_loading": [
"side"
],
"required_truck_bodies": [
"tent"
],
"is_truck_crane_required": true,
"is_lift_required": true,
"is_tir_cable_required": true,
"required_adr_classes": [
"9"
]
}
}
HTTP/1.1 201 Created
Content-Type: application/hal+json
{
"id": "56acf700-1774-11e6-8ab6-0002a5d5c51b",
// ...
}
POST response data structure is identical to GET response structure.