DEVELOPERS / KLANTINTEGRATIE

Van eerste request tot verbonden verzendproces.

Authenticeer, maak zendingen en labels aan en volg je transport. Ontwikkel met concrete JSON-voorbeelden uit de Customer Integration v2 Postman-collectie.

BASIS-URLhttps://api.mmcore.techJSON9 REQUESTS
START HIER

Je eerste integratie

  1. Importeer de collectie

    Open de online Postman-documentatie en gebruik de collectie in Postman. Stel baseUrl, authUsername en authPassword in als collectievariabelen met je eigen credentials.

  2. Haal een API-key op

    Voer GET /auth uit. Het Postman-script bewaart de ontvangen apikey in de variabele apiKey.

  3. Pas je zending aan

    Vervang voorbeeldadressen en carrier_id / carrier_option_id door gegevens voor jouw account. DO=Y retourneert direct labelinhoud.

v2 is de naam van de Postman-collectie, geen URL-prefix. Gebruik de routes hieronder. Voer requests uit vanuit je backend en houd credentials uit browsercode en logs.

01 / GETAPI-key aanmaken/auth

Authenticeer met de headers AUTH_USER en AUTH_PW. Sla het veld apikey uit de response veilig op voor volgende requests.

GET/auth

Headers

NaamWaarde
AUTH_USER{{authUsername}}
AUTH_PW{{authPassword}}
cURL · Bash
curl --request GET "https://api.mmcore.tech/auth" \
  --header "AUTH_USER: ${MMCORE_AUTH_USER}" \
  --header "AUTH_PW: ${MMCORE_AUTH_PASSWORD}"

Responsevoorbeelden

200 · API-key aangemaakt
application/json
{
  "state": "true",
  "message": "APIKey gegenereerd.",
  "Errors": "",
  "accessByHeader": "Y",
  "id": "EXAMPLE_CUSTOMER_ID",
  "id2": "EXAMPLE_ACCOUNT_ID",
  "name": "Example Customer",
  "apikey": "EXAMPLE_API_KEY",
  "DatumTijd": "2025-07-01 15:00:00"
}

02 / POSTZending aanmaken/action/{{apiKey}}/101?o=JSON

Maak een zending aan met een JSON-body zonder shipment_details. Gebruik carrier- en service-ID's die voor jouw account zijn ingericht.

POST/action/{{apiKey}}/101?o=JSON

print_phone_number is een afdrukinstelling; het telefoonnummer van de ontvanger staat in phone_number. De collectie gebruikt false of "Y" als voorbeeldwaarde voor de afdrukinstelling. print_logo_on_label bepaalt of het logo op het label wordt afgedrukt. return_label bepaalt of het voorbeeld een retourlabel aanvraagt; DO=Y bepaalt of de response direct labelinhoud bevat.

Headers

NaamWaarde
Content-Typeapplication/json

Queryparameters

NaamVoorbeeldwaarde
oJSON
cURL · Bash
curl --request POST "https://api.mmcore.tech/action/${MMCORE_API_KEY}/101?o=JSON" \
  --header 'Content-Type: application/json' \
  --data-binary @request.json
request.json
{
  "created_by": "CustomerMiddleware",
  "print_phone_number": false,
  "print_logo_on_label": true,
  "carrier_id": 9999,
  "carrier_option_id": 0,
  "signature_required": false,
  "number_of_packages": 1,
  "weight": 1.2,
  "length": 10,
  "width": 30,
  "height": 20,
  "is_company": true,
  "company_name": "Example Company",
  "first_name": "John",
  "last_name": "Doe",
  "email": "john.doe@example.com",
  "phone_number": "+31612345678",
  "content": "Consumer goods",
  "street": "Example Street",
  "house_number": "1",
  "postal_code": "1234AB",
  "city": "Amsterdam",
  "country": "NL",
  "reference": "ORDER-10001",
  "reference2": "CUSTOMER-20002",
  "return_label": false
}
Bodyvelden en voorbeeldtypen

Typen zijn afgeleid van het collectievoorbeeld. De collectie bevat geen volledige required/optional-validatiespecificatie.

