NAV
shell

Introduction

Welcome to the ALLINE Cross Border API Documentation!

The ALLINE Cross Border API allows you to perform cross border operations on the ALLINE system.

ALLINE Cross Border API is built using REST principles which ensures predictable URLs that makes writing applications easy. This API follows HTTP rules, enabling a wide range of HTTP clients which can be used to interact with the API.

Every resource is exposed as a URL. The URL of each resource can be obtained by accessing the API Root Endpoint https://crossborder.omniship.eu/api/v3/.

For example the Waybills resource is reachable at https://crossborder.omniship.eu/api/v3/waybills.

Authentication

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "https://crossborder.omniship.eu/api/v3/<resource>"
  -H "Authorization: FkihCtzyXWvutSRUaaEupN8hvABcDefgHI6lJKvv"
  -H "Content-Type: application/json"

Make sure to replace FkihCtzyXWvutSRUaaEupN8hvABcDefgHI6lJKvv with your API key.

ALLINE uses bearer authentication to authenticate requests. Contact your ALLINE representative to receive a new ALLINE API access token.

In order to authenticate properly, please put Authorization: Bearer <API Access Token> in the request header. ALLINE expects for the API access token to be included in all API requests to the server in a header that looks like the following:

Authorization: FkihCtzyXWvutSRUaaEupN8hvABcDefgHI6lJKvv

Shipping Methods

Example:

{
  "name": "DEDHL",
  "address": {
    "company": "DHL Bochum",
    "line_1": "Opelring 1",
    "city": "Bochum",
    "country": "DE",
    "country_full": "Germany",
    "is_pickup": false
  },
  "customer": "Acme",
  "print_label": false
}

A Shipping Method represents the destination that can be assigned to parcels by using the name attribute in the pre-alert upload.

Attribute Type Description
id integer Unique ID of a Shipping Method. This is used as an identifier.
name string Unique code to identify a Shipping Method.
address Object Address associated with the Shipping Method.
customer string Customer associated with the Shipping Method.
print_label boolean Indicates if final mile relabeling is enabled for this Shipping Method.

List all Shipping Methods

curl "https://crossborder.omniship.eu/api/v3/shipping_methods"
  -H "Authorization: FkihCtzyXWvutSRUaaEupN8hvABcDefgHI6lJKvv"
  -H "Content-Type: application/json"

The above command returns JSON structured like this:

HTTP/1.1 200 OK
Content-Type:application/json;charset=UTF-8
{
  "data": [
    {
            "name": "DEDHL",
            "address": {
                "company": "DHL Bochum",
                "line_1": "Opelring 1",
                "city": "Bochum",
                "country": "DE",
                "country_full": "Germany",
                "is_pickup": false
            },
            "customer": "Acme",
            "print_label": false
        },
        {
            "name": "DEDP",
            "address": {
                "company": "Deutsche Post  Essen",
                "line_1": "Daniel-Eckhardt-Straße 7",
                "city": "Essen",
                "country": "DE",
                "country_full": "Germany",
                "is_pickup": false
            },
            "customer": "Acme",
            "print_label": false
        },
    {"..."},
    {"..."}
    ]
}

This endpoint retrieves all Shipping Methods.

HTTP Request

GET /api/v3/shipping_methods

Waybills

Example:

{
  "data": {
    "id": "1cb3480a-86d3-44f2-a36d-f082e501fd37",
    "masterWaybillNumber": "112-60318215",
    "transportType": "air",
    "customer": "Acme",
    "customer_code": "ACE",
    "status": "created",
    "statusChangeUtc": "2024-04-24T07:09:14+00:00",
    "statusChangeLocalTime": "2024-04-24T09:09:14+02:00",
    "statusChangedHuman": "1 second ago",
    "bigBagCount": 1,
    "grossWeight": 13.25,
    "airline": {
      "trackingLink": "https://www.skyteam.com/en/cargo/track-shipment/",
      "name": "China Cargo Airlines",
      "prefix": "112",
      "code": "MU",
      "copyNumber": "60318215"
    },
    "destinationFlightNumber": "CK210",
    "eta": "2024-05-26T00:00:00+02:00",
    "declarationType": "full",
    "parcels": [
      "1Z1V510W6898496192"
    ],
    "inboundComplete": false,
    "totalBagsUploaded": 0,
    "totalParcelsUploaded": 0,
    "parcelsInbound": 0,
    "parcelsInboundPercentage": "0%",
    "parcelsReleased": 0,
    "parcelsReleasedPercentage": "0 %",
    "parcelsOutbound": 0,
    "parcelsOutboundPercentage": "0%"
  }
}

A Waybill is a document that represents the contents of a shipment ready for transport and processing. It details the exact quantity, price and delivery details of the individual packages. Perform the simple operations mentioned below to create and manage your Waybill pre alert.

