Inhoud van dit artikel:
Wat is TimeSlots
Steeds meer eindklanten verwachten de mogelijkheid om te kiezen uit meerdere bezorgopties en het selecteren van een specifiek bezorgtijdvak is iets dat sommige vervoerders beginnen aan te bieden.
In nShift hebben we een oplossing ontwikkeld om tijdslotboekingen te ondersteunen. Hiermee kunt u producten die tijdslots ondersteunen tonen in uw webshop, en kan uw eindklant het tijdslot kiezen dat voor hem of haar geschikt is.
Tijdslotdiensten verschillen per vervoerder. Ze kunnen worden gebruikt voor levering of afhaling en sommige vervoerders rekenen extra kosten voor het gebruik van deze diensten. Vraag uw vervoerder om meer informatie.
Opmerking: Momenteel (september 2020) ondersteunen we Airmee en Porterbuddy tijdslotdiensten. Meer zijn in ontwikkeling.
Hoe werkt het
Afhankelijk van wat u wilt doen, moeten de methoden in een bepaalde volgorde worden uitgevoerd:
Als u een verzending wilt aanmaken
1. GetShipAdvise
Haal de Token en TimeSlotToken uit het geselecteerde product
Zie het voorbeeld hier of de documentatie
2. AllocateTimeSlot
Voeg de Token en TimeSlotToken toe aan het opties-object in het verzoek.
Haal de AllocatedTimeSlotToken uit de reactie
Zie het voorbeeld hier of de documentatie
3. SubmitShipment
Voeg de Token en de AllocatedTimeSlotToken toe aan het opties-object in het verzoek
Zie het voorbeeld hier of de documentatie
4. TransmitShipment
Zie dit artikel of de documentatie
Als u een verzending wilt annuleren
1. DeleteShipment
Zie de documentatie
2. VoidTimeSlot
Voeg de AllocatedTimeSlotToken toe aan het opties-object in het verzoek.
Zie het voorbeeld hier of de documentatie
Voorbeelden van verzoeken
Opmerking: Shipment Server verwacht dat de verzoeken gecodeerd zijn als form-data of x-www-form-urlencoded
...
GetShipAdvise - Verzoek Body
{
"data": {
"Kind": 1,
"Addresses": [
{
"Kind": 1,
"Name1": "Test Name1",
"Street1": "Test Address 1",
"PostCode": "11825",
"City": "Stockholm",
"Phone": "004612341234",
"Mobile": "004612341234",
"Email": "noreply@nshift.com",
"Attention": "Test Attention",
"CountryCode": "SE"
}
],
"Lines": [
{
"Number": 1,
"PkgWeight": 1000,
"Height": 100,
"Length": 100,
"Width": 100,
"References": [
{
"Kind": 23,
"Value": "Test Content"
}
]
}
]
},
"options": {
"ServiceLevel": "default",
"EarliestPickup": "2020-09-22T06:00",
"LatestPickup": "2020-09-22T21:00",
"PickupWindowCount": 1,
"TimeSlots": 1,
"TimeLog": 1
},
"key": "sample",
"actor": "134",
"command": "GetShipAdvise"
}Reactie Body
{
"Products": [
{
"ProdConceptID": 5599,
"ProdCSID": 1632,
"ProdName": "Airmee - Airmee",
"Token": "_-1_0_1603_5799_1632_5599_0_0__0__30/12/1899_30/12/1899___",
"SupportsDropPoint": 0,
"TimeSlots": [
{
"Start": "2020-09-11T17:00:00",
"End": "2020-09-11T22:00:00",
"TimeSlotToken": "eyJzdGFydCI6IjIwMjAtMDktMTFUMTc6MD...",
"Expires": ""
}
]
},
{
"ProdConceptID": 675,
"ProdCSID": 1029,
"ProdName": "UPS - UPS Standard®",
"Services": [
{
"serviceid": 60041,
"name": "Bezorging bij UPS Access Point"
}
],
"Token": "60041_2_0_1603_5799_1029_675_0_0__0__30/12/1899_30/12/1899___",
"SupportsDropPoint": 1
}
],
"Log": []
],
"Status": 8,
"CSRMessage": "Succes : Lijst met geldige producten teruggegeven",
"TimeLog": []
}...
AllocateTimeSlot - Verzoek Body
{
"data": {},
"options": {
"TimeSlotToken": "eyJzdGFydCI6IjIwMjAtMDktMTFUM...",
"Token": "_-1_0_1603_5799_1632_5599_0_0__0__30/12/1899_30/12/1899___"
},
"key": "sample",
"actor": "134",
"command": "AllocateTimeSlot"
}Reactie Body
{
"Result": "Succes",
"AllocatedTimeSlotToken": "YXRzdDtmZjIxYTlkMi1mM2ZhLTExZWEtYjY3...",
"Information": ""
}...
SubmitShipment - Verzoek Body
{
"data": {
"Kind": 1,
"Addresses": [
{
"Kind": 1,
"Name1": "Test Name1",
"Street1": "Test Address 1",
"PostCode": "11825",
"City": "Stockholm",
"Phone": "004612341234",
"Mobile": "004612341234",
"Email": "noreply@nshift.com",
"Attention": "Test Attention",
"CountryCode": "SE"
}
],
"Lines": [
{
"PkgWeight": 1000,
"Height": 100,
"Length": 100,
"Width": 100,
"Number": 1,
"References": [
{
"Kind": 23,
"Value": "Test Content"
}
]
}
]
},
"options": {
"AllocatedTimeSlotToken": "YXRzdDtmZjIxYTlkMi1mM2ZhLTExZWEtYjY3N...",
"Labels": "ZPLGK",
"Token": "_-1_0_1603_5799_1632_5599_0_0__0__30/12/1899_30/12/1899___"
},
"key": "sample",
"actor": "134",
"command": "SubmitShipment"
}Reactie Body
{
"ShpCSID": 5238,
"ShpESID": ...,
"ShpTag": "...",
"InstallationID": "...",
"Kind": 1,
"ShpNo": "...",
"PickupDt": "2020-09-11T00:00:00",
"LabelPrintDt": "2020-09-11T08:58:54",
"SubmitDt": "2020-09-11T08:58:55",
"Weight": 1000,
"ActorCSID": 134,
"Temperature": 1,
"CarriagePayer": 1,
"CarrierConceptID": 658,
"CarrierCSID": 75,
"SubcarrierConceptID": 1388,
"SubcarrierCSID": 275,
"ProdConceptID": 5599,
"ProdCSID": 1632,
"StackCSID": 294,
"Addresses": [
{
"Kind": 1,
"Name1": "Test Name1",
"Street1": "Test Address 1",
"PostCode": "11825",
"City": "Stockholm",
"Phone": "004612341234",
"Mobile": "004612341234",
"Email": "noreply@nshift.com",
"Attention": "Test Attention",
"CountryCode": "SE"
},
{
"Kind": 2,
"Name1": "Test Name1",
"Street1": "Test Address 1",
"PostCode": "11825",
"City": "Stockholm",
"Phone": "004612345678",
"Mobile": "004612345678",
"Email": "noreply@nshift.com",
"Attention": "Test Sender Attention",
"CountryCode": "SE"
}
],
"Amounts": [...],
"References": [...],
"Messages": [...],
"CSEvents": [...],
"Lines": [
{
"LineCSID": 5937,
"LineTag": "A6DE8AB7-292E-4CAA-B5AC-6C8B5F374E32",
"LineWeight": 1000,
"PkgWeight": 1000,
"Height": 100,
"Length": 100,
"Width": 100,
"Pkgs": [...]
}
],
"References": [...]
}
],
"Labels": [
{
"Content": "....",
"Type": 13,
"Copies": 1,
"PkgCSID": 8886,
"PkgNo": "..."
}
]
}...
VoidTimeSlot - Verzoek Body
{
"data": {},
"options": {
"AllocatedTimeSlotToken": "YXRzdDtmZjIxYTlkMi1mM2ZhLTExZWEtYjY3N..."
},
"key": "sample",
"actor": "134",
"command": "VoidTimeSlot"
}Reactie Body
{
"Result": "Succes",
"Information": ""
}
Veelgestelde vragen
-
Doet de AllocatedTimeSlotToken bij een SubmitShipment-aanroep nog iets anders dan het bijwerken van de leverdatumvelden op een verzending?
Hangt af van de vervoerder
- -
Verloopt een TimeSlotToken?
Hangt af van de vervoerder
- -
Betaalt een klant voor het reserveren van een TimeSlot?
Hangt af van de vervoerder
-
-
Wordt de AllocatedTimeSlot alleen geactiveerd wanneer ik een SubmitShipment ermee doe?
Nee, deze zou geactiveerd moeten worden bij het aanroepen van de AllocateTimeSlot-methode
- -
Wat gebeurt er als je een TimeSlot reserveert maar nooit de VoidTimeSlot-methode aanroept als je deze niet meer nodig hebt?
Hangt af van de vervoerder
- -
Hoe weet ik hoeveel TimeSlots ik gereserveerd heb?
De cliënt moet dit bijhouden
- -
Als u de AllocatedTimeSlotToken hebt gebruikt bij een SubmitShipment, roept de DeleteShipment-methode dan de VoidTimeSlot-methode aan of hoeven we dat niet te doen?
Hangt af van de implementatie door de vervoerder.