VeldType
created_bystring
print_phone_numberboolean
print_logo_on_labelboolean
carrier_idnumber
carrier_option_idnumber
signature_requiredboolean
number_of_packagesnumber
weightnumber
lengthnumber
widthnumber
heightnumber
is_companyboolean
company_namestring
first_namestring
last_namestring
emailstring
phone_numberstring
contentstring
streetstring
house_numberstring
postal_codestring
citystring
countrystring
referencestring
reference2string
return_labelboolean

Responsevoorbeelden

200 · Labelinhoud direct (DO=Y)
application/json
{
  "status": true,
  "labels": [
    {
      "barcode": "EXAMPLE_TRACKING_NUMBER",
      "labeltype": "pdf",
      "encodeType": "base64",
      "content": "Base64Label",
      "carrierId": "9999",
      "carrierOptionId": "0",
      "shipmentId": "EXAMPLE_SHIPMENT_ID"
    }
  ],
  "shipmentID": "EXAMPLE_SHIPMENT_ID",
  "SubLogID": "EXAMPLE_SUBLOG_ID"
}
200 · Zending aangemaakt (DO=N)
application/json
{
  "state": "true",
  "message": "Shipment created.",
  "Errors": "",
  "ActionName": 101,
  "carrierId": "9999",
  "carrierOptionId": "0",
  "logId": "EXAMPLE_LOG_ID",
  "parcelInformation": {
    "MinL": "15.000",
    "MaxL": "200.000",
    "DBMinB": "10.000",
    "DBMaxB": "80.000",
    "DBMinH": "0.000",
    "DBMaxH": "60.000",
    "DBMinGewicht": "0.000",
    "DBMaxGewicht": "31.000",
    "DBMaxVolume": "200",
    "DBMaxOmtrek": "300"
  },
  "Pricing": null,
  "trace": "https://example.com/tracking/EXAMPLE_TRACKING_NUMBER",
  "zpl": "",
  "ZendingID": 123456,
  "Barcode": "EXAMPLE_TRACKING_NUMBER",
  "url": "https://example.com/labels/EXAMPLE_SHIPMENT_ID"
}

03 / POSTZending met douanegegevens/action/{{apiKey}}/101?o=JSON

Voeg shipment_details toe aan dezelfde shipment-route voor commerciële factuur- en douanegegevens, inclusief afzender, ontvanger en invoice_items.

POST/action/{{apiKey}}/101?o=JSON

Headers

NaamWaarde
Content-Typeapplication/json

Queryparameters

NaamVoorbeeldwaarde
oJSON
cURL · Bash
curl --request POST "https://api.mmcore.tech/action/${MMCORE_API_KEY}/101?o=JSON" \
  --header 'Content-Type: application/json' \
  --data-binary @request.json
request.json
{
  "created_by": "CustomerMiddleware",
  "print_phone_number": false,
  "print_logo_on_label": true,
  "carrier_id": 9999,
  "carrier_option_id": 0,
  "signature_required": false,
  "number_of_packages": 1,
  "weight": 1.2,
  "length": 10,
  "width": 30,
  "height": 20,
  "is_company": false,
  "company_name": "",
  "first_name": "John",
  "last_name": "Doe",
  "email": "john.doe@example.com",
  "phone_number": "+31612345678",
  "content": "Consumer goods",
  "street": "Example Street",
  "house_number": "1",
  "postal_code": "10001",
  "city": "New York",
  "country": "US",
  "reference": "ORDER-10001",
  "reference2": "CUSTOMER-20002",
  "return_label": false,
  "shipment_details": {
    "invoice_number": "INV-10001",
    "invoice_date": "2026-05-06",
    "invoice_terms": "DDP",
    "invoice_currency": "EUR",
    "invoice_reason": "Sale",
    "sender": {
      "invoice_sender_company_name": "Example Seller B.V.",
      "invoice_sender_name": "Jane Seller",
      "invoice_sender_street": "Seller Street",
      "invoice_sender_house_number": "10",
      "invoice_sender_postal_code": "1234AB",
      "invoice_sender_city": "Amsterdam",
      "invoice_sender_country": "NL",
      "invoice_sender_email": "seller@example.com",
      "invoice_sender_phone_number": "+12025550123",
      "invoice_sender_type": "Y",
      "invoice_sender_vat_number": "NL000000000B00",
      "invoice_sender_eori_number": "NL000000000"
    },
    "recipient": {
      "invoice_recipient_company_name": "",
      "invoice_recipient_name": "John Doe",
      "invoice_recipient_street": "Example Street",
      "invoice_recipient_house_number": "1",
      "invoice_recipient_postal_code": "10001",
      "invoice_recipient_city": "New York",
      "invoice_recipient_country": "US",
      "invoice_recipient_email": "john.doe@example.com",
      "invoice_recipient_phone_number": "+12025550123",
      "invoice_recipient_type": "N",
      "invoice_recipient_vat_number": "",
      "invoice_recipient_eori_number": ""
    },
    "invoice_items": [
      {
        "productcode": "SKU-123456",
        "product": "Cotton T-shirt",
        "quantity": 1,
        "tariffcode": "610910",
        "country_origin": "CN",
        "weight": 0.2,
        "itemprice": 14.9
      }
    ]
  }
}
Bodyvelden en voorbeeldtypen