Attribute Type Description
id string Unique ID of a waybill. This is used as an identifier. The ID Is either created by the system or your own reference given at creation
masterWaybillNumber string Identifies the total shipment. If waybill transportType is air a validation check is done on the format of the masterWaybillNumber given.
transportType string The transport type of the waybill. Valid values are (air, road, train, sea, other).
customer string Customer name of the account associated with the waybill.
customer_code string Unique ID of a customer. This is used as an identifier.
status string Indicates the current waybill status. Values can be (pre_upload, created, noa_received, received, ready_to_scan, scanning..., pending_check, inbound, partial_inbound, part_out, outbound)
statusChangeUtc datetime Identifies the date and time of the last status change in UTC time.
statusChangeLocalTime datetime Identifies the date and time of the last status change in local time of the warehouse.
statusChangedHuman datetime Human readable representation of the time past since last status change.
bigBagCount integer Indicates the number of pieces (BigBags/Boxes/Units) expected for the shipment.
grossWeight float Indicates the given gross weight for the shipment.
airline string The airline for the incoming flight in case transportType is air.
destinationFlightNumber string The incoming flight number to the destination airport. For the Alline warehouse the destination airport is Schiphol (AMS)
eta datetime The estimated arrival time at the destination airport. (Updates automatically when right flight number and arrival date are given.
declarationType string The type of customs declaration needed for the shipment. Valid values are (full, partial, none).
inboundComplete boolean Indicates if the inbound scan is (temporarily) completed.
totalBagsUploaded integer The total number of BigBags/Boxes/Units uploaded in the system associated with this waybill.
parcelsInbound integer The total number of Parcels uploaded in the system associated with this waybill.
parcelsInboundPercentage string The percentage of parcels currently inbound.
parcelsReleased integer The total number of parcels released.
parcelsReleasedPercentage string The percentage of parcels currently released.
parcelsOutbound inbound The total number of parcels currently outbound.
parcelsOutboundPercentage string The percentage of parcels currently outbound.

Create a Waybill

curl "https://crossborder.omniship.eu/api/v3/waybills"
  -X POST
  -H "Authorization: FkihCtzyXWvutSRUaaEupN8hvABcDefgHI6lJKvv"
  -H "Content-Type: application/json"
  -d '{
        "masterWaybillNumber": "112-60318215",
        "transportType": "air",
        "grossWeight": 13.25,
        "parcelCount": 1,
        "bigBagCount": 1,
        "destinationFlightNumber": "CK210",
        "eta": "2024-05-26",
        "declarationType": "full",
        "waybillDocument": "JVBERi0xLjQKJeTjz9IKMyAwIG9iago8PC9MZW5ndGggNCAwIFIKL0ZpbHRlci9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJydlM1ymzAQx+96ij22B9uSAAnl5sbG02k+WpvJTE8dgmUPHQOJgHjch+ozdkUc18aQ4sIwArT72/9+AAOKJ8PLU+5QehCnhNXvBq8LPn8KyYBRCuEvMg0JtVZ253BTu9jTrMkzYS4w4QGjnkCGAqPJinwjtYe1oENfucg+WU48FW91RBmjwOriEK72r+czvAm3e8moQQHzFIQpqc1uyIdJHlepzkrIqvRRm4/hz1ePLhmY4TPhVFwk5UgBZ6wp4XZ+1y+so/w6rOO0l+6dsC51mmFDEy21QchKG53Fup8G6ey74LqXapDOefV1EZvkqUzyrF94X/r/G973z0qwKKOyKg6RRwFDTzoUQshzd44ZSLXftIw3QwR9zbdYxCU87mAWlXob7X4fUXk31Q6kI9uhwffre7h/0eYl0VsYwG2UJStdlCB9dyBQC/UUhSDZaFCMc0EZ9VUj7HkZbEQs4nETOB/9BfzA0grHY/8E1ZN8SuL87oaNAyG+TNnEV9N5Q44aOni0D6f09puIe7NDJKUeZkmldKiSnEoulNsLWk9bB3SdmE0BRZWUvVD15HSgoHefucvb+zyZYp/rZo9NmcQbXfRnem47czxbHGiwMnkK14sH+Jw+5absTxeinb6o0jQyO1jqeBOZyH6+PTXboeksRHPm3mN0JU4vYHSlF+zi/AqN5nqdFKX9sPGJ++KAxl/RH05bj5MKZW5kc3RyZWFtCmVuZG9iago0IDAgb2JqCjUzNgplbmRvYmoKMiAwIG9iago8PC9UeXBlL1BhZ2UKL1BhcmVudCAxIDAgUgovUmVzb3VyY2VzIDggMCBSCi9NZWRpYUJveFswIDAgODQxLjUgNTk0Ljc1XQovQ29udGVudHNbMyAwIFIgXQo+PgplbmRvYmoKOCAwIG9iago8PC9Qcm9jU2V0Wy9QREYvSW1hZ2VCL0ltYWdlQy9JbWFnZUkvVGV4dF0KL0ZvbnQ8PC9GMCA1IDAgUgovRjEgNiAwIFIKL0YyIDcgMCBSCj4+Cj4+CmVuZG9iago5IDAgb2JqCjw8L1N1YmplY3QgKEdXX0RFQ09fRllDT19PVkVSVklFVy5SRDEpCi9UaXRsZSAoR1dfREVDT19GWUNPX09WRVJWSUVXLlJEMSkKL0NyZWF0b3IgKEdhdGV3YXkgVjIpCi9BdXRob3IgKGVob2x0KQovQ3JlYXRpb25EYXRlIChEOjIwMjIwMTE3MTIwMTU1KzAxJzAwJykKL1Byb2R1Y2VyIChHV1BkZiAyLjIxIFwoQysrL1dpbjMyXCkpCj4+CmVuZG9iago1IDAgb2JqCjw8L1R5cGUvRm9udAovU3VidHlwZS9UcnVlVHlwZQovQmFzZUZvbnQvVmVyZGFuYS1Cb2xkCi9Gb250RGVzY3JpcHRvciAxMCAwIFIKL0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciAyNTUKL1dpZHRoc1sKIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAKIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAKIDM0MiA0MDIgNTg3IDg2NyA3MTEgMTI3MiA4NjIgMzMyIDU0MyA1NDMgNzExIDg2NyAzNjEgNDgwIDM2MSA2ODkKIDcxMSA3MTEgNzExIDcxMSA3MTEgNzExIDcxMSA3MTEgNzExIDcxMSA0MDIgNDAyIDg2NyA4NjcgODY3IDYxNwogOTY0IDc3NiA3NjIgNzI0IDgzMCA2ODMgNjUwIDgxMSA4MzcgNTQ2IDU1NSA3NzEgNjM3IDk0OCA4NDcgODUwCiA3MzMgODUwIDc4MiA3MTAgNjgyIDgxMiA3NjQgMTEyOCA3NjQgNzM3IDY5MiA1NDMgNjg5IDU0MyA4NjcgNzExCiA3MTEgNjY4IDY5OSA1ODggNjk5IDY2NCA0MjIgNjk5IDcxMiAzNDIgNDAzIDY3MSAzNDIgMTA1OCA3MTIgNjg3CiA2OTkgNjk5IDQ5NyA1OTMgNDU2IDcxMiA2NTAgOTc5IDY2OSA2NTEgNTk3IDcxMSA1NDMgNzExIDg2NyA3MTEKIDcxMSA3MTEgMzMyIDcxMSA1ODcgMTA0OSA3MTEgNzExIDcxMSAxNzc3IDcxMCA1NDMgMTEzNSA3MTEgNjkyIDcxMQogNzExIDMzMiAzMzIgNTg3IDU4NyA3MTEgNzExIDEwMDAgNzExIDk2NCA1OTMgNTQzIDEwNjggNzExIDU5NyA3MzcKIDM0MiA0MDIgNzExIDcxMSA3MTEgNzExIDU0MyA3MTEgNzExIDk2NCA1OTggODUwIDg2NyA0ODAgOTY0IDcxMQogNTg3IDg2NyA1OTggNTk4IDcxMSA3MjEgNzExIDM2MSA3MTEgNTk4IDU5OCA4NTAgMTE4MiAxMTgyIDExODIgNjE3CiA3NzYgNzc2IDc3NiA3NzYgNzc2IDc3NiAxMDk0IDcyNCA2ODMgNjgzIDY4MyA2ODMgNTQ2IDU0NiA1NDYgNTQ2CiA4MzAgODQ3IDg1MCA4NTAgODUwIDg1MCA4NTAgODY3IDg1MCA4MTIgODEyIDgxMiA4MTIgNzM3IDczNSA3MTMKIDY2OCA2NjggNjY4IDY2OCA2NjggNjY4IDEwMTggNTg4IDY2NCA2NjQgNjY0IDY2NCAzNDIgMzQyIDM0MiAzNDIKIDY3OSA3MTIgNjg3IDY4NyA2ODcgNjg3IDY4NyA4NjcgNjg3IDcxMiA3MTIgNzEyIDcxMiA2NTEgNjk5IDY1MQpdCi9FbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcKPj4KZW5kb2JqCjEwIDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IKL0FzY2VudCA3NjUKL0NhcEhlaWdodCA3MjcKL0Rlc2NlbnQgLTIwNwovRmxhZ3MgMjYyMTc2Ci9Gb250QkJveFstNTUwIC0zMDMgMTcwNyAxMDcyXQovRm9udE5hbWUvVmVyZGFuYSMyMEJvbGQKL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDE2NQovWEhlaWdodCA1NDgKPj4KZW5kb2JqCjYgMCBvYmoKPDwvVHlwZS9Gb250Ci9TdWJ0eXBlL1RydWVUeXBlCi9CYXNlRm9udC9DYWxpYnJpLUxpZ2h0Ci9Gb250RGVzY3JpcHRvciAxMSAwIFIKL0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciAyNTUKL1dpZHRoc1sKIDUwNyA1MDcgNTA3IDUwNyA1MDcgNTA3IDUwNyA1MDcgNTA3IDUwNyA1MDcgNTA3IDUwNyA1MDcgNTA3IDUwNwogNTA3IDUwNyA1MDcgNTA3IDUwNyA1MDcgNTA3IDUwNyA1MDcgNTA3IDUwNyA1MDcgNTA3IDUwNyA1MDcgNTA3CiAyMjYgMzI2IDM4MCA0OTggNTA3IDcwNyA2NzAgMjE0IDI5OSAyOTkgNDk4IDQ5OCAyNDUgMzA2IDI0NSAzNjIKIDUwNyA1MDcgNTA3IDUwNyA1MDcgNTA3IDUwNyA1MDcgNTA3IDUwNyAyNjMgMjYzIDQ5OCA0OTggNDk4IDQ2MwogODkyIDU2MyA1MzUgNTM1IDYwNyA0ODkgNDYwIDYyNyA2MTkgNiA1NTQgODgxIDUwMSA0NjkgNDYzIDI5NyAzNjIgMjk3IDQ5OCA0OTgKIDI4NiA0NzEgNTIwIDQyNSA1MjAgNDk0IDI5OSA0NjkgNTIwIDIyMSAyMzAgNDQxIDIyMSA3OTEgNTIwIDUyMQogNTIwIDUyMCAzNDUgMzg3IDMyOSA1MjAgNDQwIDY5OSA0MTggNDQxIDM5NCAyOTkgNDUzIDI5OSA0OTggNDk4CiA1MDcgNDk4IDI0NSAyOTkgNDA5IDY3OSA0OTggNDk4IDM5MSAxMDI1IDQ1MyAzMzYgODYzIDQ5OCA0NjMgNDk4CiA0OTggMjQ1IDI0NSA0MDkgNDA5IDQ5OCA0OTggOTA1IDQ1NCA2OTcgMzg3IDMzNiA4NTQgNDk4IDM5NCA0NjkKIDIyNiAzMjYgNDk4IDUwNyA0OTggNTA3IDQ5OCA0OTggMzgwIDgzNCAzOTUgNDk4IDQ5OCAzMDYgNTA3IDM5NgogMzM3IDQ5OCAzMzUgMzM0IDI4NyA1NDIgNTgwIDI0NSAzMTAgMjQzIDQxNiA0OTggNjI1IDY2MSA2NjEgNDYzCiA1NjMgNTYzIDU2MyA1NjMgNTYzIDU2MyA3NTcgNTM1IDQ4OSA0ODkgNDg5IDQ4OSAyNDQgMjQ0IDI0NCAyNDQKIDYxNiA2MzggNjU0IDY1NCA2NTQgNjU0IDY1NCA0OTggNjU0IDYzNiA2MzYgNjM2IDYzNiA0NjkgNTA4IDUxMgogNDcxIDQ3MSA0NzEgNDcxIDQ3MSA0NzEgNzcyIDQyNSA0OTQgNDk0IDQ5NCA0OTQgMjIxIDIyMSAyMjEgMjIxCiA1MjAgNTIwIDUyMSA1MjEgNTIxIDUyMSA1MjEgNDk4IDUyMSA1MjAgNTIwIDUyMCA1MjAgNDQxIDUyMCA0NDEKXQovRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nCj4+CmVuZG9iagoxMSAwIG9iago8PC9UeXBlL0ZvbnREZXNjcmlwdG9yCi9Bc2NlbnQgNzUwCi9DYXBIZWlnaHQgNjMyCi9EZXNjZW50IC0yNTAKL0ZsYWdzIDMyCi9Gb250QkJveFstNTExIC0yNjkgMTMwOSA5NTJdCi9Gb250TmFtZS9DYWxpYnJpIzIwTGlnaHQKL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDcxCi9YSGVpZ2h0IDQ2Mgo+PgplbmRvYmoKNyAwIG9iago8PC9UeXBlL0ZvbnQKL1N1YnR5cGUvVHJ1ZVR5cGUKL0Jhc2VGb250L1ZlcmRhbmEKL0ZvbnREZXNjcmlwdG9yIDEyIDAgUgovRmlyc3RDaGFyIDAKL0xhc3RDaGFyIDI1NQovV2lkdGhzWwogMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMAogMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMCAxMDAwIDEwMDAgMTAwMAogMzUyIDM5NCA0NTkgODE4IDYzNiAxMDc2IDcyNyAyNjkgNDU0IDQ1NCA2MzYgODE4IDM2NCA0NTQgMzY0IDQ1NAogNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDQ1NCA0NTQgODE4IDgxOCA4MTggNTQ1CiAxMDAwIDY4NCA2ODYgNjk4IDc3MSA2MzIgNTc1IDc3NSA3NTEgNDIxIDQ1NSA2OTMgNTU3IDg0MyA3NDggNzg3CiA2MDMgNzg3IDY5NSA2ODQgNjE2IDczMiA2ODQgOTg5IDY4NSA2MTUgNjg1IDQ1NCA0NTQgNDU0IDgxOCA2MzYKIDYzNiA2MDEgNjIzIDUyMSA2MjMgNTk2IDM1MiA2MjMgNjMzIDI3NCAzNDQgNTkyIDI3NCA5NzMgNjMzIDYwNwogNjIzIDYyMyA0MjcgNTIxIDM5NCA2MzMgNTkyIDgxOCA1OTIgNTkyIDUyNSA2MzUgNDU0IDYzNSA4MTggNTQ1CiA2MzYgNTQ1IDI2OSA2MzYgNDU5IDgxOCA2MzYgNjM2IDYzNiAxNTIxIDY4NCA0NTQgMTA3MCA1NDUgNjg1IDU0NQogNTQ1IDI2OSAyNjkgNDU5IDQ1OSA1NDUgNjM2IDEwMDAgNjM2IDk3NyA1MjEgNDU0IDk4MSA1NDUgNTI1IDYxNQogMzUyIDM5NCA2MzYgNjM2IDYzNiA2MzYgNDU0IDYzNiA2MzYgMTAwMCA1NDUgNjQ1IDgxOCA0NTQgMTAwMCA2MzYKIDU0MiA4MTggNTQyIDU0MiA2MzYgNjQwIDYzNiAzNjQgNjM2IDU0MiA1NDUgNjQ1IDEwMDAgMTAwMCAxMDAwIDU0NQogNjg0IDY4NCA2ODQgNjg0IDY4NCA2ODQgOTg0IDY5OCA2MzIgNjMyIDYzMiA2MzIgNDIxIDQyMSA0MjEgNDIxCiA3NzUgNzQ4IDc4NyA3ODcgNzg3IDc4NyA3ODcgODE4IDc4NyA3MzIgNzMyIDczMiA3MzIgNjE1IDYwNSA2MjAKIDYwMSA2MDEgNjAxIDYwMSA2MDEgNjAxIDk1NSA1MjEgNTk2IDU5NiA1OTYgNTk2IDI3NCAyNzQgMjc0IDI3NAogNjEyIDYzMyA2MDcgNjA3IDYwNyA2MDcgNjA3IDgxOCA2MDcgNjMzIDYzMyA2MzMgNjMzIDU5MiA2MjMgNTkyCl0KL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZwo+PgplbmRvYmoKMTIgMCBvYmoKPDwvVHlwZS9Gb250RGVzY3JpcHRvcgovQXNjZW50IDc2NQovQ2FwSGVpZ2h0IDcyNwovRGVzY2VudCAtMjA3Ci9GbGFncyAzMgovRm9udEJCb3hbLTU2MCAtMzAzIDE1MjMgMTA1MV0KL0ZvbnROYW1lL1ZlcmRhbmEKL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDg3Ci9YSGVpZ2h0IDU0NQo+PgplbmRvYmoKMSAwIG9iago8PC9UeXBlL1BhZ2VzCi9Db3VudCAxCi9LaWRzWzIgMCBSCl0+PgplbmRvYmoKMTMgMCBvYmoKPDwvVHlwZS9DYXRhbG9nCi9QYWdlcyAxIDAgUgo+PgplbmRvYmoKeHJlZgowIDE0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwNTI5OCAwMDAwMCBuIAowMDAwMDAwNjQyIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwMDYyMyAwMDAwMCBuIAowMDAwMDAxMDU4IDAwMDAwIG4gCjAwMDAwMDI0OTQgMDAwMDAgbiAKMDAwMDAwMzg4MiAwMDAwMCBuIAowMDAwMDAwNzUwIDAwMDAwIG4gCjAwMDAwMDA4NTEgMDAwMDAgbiAKMDAwMDAwMjMwMiAwMDAwMCBuIAowMDAwMDAzUjk1IDAwMDAwIG4gCjAwMDAwMDUxMTggMDAwMDAgbiAKMDAwMDAwNTM1MiAwMDAwMCBuIAp0cmFpbGVyCjw8L1NpemUgMTQKL1Jvb3QgMTMgMCBSCi9JbmZvIDkgMCBSCi9JRFs8RjIwNENBMUE5Nzg1ODdDRjE2QUFDQkNGQ0M4ODg5QkT+PEYyMDRDQTFBOTc4NTg3Q0YxNkFBQ0JDRkNDODg4OUJEPl0KPj4Kc3RhcnR4cmVmCjU0MDAKJSVFT0YL"
      }'

