Den här artikeln riktar sig till utvecklare som vill skapa sändningar baserat på Token som returneras från metoden GetShipAdvise.
Obs: Detta är endast ett enkelt exempel.
Du behöver implementera egen affärslogik och felhantering.
Innehåll i denna artikel:
Token-nyckeln
En särskild nyckel som kan innehålla Product, GoodsType, Services och värden från Expressions som används i CSR-dokumentet.
Idén med Token är att du inte längre behöver utöka dataobjektet med ovanstående information.
Du behöver bara lägga till Token-nyckeln i options-objektet.
Obs: Du kan använda Developer Tools för att testa anropen
Exempel
Skicka en förfrågan till metoden GetShipAdvise med nedanstående options- och dataobjekt:
Options:
{
"ServiceLevel": "Service_Level_Configured_For_SA"
}Data:
{
"Addresses": [
{
"Kind": 1,
"Name1": "Name1 - Receiver",
"Street1": "Test address 1",
"PostCode": "7400",
"City": "Herning",
"CountryCode": "DK",
"Email": "noreply@nshift.com"
}
],
"Lines": [
{
"PkgWeight": 1000,
"Number": 1
}
]
}Resulterar i ett svar som detta:
{
"Products": [
{
"ProdConceptID": 113,
"ProdCSID": 349,
"ProdName": "GLS DK - Normal erhvervspakke",
"CustomFields": {
"type": "Home Delivery"
},
"Services": [
{
"serviceid": 11008,
"name": "Privat Levering"
},
{
"serviceid": 11014,
"name": "Flex Delivery"
}
],
"Token": "11008|11014_0_0_547_517_349_113_0_0__0_...",
"SupportsDropPoint": 0
}
]
}Se CSR-konfigurationen för att förstå varför dessa produkter returnerades.
Om du nu använder Token i options-objektet för anropet till metoden SubmitShipment:
Options:
{
"Labels": "PNG",
"Token": "11008|11014_0_0_547_517_349_113_0_0__0_..."
}Och fortfarande använder samma Data-objekt som i anropet till GetShipAdvise:
{
"Addresses": [
{
"Kind": 1,
"Name1": "Name1 - Receiver",
"Street1": "Test address 1",
"PostCode": "7400",
"City": "Herning",
"CountryCode": "DK",
"Email": "noreply@nshift.com"
}
],
"Lines": [
{
"PkgWeight": 1000,
"Number": 1
}
]
}När du granskar svaret ska det innehålla en sändning baserad på Token från produkten som returnerades från GetShipAdvise.
ProdConceptID, avsändaradress (Expressions), GoodsType och Services ska nu ha tillämpats.
{
"ShpCSID": 3375,
"ShpESID": 3233700847,
"ShpTag": "EF59D0A0-0EF3-4155-AEB9-3516B076ECC0",
"InstallationID": "30000364023",
...
"Services": [
11008,
11014
]
}
Fraktregler
Konfigurationsfilen innehåller de produkter och valideringar som används för metoden GetShipAdvise i denna artikel.
<?xml version="1.0" encoding="utf-8"?>
<CSR carriervalidation="0" defaultservicelevel="Service_Level_Configured_For_SA">
...
</CSR>