Typen zijn afgeleid van het collectievoorbeeld. De collectie bevat geen volledige required/optional-validatiespecificatie.

VeldType
created_bystring
print_phone_numberboolean
print_logo_on_labelboolean
carrier_idnumber
carrier_option_idnumber
signature_requiredboolean
number_of_packagesnumber
weightnumber
lengthnumber
widthnumber
heightnumber
is_companyboolean
company_namestring
first_namestring
last_namestring
emailstring
phone_numberstring
contentstring
streetstring
house_numberstring
postal_codestring
citystring
countrystring
referencestring
reference2string
return_labelboolean
shipment_detailsobject
shipment_details.invoice_numberstring
shipment_details.invoice_datestring
shipment_details.invoice_termsstring
shipment_details.invoice_currencystring
shipment_details.invoice_reasonstring
shipment_details.senderobject
shipment_details.sender.invoice_sender_company_namestring
shipment_details.sender.invoice_sender_namestring
shipment_details.sender.invoice_sender_streetstring
shipment_details.sender.invoice_sender_house_numberstring
shipment_details.sender.invoice_sender_postal_codestring
shipment_details.sender.invoice_sender_citystring
shipment_details.sender.invoice_sender_countrystring
shipment_details.sender.invoice_sender_emailstring
shipment_details.sender.invoice_sender_phone_numberstring
shipment_details.sender.invoice_sender_typestring
shipment_details.sender.invoice_sender_vat_numberstring
shipment_details.sender.invoice_sender_eori_numberstring
shipment_details.recipientobject
shipment_details.recipient.invoice_recipient_company_namestring
shipment_details.recipient.invoice_recipient_namestring
shipment_details.recipient.invoice_recipient_streetstring
shipment_details.recipient.invoice_recipient_house_numberstring
shipment_details.recipient.invoice_recipient_postal_codestring
shipment_details.recipient.invoice_recipient_citystring
shipment_details.recipient.invoice_recipient_countrystring
shipment_details.recipient.invoice_recipient_emailstring
shipment_details.recipient.invoice_recipient_phone_numberstring
shipment_details.recipient.invoice_recipient_typestring
shipment_details.recipient.invoice_recipient_vat_numberstring
shipment_details.recipient.invoice_recipient_eori_numberstring
shipment_details.invoice_itemsarray
shipment_details.invoice_items[].productcodestring
shipment_details.invoice_items[].productstring
shipment_details.invoice_items[].quantitynumber
shipment_details.invoice_items[].tariffcodestring
shipment_details.invoice_items[].country_originstring
shipment_details.invoice_items[].weightnumber
shipment_details.invoice_items[].itempricenumber

Responsevoorbeelden