The above command returns JSON structured like this:

HTTP/1.1 201 Created
Content-Type:application/json;charset=UTF-8
{
  "data": {
    "id": "1cb3480a-86d3-44f2-a36d-f082e501fd37",
    "masterWaybillNumber": "112-60318215",
    "transportType": "air",
    "customer": "Acme",
    "customer_code": "ACE",
    "status": "pre_upload",
    "statusChangeUtc": "2024-04-24T07:03:54+00:00",
    "statusChangeLocalTime": "2024-04-24T09:03:54+02:00",
    "statusChangedHuman": "1 second ago",
    "bigBagCount": 1,
    "grossWeight": 13.25,
    "airline": {
      "trackingLink": "https:\/\/www.skyteam.com\/en\/cargo\/track-shipment\/",
      "name": "China Cargo Airlines",
      "prefix": "112",
      "code": "MU",
      "copyNumber": "60318215"
    },
    "destinationFlightNumber": "KE0925",
    "eta": "2024-05-25T22:00:00.000000Z",
    "declarationType": "full",
    "parcels": []
  }
}

This endpoint creates a new Waybill pre alert in ALLINE cross border.

HTTP Request

POST /api/v3/waybills

Arguments

Attribute Type Description
masterWaybillNumber string required Unique number of the waybill. This number cannot already exist in the database for the same customer.
reference string optional Unique reference/id of the waybill. The reference cannot already exist in the database for the same customer. If set the reference will be the ID to reference the Waybill in all requests further in the Waybill lifecycle
customerCode string The unique customer code. This code should reflect a customer code in the database. Only required if account has sub-customers.
transportType string required The type of waybill. Valid values are air, road, train, other
grossWeight float required The given gross weight for the shipment. Should be the same as the gross weight on the Air Waybill copy.
parcelCount integer required The number of parcels contained in the shipment.
bigBagCount integer required The number of bigBags/Boxes/Units contained in the shipment.
destinationFlightNumber string optional The incoming flight number to the destination airport. For the Alline warehouse the destination airport is Schiphol (AMS).
eta date optional The estimated arrival date at the destination airport. The date should be in the timezone of the destination in format yyyy-mm-dd.
declarationType string optional Indicates if Alline should process the customs declaration for this shipment. Valid values are full, partial, none Default is full.
waybillDocument base64_string Required If waybill_type is air base64 encoded pdf file of the Waybill Document associated with the shipment.

