Optimaliseer uw logistiek met onze krachtige API's.
De MyShipper API biedt een snelle en eenvoudige manier om toegang te krijgen tot service-informatie via internet. Met deze API kunt u eenvoudig de MyShipper-technologie integreren in uw eigen applicaties of website. De gebruikers die uw applicaties of website gebruiken, kunnen snel en veilig toegang krijgen tot alle MyShipper-services.
Elke tool die vloeiend is in HTTP kan communiceren met onze API door simpelweg de juiste URI op te vragen. Verzoeken moeten worden gedaan met behulp van het HTTPS-protocol, zodat het verkeer wordt versleuteld. De API reageert op verschillende methoden, afhankelijk van de vereiste actie.
Nadat de API is geïmplementeerd, kunt u de services die we aanbieden verkrijgen, offertes genereren, boekingen plaatsen, labels genereren, collecties regelen en trackinginformatie krijgen.
Vereisten
! JSON-bibliotheek en internetverbinding.
! API ondersteunt alleen ASCII-tekens.
curl -X POST -k \
-u API_KEY:API_SECRET \
-H "Content-Type: application/json" \
-d '{"action": "quote"}' \
https://portal.myshipper.nl/api/json
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://portal.myshipper.nl/api/json");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array("action" => "quote")));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Basic " . base64_encode(API_KEY . ":" . API_SECRET)
));
$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response, true);
return $response;
Authenticatie
Om een API-verzoek te kunnen doen, raden we u aan om de cURL-bibliotheek te gebruiken. U hebt ook een API-key en API-secret nodig. API-key’s zijn unieke codes die u of uw applicatie identificeert wanneer u één van onze API’s aanroept. API-secret is een andere code die als wachtwoord fungeert voor de API-key. Nadat u een account bij ons heeft aangemaakt, kunt u een API-key en API-secret genereren in uw gebruikersinstellingen.
Request Code samples
curl -X POST -k \
-u API_KEY:API_SECRET \
-H “Content-Type: application/json” \
-d ‘{“action”: “quote”}’ \
https://portal.myshipper.nl/api/json
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, “https://portal.myshipper.nl/api/json”);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array(“action” => “quote”)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
“Authorization: Basic ” . base64_encode(API_KEY . “:” . API_SECRET)
));
$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response, true);
return $response;
Quoting
Gebruik deze methode om informatie te krijgen over beschikbare services en prijzen. Vereist ‘authentication request elements’.
Request elements
Items child elements
Products child elements
Third party child elements
Customs child elements
Request Code samples
{
“action”: “quote”,
“shipment”: {
“o_company”: “Test”,
“o_name”: “Test”,
“o_email”: “test@test.com”,
“o_phone”: “0000000”,
“o_eori”: “”,
“o_street_1”: “Test street”,
“o_street_no”: “27B”,
“o_postal”: “3045 AB”,
“o_city”: “Rotterdam”,
“o_province”: “”,
“o_country”: “NL”,
“d_company”: “Test”,
“d_name”: “Test”,
“d_email”: “test@test.com”,
“d_phone”: “0000000”,
“d_eori”: “”,
“d_street_1”: “Test street “,
“d_street_no”: “35C”,
“d_postal”: “1000”,
“d_city”: “Brussels”,
“d_province”: “”,
“d_country”: “BE”,
“type”: “Parcel”,
“reference”: “AB0000”,
“stackable”: “1”,
“export_reason”: “Commercial”,
“items”: [
{
“contents”: “Keyboard”,
“value”: “55.00”,
“weight”: “5.0”,
“length”: “50”,
“width”: “15”,
“height”: “5”
},
{
“contents”: “Electronic Device”,
“value”: “20.00”,
“weight”: “10”,
“length”: “15”,
“width”: “20”,
“height”: “15”,
“products”: [
{
“quantity”: “2”,
“product_code”: “023232”,
“o_country”: “NL”,
“weight”: “5.3”,
“description”: “Headset”,
“value”: “20.00”,
“value_currency”: “EUR”,
“hs_code”: “85183000”
}
]
}
]
}
}
$request += array(
“action” => “quote”,
“shipment” => array(
“o_company” => “Test”,
“o_name” => “Test”,
“o_email” => “test@test.com”,
“o_phone” => “0000000”,
“o_eori” => “”,
“o_street_1” => “Test street”,
“o_street_no” => “27B”,
“o_postal” => “3045 AB”,
“o_city” => “Rotterdam”,
“o_province” => “”,
“o_country” => “NL”,
“d_company” => “Test”,
“d_name” => “Test”,
“d_email” => “test@test.com”,
“d_phone” => “0000000”,
“d_eori” => “”,
“d_street_1” => “Test street “,
“d_street_no” => “35C”,
“d_postal” => “1000”,
“d_city” => “Brussels”,
“d_province” => “”,
“d_country” => “BE”,
“type” => “Parcel”,
“reference” => “AB0000”,
“stackable” => “1”,
“export_reason” => “Commercial”,
“items” => array(
array(
“contents” => “Keyboard”,
“value” => “55.00”,
“weight” => “5.0”,
“length” => “50”,
“width” => “15”,
“height” => “5”,
),
array(
“contents” => “Electronic Device”,
“value” => “20.00”,
“weight” => “10”,
“length” => “15”,
“width” => “20”,
“height” => “15”,
“products” => array(
array(
“quantity” => “2”,
“product_code” => “023232”,
“o_country” => “NL”,
“weight” => “5.3”,
“description” => “Headset”,
“value” => “20.00”,
“value_currency” => “EUR”,
“hs_code” => “85183000”,
)
)
)
)
)
);
Response elements
Result child elements
Services child elements
Response code samples
$response = array(
“result” => array(
“services” => array(
0 => array(
“service_id” => 12613,
“courier_keycode” => “mys”,
“courier_name” => “MYSHIPPER”,
“service_keycode” => “EXPRESS 12:00”,
“service_name” => “Express 12:00”,
“etc” => “2021-01-25 before 20:00”,
“eta” => “2021-01-25 before 12:00”,
“origin_service_points” => 1,
“destination_service_points” => 1,
“currency” => “EUR”,
“co2” => 1,
“co2_price” => 1.37,
“insurance” => 1,
“insurance_price” => 9.38,
“sub_total” => 29.91,
“vat_total” => 5.68,
“total_price” => 35.59
)
)
),
“errors” => array()
);
$response = array(
“result” => array(
“services” => array(
0 => array(
“service_id” => 12613,
“courier_keycode” => “mys”,
“courier_name” => “MYSHIPPER”,
“service_keycode” => “EXPRESS 12:00”,
“service_name” => “Express 12:00”,
“etc” => “2021-01-25 before 20:00”,
“eta” => “2021-01-25 before 12:00”,
“origin_service_points” => 1,
“destination_service_points” => 1,
“currency” => “EUR”,
“co2” => 1,
“co2_price” => 1.37,
“insurance” => 1,
“insurance_price” => 9.38,
“sub_total” => 29.91,
“vat_total” => 5.68,
“total_price” => 35.59
)
)
),
“errors” => array()
);
Verzenden
Gebruik deze methode om een boeking te maken. Verzendinglabels worden gegenereerd als PDF. Vereist ‘authentication request elements’.
Request elements
Request Code samples
{
“action”: “ship”,
“service_id”: “3851”,
“co2”: 0,
“insurance”: 1
}
$request += array(
“action” => “ship”,
“service_id” => “3851”,
“co2” => 0,
“insurance” => 1
);
Response elements
Result child elements
Response code samples
{
“result”: {
“order_no”: “MYSTEST”,
“consignment_no”: “COURIERCONN”,
“label”: “DawNjE1MiAwMDAwMCBuIAp0cmFp…”,
“remarks”: “RawNjE1MiAwMDAwMCBuIAp0cmFp…”
},
“errors”: []
}
$response = array(
“result” => array(
“order_no” => “MYSTEST”,
“consignment_no” => “COURIERCONN”,
“label” => “DawNjE1MiAwMDAwMCBuIAp0cmFp…”,
“remarks” => “RawNjE1MiAwMDAwMCBuIAp0cmFp…”,
),
“errors” => array()
);
Collectie
Gebruik deze methode om collecties in te plannen. Vereist ‘authentication request elements’.
Request elements
Request Code samples
{
“action”: “pickup”,
“date”: “2021-01-24”,
“r_time”: “09:00”,
“c_time”: “17:00”,
“instuctions”: “test collection”,
“shipments”: [
“MYSXXXXXX1”,
“MYSXXXXXX2”
]
}
$request += array(
“action” => “pickup”,
“date” => “2021-01-24”,
“r_time” => “09:00”,
“c_time” => “17:00”,
“instuctions” => “test collection”,
“shipments” => array(
“MYSXXXXXX1”, “MYSXXXXXX2”
)
);
Response elements
Result child elements
Response code samples
{
“result”: {
“collection_no”: “MYSTEST”,
“manifest”: “RawNjE1MiAwMDAwMCBuIAp0cmFp…”
},
“errors”: []
}
$response = array(
“result” => array(
“collection_no” => “MYSTEST”,
“manifest” => “RawNjE1MiAwMDAwMCBuIAp0cmFp…”
),
“errors” => array()
);
Webhooks
Met webhooks kunt u eenvoudig trackingupdates toevoegen aan een specifieke URL. Om webhooks te activeren, voegt u uw URL toe in accountinstellingen. Wilt u zeker weten of het gelukt is? U kunt het meteen testen.
Wanneer er een event plaatsvindt, doet ons systeem een HTTP POST-verzoek naar uw geconfigureerde URL om de webhook te ontvangen. Webhook-data wordt naar de geconfigureerde URL verzonden als een webhook-payload in JSON-formaat.
Track & Trace
Gebruik deze methode om informatie over uw bestelling te ontvangen (status, locatie, datum, tijd).
Request elements
Request Code samples
{
“action”: “track”,
“order_numbers”: [
“MYSXXXXXX1”,
“MYSXXXXXX2”
]
}
$request += array(
“action” => “track”,
“order_numbers” => array(
“MYSXXXXXX1”,
“MYSXXXXXX2”
)
);
Response elements
Result child elements
Items child elements
Trackings child elements
Response code samples
{
“result”: {
“order_no”: “MYSXXXXXX1”,
“status”: “Collected”,
“consignment_no”: “COURIERCONN”,
“courier_keycode”: “mys”,
“courier_name”: “MYSHIPPER”,
“service_keycode”: “EXPRESS_WORLDWIDE”,
“service_name”: “Express Worldwide”,
“items”: [
{
“item_no”: “MYSXXXXXX1-1”,
“status”: “Collected”,
“tracking_no”: “XXXXXXXXX”,
“courier_tracking_link”: “https:\/\/courier.com\/trackingpage”,
“trackings”: [
{
“status”: “Collected”,
“courier_status”: “Shipment collected”,
“location”: “Rotterdam”,
“date”: “2021-01-24 15:46:59”,
“signer”: “”
}
]
}
]
},
{
“order_no”: “MYSXXXXXX2”,
“status”: “Delivered”,
“consignment_no”: “COURIERCONN”,
“courier_keycode”: “mys”,
“courier_name”: “MYSHIPPER”,
“service_keycode”: “standard”,
“service_name”: “Standard”,
“items”: [
{
“item_no”: “MYSXXXXXX2-1”,
“status”: “Booked”,
“tracking_no”: “XXXXXXXXX”,
“courier_tracking_link”: “https:\/\/courier.com\/trackingpage”,
“trackings”: [
{
“status”: “Delivered”,
“courier_status”: “Delivered”,
“location”: “Rotterdam”,
“date”: “2017-06-07 10:55:45”,
“signer”: “J. Smith”
},
{
“status”: “In Transit”,
“courier_status”: “In Transit”,
“location”: “Delft”,
“date”: “2017-06-06 10:55:19”,
“signer”: “”
}
]
}
]
}
],
“errors”: []
}
$response = array(
“result” => array(
0 => array(
“order_no” => “MYSXXXXXX1”,
“status” => “Collected”,
“consignment_no” => “COURIERCONN”,
“courier_keycode” => “mys”,
“courier_name” => “MYSHIPPER”,
“service_keycode” => “EXPRESS_WORLDWIDE”,
“service_name” => “Express Worldwide”,
“items” => array(
0 => array(
“item_no” => “MYSXXXXXX1-1”,
“status” => “Collected”,
“tracking_no” => “XXXXXXXXX”,
“courier_tracking_link” => “https://courier.com/trackingpage”,
“trackings” => array(
0 => array(
“status” => “Collected”,
“courier_status” => “Shipment collected”,
“location” => “Rotterdam”,
“date” => “2021-01-24 15:46:59”,
“signer” => “”
)
)
)
)
),
1 => array(
“order_no” => “MYSXXXXXX2”,
“status” => “Delivered”,
“consignment_no” => “COURIERCONN”,
“courier_keycode” => “mys”,
“courier_name” => “MYSHIPPER”,
“service_keycode” => “standard”,
“service_name” => “Standard”,
“items” => array(
0 => array(
“item_no” => “MYSXXXXXX2-1”,
“status” => “Booked”,
“tracking_no” => “XXXXXXXXX”,
“courier_tracking_link” => “https://courier.com/trackingpage”,
“trackings” => array(
0 => array(
“status” => “Delivered”,
“courier_status” => “Delivered”,
“location” => “Rotterdam”,
“date” => “2017-06-07 10:55:45”,
“signer” => “J. Smith”
),
1 => array(
“status” => “In Transit”,
“courier_status” => “In Transit”,
“location” => “Delft”,
“date” => “2017-06-06 10:55:19”,
“signer” => “”
)
)
)
)
)
),
“errors” => array()
);
Labels
Gebruik deze methode om meerdere of enkele zendingslabels op te halen nadat er al een zending is aangemaakt. Vereist ‘authentication request elements’.
Request elements
Request Code samples
{
“action”: “labels”,
“order_numbers”: [
“MYSXXXXXX1”,
“MYSXXXXXX2”
]
}
$request += array(
“action” => “labels”,
“order_numbers” => array(
“MYSXXXXXX1”,
“MYSXXXXXX2”
)
);
Response elements
Result child elements
Response code samples
{
“result”: {
“order_numbers”: [
“MYSXXXXXX1”,
“MYSXXXXXX2”
],
“labels”: “DawNjE1MiAwMDAwMCBuIAp0cmFp…”
},
“errors”: []
}
$response = array(
“result” => array(
“order_numbers” => array(
“MYSXXXXXX1”,
“MYSXXXXXX2”
),
“labels” => “DawNjE1MiAwMDAwMCBuIAp0cmFp…”
),
“errors” => array()
);
Zending annuleren
Gebruik deze methode om een geboekte zending te annuleren. Dit is niet mogelijk wanneer een zending al geregeld is. Neem in dit geval contact op met onze Customer Service.
Request elements
Request Code samples
{
“action”: “cancel_shipment”,
“order_no”: “MYSXXXXXX1”
}
$request += array(
“action” => “labels”,
“order_no” => “MYSXXXXXX1”
);
Response elements
Result child elements
Response code samples
{
“result”: {
“success”: “1”
},
“errors”: []
}
$response = array(
“result” => array(
“success” => “1”
),
“errors” => array()
);
$response = array(
“result” => array(
“success” => “1”
),
“errors” => array()
);
Servicepunten
Deze methode wordt gebruikt om het adres, de openingstijden en de afstand van servicepunten op te vragen. Er kunnen twee soorten verzoeken zijn, afhankelijk van het type servicepunt. Het eerste verzoek is het servicepunt van herkomst waar de zending door de afzender wordt afgegeven. Voor dit type aanvraag is het ordernummer vereist. Het tweede verzoek is het servicepunt van bestemming waar de zending wordt opgehaald door de ontvanger. Voor dit type aanvraag, is de quote service-ID vereist. Vereist ‘authentication request elements’.
Request elements
Request Code samples
{
“action”: “service_points”,
“type”: “origin”,
“order_no”: “MYSXXXXXXX”
}
$request += array(
“action” => “service_points”,
“type” => “origin”,
“order_no” => “MYSXXXXXXX”
);
Response elements
Result child elements
Result child elements
Response code samples
{
“result”: [
{
“keycode”: “1382551”,
“name”: “Royal Mini Market”,
“street_1”: “Burgemeester Baumannlaan 151”,
“postal”: “3042 AC”,
“city”: “Rotterdam”,
“country”: “NL”,
“lat”: “51.9364411250671”,
“lng”: “4.42779022507839”,
“business_hours”: {
“Monday”: “08.00-20.00”,
“Tuesday”: “08.00-20.00”,
“Wednesday”: “08.00-20.00”,
“Thursday”: “08.00-20.00”,
“Friday”: “08.00-20.00”,
“Saturday”: “08.00-20.00”,
“Sunday”: []
},
“distance”: 2
},
{
“keycode”: “1364013”,
“name”: “Primera”,
“street_1”: “Burgemeester Baumannlaan 191”,
“postal”: “3042 AD”,
“city”: “Rotterdam”,
“country”: “NL”,
“lat”: “51.9345596226563”,
“lng”: “4.42854295007801”,
“business_hours”: {
“Monday”: “08.00-17.30”,
“Tuesday”: “08.00-17.30”,
“Wednesday”: “08.00-17.30”,
“Thursday”: “08.00-17.30”,
“Friday”: “08.00-17.30”,
“Saturday”: “10.00-17.00”,
“Sunday”: []
},
“distance”: 2.16
}
],
“errors”: []
}
$response = array(
“result” => array(
0 => array(
“keycode” => “1382551”,
“name” => “Royal Mini Market”,
“street_1” => “Burgemeester Baumannlaan 151”,
“postal” => “3042 AC”,
“city” => “Rotterdam”,
“country” => “NL”,
“lat” => “51.9364411250671”,
“lng” => “4.42779022507839”,
“business_hours” => array(
“Monday” => “08.00-20.00”,
“Tuesday” => “08.00-20.00”,
“Wednesday” => “08.00-20.00”,
“Thursday” => “08.00-20.00”,
“Friday” => “08.00-20.00”,
“Saturday” => “08.00-20.00”,
“Sunday” => array()
),
“distance” => 2
),
1 => array(
“keycode” => “1364013”,
“name” => “Primera”,
“street_1” => “Burgemeester Baumannlaan 191”,
“postal” => “3042 AD”,
“city” => “Rotterdam”,
“country” => “NL”,
“lat” => “51.9345596226563”,
“lng” => “4.42854295007801”,
“business_hours” => array(
“Monday” => “08.00-17.30”,
“Tuesday” => “08.00-17.30”,
“Wednesday” => “08.00-17.30”,
“Thursday” => “08.00-17.30”,
“Friday” => “08.00-17.30”,
“Saturday” => “10.00-17.00”,
“Sunday” => array()
),
“distance” => 2.16
)
),
“errors” => array()
);
Upload documenten
Gebruik deze methode om documenten voor uw zending te uploaden die nodig zijn voor douane- en andere doeleinden.
Request elements
Documents child elements
Request Code samples
{
“action”: “upload_documents”,
“order_no”: “MYSXXXXXX1”,
“documents”: [
{
“document_type”: “Customs Invoice”,
“name”: “Customs Invoice.pdf”,
“type”: “application/pdf”,
“content”: “DawNjE1MiAwMDAwMCBuIAp0cmFp…”
}
]
}
$request += array(
“action” => “upload_documents”,
“order_no” => “MYSXXXXXX1”,
“documents” => array(
0 => array(
“document_type” => “Customs Invoice”,
“name” => “Customs Invoice.pdf”
“type” => “application/pdf”,
“content” => “DawNjE1MiAwMDAwMCBuIAp0cmFp…”
)
)
);
Response elements
Result child elements
Response code samples
{
“result”: {
“success”: “1”
},
“errors”: []
}
$response = array(
“result” => array(
“success” => “1”
),
“errors” => array()
);
Naar productie
Onze API gebruikt standaard een ontwikkelomgeving (sandbox). Wanneer u klaar bent met het testen van de vereiste methoden, kunt u de omgevingsvariabele die in de ‘request elements’ is doorgegeven, wijzigen in ‘production’, zodat u daadwerkelijk kunt beginnen met het verzenden van uw zendingen via ons platform.
Request elements
Request Code samples
{
“environment”: “production”
“action”: “ship”,
….
}
{
“environment”: “production”
“action”: “ship”,
….
}
$request += array(
“environmet” => “production”
“action” => “ship”,
…
);
Wereldwijde verzendoplossingen
Al uw vervoerders in één verzendplatform.
Ga aan de slag met ons zakelijke verzendplatform voor efficiënt, zorgeloos en duurzaam wereldwijd verzenden. Verstuur zendingen met slechts een paar klikken.
Efficiënt retourenbeheer
Boek al uw zendingen direct.
Verbeter uw klanttevredenheid met onze all-in verzendoplossingen. Beheer zorgeloos bestellingen en retouren en zorg voor een geoptimaliseerde Supply Chain.
Track & Trace Wereldwijd Pakketten, pallets, documenten en vrachtzendingen.
Krijg toegang tot vereenvoudigde en uitgebreide realtime trackinggegevens. Volg zorgeloos al uw binnenlandse en internationale zendingen en creëer geautomatiseerde meldingen.
Eenvoudig orderbeheer
Verzend in één klik al uw orders.
Synchroniseer uw orders, betaal- en verzendoplossingen. Eén platform, alle vervoerders. Verstuur al uw pakketten, pallets en documenten direct.
Shipping as a Service Koppel uw eigen contracten en apps.
Krijg toegang tot een van onze integratiemodules en optimaliseer uw verzendproces met één klik.
Koppel, selecteer en verzend.
Platform
Direct toegang tot het MyShipper verzendplatform en verschillende slimme verzendtools. Verzend wereldwijd op onze transportcontracten.
Gratis
account
Connect
Regel uw volledige verzendproces vanuit één overzichtelijk online platform en koppel uw eigen software en transportcontract.
€ 125
per maand
Connect+
Maak uw verzendproces compleet door meerdere apps en transportcontracten met elkaar te verbinden. Regel al uw verzendingen vanuit één omgeving.
€ 175
per maand