200 · Labelinhoud direct (DO=Y)
application/json
{
  "status": true,
  "labels": [
    {
      "barcode": "EXAMPLE_TRACKING_NUMBER",
      "labeltype": "pdf",
      "encodeType": "base64",
      "content": "Base64Label",
      "carrierId": "9999",
      "carrierOptionId": "0",
      "shipmentId": "EXAMPLE_SHIPMENT_ID"
    }
  ],
  "shipmentID": "EXAMPLE_SHIPMENT_ID",
  "SubLogID": "EXAMPLE_SUBLOG_ID"
}
200 · Zending aangemaakt (DO=N)
application/json
{
  "state": "true",
  "message": "Shipment created.",
  "Errors": "",
  "ActionName": 101,
  "carrierId": "9999",
  "carrierOptionId": "0",
  "logId": "EXAMPLE_LOG_ID",
  "parcelInformation": {
    "MinL": "15.000",
    "MaxL": "200.000",
    "DBMinB": "10.000",
    "DBMaxB": "80.000",
    "DBMinH": "0.000",
    "DBMaxH": "60.000",
    "DBMinGewicht": "0.000",
    "DBMaxGewicht": "31.000",
    "DBMaxVolume": "200",
    "DBMaxOmtrek": "300"
  },
  "Pricing": null,
  "trace": "https://example.com/tracking/EXAMPLE_TRACKING_NUMBER",
  "zpl": "",
  "ZendingID": 123456,
  "Barcode": "EXAMPLE_TRACKING_NUMBER",
  "url": "https://example.com/labels/EXAMPLE_SHIPMENT_ID"
}

04 / POSTZending en label aanmaken/action/{{apiKey}}/101?o=JSON&DO=Y

Voeg DO=Y toe om direct labelinhoud terug te krijgen. Bewaar SubLogID voor supportvragen, shipmentID voor de zending en labels[].barcode voor tracking.

POST/action/{{apiKey}}/101?o=JSON&DO=Y

Headers

NaamWaarde
Content-Typeapplication/json

Queryparameters

NaamVoorbeeldwaarde
oJSON
DOY
cURL · Bash
curl --request POST "https://api.mmcore.tech/action/${MMCORE_API_KEY}/101?o=JSON&DO=Y" \
  --header 'Content-Type: application/json' \
  --data-binary @request.json
request.json
{
  "created_by": "CustomerMiddleware",
  "print_phone_number": "Y",
  "print_logo_on_label": true,
  "carrier_id": 9999,
  "carrier_option_id": 0,
  "signature_required": false,
  "number_of_packages": 1,
  "weight": 1.2,
  "length": 10,
  "width": 30,
  "height": 20,
  "is_company": true,
  "company_name": "Example Company",
  "first_name": "John",
  "last_name": "Doe",
  "email": "john.doe@example.com",
  "phone_number": "+31612345678",
  "content": "Consumer goods",
  "street": "Example Street",
  "house_number": "1",
  "postal_code": "1234AB",
  "city": "Amsterdam",
  "country": "NL",
  "reference": "ORDER-10001",
  "reference2": "CUSTOMER-20002",
  "return_label": true
}
Bodyvelden en voorbeeldtypen

Typen zijn afgeleid van het collectievoorbeeld. De collectie bevat geen volledige required/optional-validatiespecificatie.

VeldType
created_bystring
print_phone_numberstring
print_logo_on_labelboolean
carrier_idnumber
carrier_option_idnumber
signature_requiredboolean
number_of_packagesnumber
weightnumber
lengthnumber
widthnumber
heightnumber
is_companyboolean
company_namestring
first_namestring
last_namestring
emailstring
phone_numberstring
contentstring
streetstring
house_numberstring
postal_codestring
citystring
countrystring
referencestring
reference2string
return_labelboolean

Responsevoorbeelden

200 · Labelinhoud direct (DO=Y)
application/json
{
  "status": true,
  "labels": [
    {
      "barcode": "EXAMPLE_TRACKING_NUMBER",
      "labeltype": "pdf",
      "encodeType": "base64",
      "content": "Base64Label",
      "carrierId": "9999",
      "carrierOptionId": "0",
      "shipmentId": "EXAMPLE_SHIPMENT_ID"
    }
  ],
  "shipmentID": "EXAMPLE_SHIPMENT_ID",
  "SubLogID": "EXAMPLE_SUBLOG_ID"
}
200 · Zending aangemaakt (DO=N)
application/json
{
  "state": "true",
  "message": "Shipment created.",
  "Errors": "",
  "ActionName": 101,
  "carrierId": "9999",
  "carrierOptionId": "0",
  "logId": "EXAMPLE_LOG_ID",
  "parcelInformation": {
    "MinL": "15.000",
    "MaxL": "200.000",
    "DBMinB": "10.000",
    "DBMaxB": "80.000",
    "DBMinH": "0.000",
    "DBMaxH": "60.000",
    "DBMinGewicht": "0.000",
    "DBMaxGewicht": "31.000",
    "DBMaxVolume": "200",
    "DBMaxOmtrek": "300"
  },
  "Pricing": null,
  "trace": "https://example.com/tracking/EXAMPLE_TRACKING_NUMBER",
  "zpl": "",
  "ZendingID": 123456,
  "Barcode": "EXAMPLE_TRACKING_NUMBER",
  "url": "https://example.com/labels/EXAMPLE_SHIPMENT_ID"
}