Retrieve a Specific Waybill

curl "https://crossborder.omniship.eu/api/v3/waybills/4dcdea18-afb4-4c38-8541-9b83056a5667"
  -H "Authorization: FkihCtzyXWvutSRUaaEupN8hvABcDefgHI6lJKvv"
  -H "Content-Type: application/json"

The above command returns JSON structured like this:

HTTP/1.1 200 OK
Content-Type:application/json;charset=UTF-8
{
  "data": {
    "id": "1cb3480a-86d3-44f2-a36d-f082e501fd37",
    "masterWaybillNumber": "112-60318215",
    "transportType": "air",
    "customer": "Acme",
    "customer_code": "ACE",
    "status": "created",
    "statusChangeUtc": "2024-04-24T07:09:14+00:00",
    "statusChangeLocalTime": "2024-04-24T09:09:14+02:00",
    "statusChangedHuman": "4 minutes ago",
    "bigBagCount": 1,
    "grossWeight": 13.25,
    "airline": {
      "trackingLink": "https:\/\/www.skyteam.com\/en\/cargo\/track-shipment\/",
      "name": "China Cargo Airlines",
      "prefix": "112",
      "code": "MU",
      "copyNumber": "60318215"
    },
    "destinationFlightNumber": "KE0925",
    "eta": "2024-05-26T00:00:00+02:00",
    "declarationType": "full",
    "parcels": [
      "1Z1V510W6898496192"
    ],
    "inboundComplete": false,
    "totalBagsUploaded": 1,
    "totalParcelsUploaded": 1,
    "parcelsInbound": 0,
    "parcelsInboundPercentage": "0%",
    "parcelsReleased": 0,
    "parcelsReleasedPercentage": "0 %",
    "parcelsOutbound": 0,
    "parcelsOutboundPercentage": "0%"
  }
}