05 / POSTZending op klantaccount aanmaken/action/{{apiKey}}/101?o=JSON&DO=Y

Maak een zending aan op een klantaccount met customer_data.customer_uuid en customer_data.customer_number. Je vindt customer_uuid op de pagina Gebruikers in het MMCore-portaal. Gebruik de identifiers van het betreffende klantaccount. DO=Y retourneert direct de labelinhoud; bewaar SubLogID voor supportvragen.

POST/action/{{apiKey}}/101?o=JSON&DO=Y

Headers

NaamWaarde
Content-Typeapplication/json

Queryparameters

NaamVoorbeeldwaarde
oJSON
DOY
cURL · Bash
curl --request POST "https://api.mmcore.tech/action/${MMCORE_API_KEY}/101?o=JSON&DO=Y" \
  --header 'Content-Type: application/json' \
  --data-binary @request.json
request.json
{
    "created_by": "CustomerMiddleware",
    "print_phone_number": "Y",
    "print_logo_on_label": true,
    "carrier_id": 9999,
    "carrier_option_id": 0,
    "signature_required": false,
    "number_of_packages": 1,
    "weight": 1.2,
    "length": 10,
    "width": 30,
    "height": 20,
    "is_company": true,
    "company_name": "Example Company",
    "first_name": "John",
    "last_name": "Doe",
    "email": "john.doe@example.com",
    "phone_number": "+31612345678",
    "content": "Consumer goods",
    "street": "Example Street",
    "house_number": "1",
    "postal_code": "1234AB",
    "city": "Amsterdam",
    "country": "NL",
    "reference": "ORDER-10001",
    "reference2": "CUSTOMER-20002",
    "return_label": false,
    "customer_data": {
        "customer_uuid": "cccccccc-cccc-4ccc-8ccc-cccccccccccc",
        "customer_number": "CUSTOMER-NUMBER"
    }
}
Bodyvelden en voorbeeldtypen

Typen zijn afgeleid van het collectievoorbeeld. De collectie bevat geen volledige required/optional-validatiespecificatie.

VeldType
created_bystring
print_phone_numberstring
print_logo_on_labelboolean
carrier_idnumber
carrier_option_idnumber
signature_requiredboolean
number_of_packagesnumber
weightnumber
lengthnumber
widthnumber
heightnumber
is_companyboolean
company_namestring
first_namestring
last_namestring
emailstring
phone_numberstring
contentstring
streetstring
house_numberstring
postal_codestring
citystring
countrystring
referencestring
reference2string
return_labelboolean
customer_dataobject
customer_data.customer_uuidstring
customer_data.customer_numberstring

Responsevoorbeelden

200 · Labelinhoud direct (DO=Y)
application/json
{
  "status": true,
  "labels": [
    {
      "barcode": "EXAMPLE_TRACKING_NUMBER",
      "labeltype": "pdf",
      "encodeType": "base64",
      "content": "Base64Label",
      "carrierId": "9999",
      "carrierOptionId": "0",
      "shipmentId": "EXAMPLE_SHIPMENT_ID"
    }
  ],
  "shipmentID": "EXAMPLE_SHIPMENT_ID",
  "SubLogID": "EXAMPLE_SUBLOG_ID"
}
200 · Zending aangemaakt (DO=N)
application/json
{
  "state": "true",
  "message": "Shipment created.",
  "Errors": "",
  "ActionName": 101,
  "carrierId": "9999",
  "carrierOptionId": "0",
  "logId": "EXAMPLE_LOG_ID",
  "parcelInformation": {
    "MinL": "15.000",
    "MaxL": "200.000",
    "DBMinB": "10.000",
    "DBMaxB": "80.000",
    "DBMinH": "0.000",
    "DBMaxH": "60.000",
    "DBMinGewicht": "0.000",
    "DBMaxGewicht": "31.000",
    "DBMaxVolume": "200",
    "DBMaxOmtrek": "300"
  },
  "Pricing": null,
  "trace": "https://example.com/tracking/EXAMPLE_TRACKING_NUMBER",
  "zpl": "",
  "ZendingID": 123456,
  "Barcode": "EXAMPLE_TRACKING_NUMBER",
  "url": "https://example.com/labels/EXAMPLE_SHIPMENT_ID"
}

06 / GETTracking opvragen/get_tracking_information/{{apiKey}}/{{trackingCode}}?flight_tracking_setting=include&lang=en&type=barcode&tracking_details=full

Vraag tracking op voor één barcode, waybill of box. De queryparameters bepalen taal, flight tracking en detailniveau.

GET/get_tracking_information/{{apiKey}}/{{trackingCode}}?flight_tracking_setting=include&lang=en&type=barcode&tracking_details=full

Queryparameters

NaamVoorbeeldwaarde
flight_tracking_settinginclude
langen
typebarcode
tracking_detailsfull

flight_tracking_setting: only / include / exclude
lang: en / nl
type: barcode / waybill / box
tracking_details: minimal / lastStatus / full

cURL · Bash
curl --request GET "https://api.mmcore.tech/get_tracking_information/${MMCORE_API_KEY}/${TRACKING_CODE}?flight_tracking_setting=include&lang=en&type=barcode&tracking_details=full"

Responsevoorbeelden

200 · Tracking voor één zending
application/json
{
  "state": true,
  "numberOfItems": 1,
  "notFound": [],
  "items": {
    "EXAMPLE_TRACKING_NUMBER": [
      {
        "itemNumber": 0,
        "code": "9000",
        "description": "Delivered",
        "location": "Filipstad",
        "dateTime": "2026-06-19 06:07:00"
      },
      {
        "itemNumber": 1,
        "code": "5001",
        "description": "Parcel is out for delivery to recipient",
        "location": "Karlstad",
        "dateTime": "2026-06-18 20:45:00"
      },
      {
        "itemNumber": 2,
        "code": "3000",
        "description": "Parcel has reached a depot",
        "location": "Karlstad",
        "dateTime": "2026-06-18 20:45:00"
      },
      {
        "itemNumber": 3,
        "code": "2006",
        "description": "The cargo is delivered in the destination country",
        "location": "",
        "dateTime": "2026-06-17 16:45:00"
      },
      {
        "itemNumber": 4,
        "code": "2002",
        "description": "The logistics provider has loaded the cargo.",
        "location": "",
        "dateTime": "2026-06-16 11:13:00"
      },
      {
        "itemNumber": 5,
        "code": "99",
        "description": "Label has been created",
        "location": "",
        "dateTime": "2026-06-04 17:32:18"
      }
    ]
  },
  "lastStatus": {
    "EXAMPLE_TRACKING_NUMBER": {
      "itemNumber": 0,
      "code": "9000",
      "description": "Delivered",
      "location": "Filipstad",
      "dateTime": "2026-06-19 06:07:00"
    }
  },
  "flightTracking": []
}

07 / GETTracking in bulk/get_tracking_information/{{apiKey}}?flight_tracking_setting=include&lang=en&type=barcode&tracking_details=full

Vraag meerdere barcodes op met een JSON-array in de body van een GET-request. Gebruik een HTTP-client die een GET-body ondersteunt; browser-fetch ondersteunt dit niet.

GET/get_tracking_information/{{apiKey}}?flight_tracking_setting=include&lang=en&type=barcode&tracking_details=full

Headers

NaamWaarde
Content-Typeapplication/json

Queryparameters

NaamVoorbeeldwaarde
flight_tracking_settinginclude
langen
typebarcode
tracking_detailsfull

flight_tracking_setting: only / include / exclude
lang: en / nl
type: barcode / waybill / box
tracking_details: minimal / lastStatus / full

cURL · Bash
curl --request GET "https://api.mmcore.tech/get_tracking_information/${MMCORE_API_KEY}?flight_tracking_setting=include&lang=en&type=barcode&tracking_details=full" \
  --header 'Content-Type: application/json' \
  --data-binary @request.json
request.json
[
  "EXAMPLE_TRACKING_NUMBER_1",
  "EXAMPLE_TRACKING_NUMBER_2"
]
Bodyvelden en voorbeeldtypen

Typen zijn afgeleid van het collectievoorbeeld. De collectie bevat geen volledige required/optional-validatiespecificatie.