This endpoint retrieves a specific Waybill.

HTTP Request

GET /api/v3/waybills/<ID>

URL Parameters

Parameter Description
ID Alline Waybill ID provided when creating the Waybill. The ID was given at creation of the waybill and was either generated or is the given reference.

Create and add a Parcel to a Waybill

curl "https://crossborder.omniship.eu/api/v3/waybills/4dcdea18-afb4-4c38-8541-9b83056a5667/parcels"
  -X POST
  -H "Authorization: FkihCtzyXWvutSRUaaEupN8hvABcDefgHI6lJKvv"
  -H "Content-Type: application/json"
  -d '{
    "waybillId": "4dcdea18-afb4-4c38-8541-9b83056a5667",
    "transactionType": "B2C",
    "finalMileTrackingNumber": "1Z1V510W6898496192",
    "bigBagBarcode": "DE202301009-001",
    "sellerDetails": {
        "name": "Shenzhen Duhua technology Co., LTD",
        "street": "Room 402, Building 2, Building B, No. 23 Wanli Road, Henggang Street",
        "zipcode": "51800",
        "city": "Shenzen",
        "countryCode": "CN",
        "iossNumber": "1ZoTwmSCWm/iQY3utehUVQ=="
    },
    "buyerDetails": {
        "name": "juan luis garcia azpitarte",
        "street": "pol. ind. calle tinajuela 39 18657 niguelas Granada Spain",
        "zipcode": "18657",
        "city": "Niguelas",
        "countryCode": "ES"
    },
    "items": [{
        "hsCode": "950691",
        "description": "DUMBBELL SET",
        "quantity": 4,
        "weight": 22.95,
        "invoiceCurrency": "EUR",
        "invoiceAmount": 119.99,
        "freightValue": 3.30
    }],
    "shippingMethod": "DPD145"
  }'