VeldType
bodyarray
body[]string

Responsevoorbeelden

200 · Tracking voor meerdere barcodes
application/json
{
  "state": true,
  "numberOfItems": 2,
  "notFound": [],
  "items": {
    "EXAMPLE_TRACKING_NUMBER_1": [
      {
        "itemNumber": 0,
        "code": "9000",
        "description": "Delivered",
        "location": "Malmo",
        "dateTime": "2026-06-24 01:59:00"
      },
      {
        "itemNumber": 1,
        "code": "5001",
        "description": "Parcel is out for delivery to recipient",
        "location": "Malmo",
        "dateTime": "2026-06-23 16:22:00"
      },
      {
        "itemNumber": 2,
        "code": "3000",
        "description": "Parcel has reached a depot",
        "location": "Early Bird Malmo",
        "dateTime": "2026-06-23 14:18:00"
      },
      {
        "itemNumber": 3,
        "code": "2006",
        "description": "The cargo is delivered in the destination country",
        "location": "",
        "dateTime": "2026-06-23 11:10:00"
      },
      {
        "itemNumber": 4,
        "code": "2002",
        "description": "The logistics provider has loaded the cargo.",
        "location": "",
        "dateTime": "2026-06-19 15:58:00"
      },
      {
        "itemNumber": 5,
        "code": "99",
        "description": "Label has been created",
        "location": "",
        "dateTime": "2026-06-12 19:13:30"
      }
    ],
    "EXAMPLE_TRACKING_NUMBER_2": [
      {
        "itemNumber": 0,
        "code": "9000",
        "description": "Delivered",
        "location": "Hassleholm",
        "dateTime": "2026-06-24 03:39:00"
      },
      {
        "itemNumber": 1,
        "code": "3000",
        "description": "Parcel has reached a depot",
        "location": "Vaxjo",
        "dateTime": "2026-06-23 16:15:00"
      },
      {
        "itemNumber": 2,
        "code": "5001",
        "description": "Parcel is out for delivery to recipient",
        "location": "Malmo",
        "dateTime": "2026-06-23 16:15:00"
      },
      {
        "itemNumber": 3,
        "code": "2006",
        "description": "The cargo is delivered in the destination country",
        "location": "",
        "dateTime": "2026-06-23 11:10:00"
      },
      {
        "itemNumber": 4,
        "code": "2002",
        "description": "The logistics provider has loaded the cargo.",
        "location": "",
        "dateTime": "2026-06-19 15:58:00"
      },
      {
        "itemNumber": 5,
        "code": "99",
        "description": "Label has been created",
        "location": "",
        "dateTime": "2026-06-12 19:04:53"
      }
    ]
  },
  "lastStatus": {
    "EXAMPLE_TRACKING_NUMBER_1": {
      "itemNumber": 0,
      "code": "9000",
      "description": "Delivered",
      "location": "Malmo",
      "dateTime": "2026-06-24 01:59:00"
    },
    "EXAMPLE_TRACKING_NUMBER_2": {
      "itemNumber": 0,
      "code": "9000",
      "description": "Delivered",
      "location": "Hassleholm",
      "dateTime": "2026-06-24 03:39:00"
    }
  },
  "flightTracking": []
}

08 / POSTManifest uploaden/post_manifest_data/{{apiKey}}

Upload manifestregels als JSON-array. Voor EU-importen zijn nsPid en sPid verplicht en worden alleen deze twee velden gevalideerd. Controles op de vrachtbrief en de vergrendeling van de zending blijven van toepassing. Voor niet-EU-importen blijft de bestaande validatie van kracht en zijn beide PID-velden optioneel. Gebruik ?ls=Y alleen wanneer het AWB-manifest na succesvolle validatie moet worden vergrendeld en dit operationeel is afgesproken.

POST/post_manifest_data/{{apiKey}}

Headers

NaamWaarde
Content-Typeapplication/json
cURL · Bash
curl --request POST "https://api.mmcore.tech/post_manifest_data/${MMCORE_API_KEY}" \
  --header 'Content-Type: application/json' \
  --data-binary @request.json