The above command returns JSON structured like this:

HTTP/1.1 201 Created
Content-Type:application/json;charset=UTF-8
{
  "data": {
    "id": "711277a6-239b-4992-ab4a-cac276a27e21",
    "state": "pre_upload",
    "waybillId": "1cb3480a-86d3-44f2-a36d-f082e501fd37",
    "waybillNumber": "112-60318215",
    "finalMileTrackingNumber": "1Z1V510W6898496192",
    "bigBagBarcode": "DE202301009-001",
    "shippingMethod": "DPD145",
    "sellerDetails": {
      "name": "Shenzhen Duhua technology Co., LTD",
      "street": "Room 402, Building 2, Building B, No. 23 Wanli Road, Henggang Street",
      "zipcode": "51800",
      "city": "Shenzen",
      "countryCode": "CN",
      "iossNumber": "1ZoTwmSCWm/iQY3utehUVQ=="
    },
    "buyerDetails": {
      "name": "juan luis garcia azpitarte",
      "street": "pol. ind. calle tinajuela 39 18657 niguelas Granada Spain",
      "zipcode": "18657",
      "city": "Niguelas",
      "countryCode": "ES"
    },
    "items": [
      {
        "hsCode": "950691",
        "description": "DUMBBELL SET",
        "quantity": "4",
        "weight": 22.95,
        "invoiceCurrency": "EUR",
        "invoiceAmount": "119.99",
        "freightValue": "3.30"
      }
    ]
  }
}