request.json
[
  {
    "transportType": "AWB",
    "transportNumber": "999-12345678",
    "packageId": "1",
    "parcelId": "PARCEL-123456",
    "name": "John Doe",
    "address": "Example Street 1",
    "address2": "",
    "zipcode": "10001",
    "city": "New York",
    "country": "US",
    "phone": "+12025550123",
    "email": "john.doe@example.com",
    "sellerName": "Example Seller B.V.",
    "sellerAddress": "Seller Street 10",
    "sellerZipcode": "1234AB",
    "sellerCity": "Amsterdam",
    "sellerCountry": "NL",
    "sku": "SKU-123456",
    "nsPid": "NS-PID-123456",
    "sPid": "S-PID-123456",
    "content": "Cotton T-shirt",
    "hsCode": "610910",
    "quantity": "1",
    "itemPrice": "14.90",
    "itemWeight": "0.20",
    "parcelWeight": "0.30",
    "parcelPrice": "14.90",
    "currency": "EUR",
    "taxType": "IOSS",
    "taxIdent": "IM0000000000",
    "grossWeight": "152.75"
  }
]
Bodyvelden en voorbeeldtypen

Typen zijn afgeleid van het collectievoorbeeld. De collectie bevat geen volledige required/optional-validatiespecificatie.

VeldType
bodyarray
[].transportTypestring
[].transportNumberstring
[].packageIdstring
[].parcelIdstring
[].namestring
[].addressstring
[].address2string
[].zipcodestring
[].citystring
[].countrystring
[].phonestring
[].emailstring
[].sellerNamestring
[].sellerAddressstring
[].sellerZipcodestring
[].sellerCitystring
[].sellerCountrystring
[].skustring
[].nsPidstring
[].sPidstring
[].contentstring
[].hsCodestring
[].quantitystring
[].itemPricestring
[].itemWeightstring
[].parcelWeightstring
[].parcelPricestring
[].currencystring
[].taxTypestring
[].taxIdentstring
[].grossWeightstring

Responsevoorbeelden

De collectie bevat voor deze route geen responsevoorbeeld.

09 / POSTAWB pre-alert uploaden/post_pre_alert/{{apiKey}}

Upload een base64-gecodeerde AWB-PDF, ETA, AWB-nummer en brutogewicht nadat het manifest bestaat. Vervang de verkorte PDF-placeholder door volledige base64-inhoud.

POST/post_pre_alert/{{apiKey}}

Headers

NaamWaarde
Content-Typeapplication/json
cURL · Bash
curl --request POST "https://api.mmcore.tech/post_pre_alert/${MMCORE_API_KEY}" \
  --header 'Content-Type: application/json' \
  --data-binary @request.json
request.json
{
  "airWaybillPdfBase64": "JVBERi0xLjQKJcTl8uXrp...truncated...==",
  "estimatedTimeOfArrival": "2026-05-28",
  "airWaybillNumber": "999-12345678",
  "grossWeight": 152.75
}
Bodyvelden en voorbeeldtypen

Typen zijn afgeleid van het collectievoorbeeld. De collectie bevat geen volledige required/optional-validatiespecificatie.

VeldType
airWaybillPdfBase64string
estimatedTimeOfArrivalstring
airWaybillNumberstring
grossWeightnumber

Responsevoorbeelden

200 · Pre-alert verwerkt
application/json
{
  "ok": true,
  "message": "Validated and saved",
  "estimatedTimeOfArrival": "2026-05-28",
  "airWaybillNumber": "999-12345678",
  "submittedGrossWeight": 152.75,
  "boxes": 18,
  "totalParcels": 342,
  "totalManifestWeight": 150.22,
  "iossManifestLocked": true,
  "carrier": {
    "name": "Example Cargo Carrier",
    "awbPrefix": "999"
  }
}

Responses correct afhandelen

De responsevorm verschilt per operatie. Controleer naast de HTTP-status de velden van de betreffende response: state en Errors bij authenticatie en de standaard shipment-response, status bij directe labels, state en notFound bij tracking en ok bij pre-alerts. state is in sommige voorbeelden een string en in andere een boolean.

Bewaar SubLogID bij directe labelresponses voor support. Neem veldnamen exact over: shipmentID, shipmentId en ZendingID zijn verschillende velden in de voorbeelden. De collectie specificeert geen algemene foutcatalogus, retrybeleid of idempotency-garantie; herhaal shipment-requests niet blind na een timeout.

Bespreek je integratie ↗