This endpoint creates a new Parcel and adds it to the given Waybill pre alert in the ALLINE cross border system.

HTTP Request

POST /api/v3/waybills/<ID>/parcels

URL Parameters

Parameter Description
ID The ID of the Waybill for which a Parcel needs added. The ID was given at creation of the waybill and was either generated or is the given reference.

Arguments

Attribute Type Description
transactionType string Optional Type of transaction. Valid values are B2C, B2B. Default value is B2C.
finalMileTrackingNumber string required Tracking number of the final mile parcel. This number cannot already exist in the master waybill.
bigBagBarcode string required Barcode of the bag/box/unit containing the parcel(s). If there is only one parcel and no containing unit with a barcode, the finalMileTrackingNumber can be used instead.
sellerDetails object required Address object that should be used as sender address.
buyerDetails object required Address object that should be used as buyer address.
items array required Array of Customs Item objects with details of the products in the shipment for customs.
shippingMethod string required Shipping Method

Address Object definitions:

Field Name
Type
Description

name

string

required Address contact name. Maximum: 70 characters

street

string

required Address street line. Maximum: 70 characters

zipcode

string

required if Country is postal aware. Address Zip code.

city

string

required Address city

countryCode

string

required Address country code in Alpha 2 Format (ISO 3166-1)

iossNumber

string

Required If transactionType is B2C and the parcel should be declared to customs. Only for sellerDetails

CustomsItem definitions:

Field Name
Type
Description

hsCode

string

required Harmonized Tariff Code of the item being shipped

description

string

required Description of the item being shipped

quantity

integer

optional Quantity of the item to be shipped, must be greater than zero. Defaults to 1

weight

object

required The weight of the item being shipped

invoiceCurrency

string

required The currency of the item value

invoiceAmount

float

required Total Value of the item line

freightValue

float

optional Freight Value of the item line

sku

string

optional Product SKU

Remove a Parcel from a Waybill

A parcel can only be removed from a waybill when the waybill is not yet confirmed

curl "https://crossborder.omniship.eu/api/v3/waybills/4dcdea18-afb4-4c38-8541-9b83056a5667/parcels/a51133c1-a0a4-4867-9507-18a6082aaacc"
  -X DELETE
  -H "Authorization: Bearer FkihCtzyXWvutSRUaaEupN8hvABcDefgHI6lJKvv"
  -H "Content-Type: application/json"

The above command returns JSON structured like this:

HTTP/1.1 204 No Content
Content-Type:application/json;charset=UTF-8

HTTP Request

DELETE /api/v3/waybills/<WaybillID>/parcels/<ParcelID>

URL Parameters

Parameter Description
WaybillID The ID of the Waybill from which a Parcel needs to be removed. The ID was given at creation of the waybill and was either generated or is the given reference.
ParcelID The ID of the Parcel to be removed

Confirm a Waybill upload

curl "https://crossborder.omniship.eu/api/v3/waybills/4dcdea18-afb4-4c38-8541-9b83056a5667/confirm"
  -X PUT
  -H "Authorization: FkihCtzyXWvutSRUaaEupN8hvABcDefgHI6lJKvv"
  -H "Content-Type: application/json"

The above command returns JSON structured like this:

HTTP/1.1 200 OK
Content-Type:application/json;charset=UTF-8
{
  "data": {
    "id": "1cb3480a-86d3-44f2-a36d-f082e501fd37",
    "masterWaybillNumber": "112-60318215",
    "transportType": "air",
    "customer": "Acme",
    "customer_code": "ACE",
    "status": "created",
    "statusChangeUtc": "2024-04-24T07:09:14+00:00",
    "statusChangeLocalTime": "2024-04-24T09:09:14+02:00",
    "statusChangedHuman": "4 minutes ago",
    "bigBagCount": 1,
    "grossWeight": 13.25,
    "airline": {
      "trackingLink": "https:\/\/www.skyteam.com\/en\/cargo\/track-shipment\/",
      "name": "China Cargo Airlines",
      "prefix": "112",
      "code": "MU",
      "copyNumber": "60318215"
    },
    "destinationFlightNumber": "KE0925",
    "eta": "2024-05-26T00:00:00+02:00",
    "declarationType": "full",
    "parcels": [
      "1Z1V510W6898496192"
    ],
    "inboundComplete": false,
    "totalBagsUploaded": 1,
    "totalParcelsUploaded": 1,
    "parcelsInbound": 0,
    "parcelsInboundPercentage": "0%",
    "parcelsReleased": 0,
    "parcelsReleasedPercentage": "0 %",
    "parcelsOutbound": 0,
    "parcelsOutboundPercentage": "0%"
  }
}

This endpoint confirms a new AirWaybill in ALLINE cross border after all parcels have been added through the add-parcel endpoint and the waybill is ready to be created and processed.

HTTP Request

PUT /api/v3/waybills/<ID>/confirm

URL Parameters

Parameter Description
ID The ID of the Waybill to confirm. The ID was given at creation of the waybill and was either generated or is the given reference.

Delete a Waybill

A Waybill can only be removed when the state is pre_upload, created or noa_received

curl "https://crossborder.omniship.eu/api/v3/waybills/4dcdea18-afb4-4c38-8541-9b83056a5667"
  -X DELETE
  -H "Authorization: Bearer FkihCtzyXWvutSRUaaEupN8hvABcDefgHI6lJKvv"
  -H "Content-Type: application/json"

The above command returns JSON structured like this:

HTTP/1.1 204 No Content
Content-Type:application/json;charset=UTF-8

HTTP Request

DELETE /api/v3/waybills/<ID>/

URL Parameters

Parameter Description
ID The ID of the Waybill that needs to be deleted. The ID was given at creation of the waybill and was either generated or is the given reference.

Webhooks

This guide will walk you through the webhooks functionality to obtain messages about shipment events. Messages are sent on triggering the following events:

ALLINE can send webhook events to notify your application when a particular event has occurred. If you subscribe to the webhook to receive shipment status updates, you will be notified about the new status without polling our API.

The payload for each webhook event will include information about the related API response. Your provided endpoint should be set up to receive an HTTP POST request and must always return a 200 HTTP response.|

To prevent your application against a replay attack, we recommend that you verify all incoming webhook events by validating our unique signature, X-ALLINE-SIGNATURE, in the headers.

The signature is a token that can be decoded with the value of your secret_key. You can get it from your account representative. It will always be a hash string starting with webh_.

Webhooks parcel.status.updated

When your shipment's tracking status changed, you'll get the event payload as below:

parcel.state.updated


{
  "event_type": "parcel.state.updated",
  "resource_type": "parcel",
  "resource_id": "a51133c1-a0a4-4867-9507-18a6082aaacc",
  "parcel_state": {
    "id": "a51133c1-a0a4-4867-9507-18a6082aaacc",
    "finalMileTrackingNumber": "1Z1V510W6898496192",
    "parcelState": "created",
    "freightValue": 3.30,
    "currency": "EUR",
    "inboundUtc": null,
    "inboundLocalTime": null,
    "releasedUtc": null
    "releasedLocalTime": null,
    "outboundUtc": null
    "outboundLocalTime": null
    "lastUpdatedUtc": "2024-05-26T14:03:26",
    "lastUpdatedLocalTime": "2024-05-26T15:03:26"
  }
}

Webhooks waybill.status.updated

When your shipment's tracking status changed, you'll get the event payload as below:

waybill.state.updated


{
  "event_type": "waybill.state.updated",
  "resource_type": "waybill",
  "resource_id": "4dcdea18-afb4-4c38-8541-9b83056a5667",
  "waybill_state": {
    "number": "180-19687301",
    "customer": "Acme",
    "waybill_state": "created",
    "updated_at_utc": "2024-05-26T14:05:32",
    "updated_at_local_time": "2024-05-26T15:05:32",
  }
}

Errors

The Cross Border API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The resource requested is hidden for administrators only.
404 Not Found -- The specified resource could not be found.
405 Method Not Allowed -- You tried to access a kitten with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The resource requested has been removed from our servers.
422 Unprocessable Entity -- The server was unable to process the request because it contains invalid data.
429 Too Many Requests -- You're requesting too many resources.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.