Inhalt dieses Artikels:
Was sind TimeSlots
Immer mehr Endkunden erwarten, zwischen mehreren Lieferoptionen wählen zu können, und die Auswahl eines bestimmten Lieferzeitfensters ist etwas, das einige Versanddienstleister anbieten.
Bei nShift haben wir eine Lösung zur Unterstützung von Zeitfensterbuchungen entwickelt. Sie ermöglicht es Ihnen, Produkte mit Zeitfenstern in Ihrem Webshop anzuzeigen und Ihren Endkunden das für sie passende Zeitfenster auswählen zu lassen.
Zeitfensterdienste unterscheiden sich von Versanddienstleister zu Versanddienstleister. Sie können für Lieferung oder Abholung genutzt werden, und einige Versanddienstleister erheben zusätzliche Gebühren für die Nutzung dieser Dienste. Fragen Sie Ihren Versanddienstleister nach weiteren Informationen.
Hinweis: Derzeit (September 2020) unterstützen wir die Zeitfensterdienste von Airmee und Porterbuddy. Weitere sind in Entwicklung.
Wie funktioniert es
Je nachdem, was Sie tun möchten, müssen die Methoden in einer bestimmten Reihenfolge ausgeführt werden:
Wenn Sie eine Sendung erstellen möchten
1. GetShipAdvise
Extrahieren Sie das Token und das TimeSlotToken aus dem ausgewählten Produkt
Siehe Beispiel hier oder die Dokumentation
2. AllocateTimeSlot
Fügen Sie das Token und das TimeSlotToken im Optionsobjekt der Anfrage hinzu.
Extrahieren Sie das AllocatedTimeSlotToken aus der Antwort
Siehe Beispiel hier oder die Dokumentation
3. SubmitShipment
Fügen Sie das Token und das AllocatedTimeSlotToken im Optionsobjekt der Anfrage hinzu
Siehe Beispiel hier oder die Dokumentation
4. TransmitShipment
Siehe diesen Artikel oder die Dokumentation
Wenn Sie eine Sendung stornieren möchten
1. DeleteShipment
Siehe die Dokumentation
2. VoidTimeSlot
Fügen Sie das AllocatedTimeSlotToken im Optionsobjekt der Anfrage hinzu.
Siehe Beispiel hier oder die Dokumentation
Beispielanfragen
Hinweis: Der Shipment Server erwartet, dass die Anfragen als form-data oder x-www-form-urlencoded kodiert sind
...
GetShipAdvise - Anfrageinhalt
{
"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"
}Antwortinhalt
{
"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": "Lieferung zu 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": "Erfolg : Liste gültiger Produkte zurückgegeben",
"TimeLog": []
}...
AllocateTimeSlot - Anfrageinhalt
{
"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"
}Antwortinhalt
{
"Result": "Success",
"AllocatedTimeSlotToken": "YXRzdDtmZjIxYTlkMi1mM2ZhLTExZWEtYjY3...",
"Information": ""
}...
SubmitShipment - Anfrageinhalt
{
"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"
}Antwortinhalt
{
"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 - Anfrageinhalt
{
"data": {},
"options": {
"AllocatedTimeSlotToken": "YXRzdDtmZjIxYTlkMi1mM2ZhLTExZWEtYjY3N..."
},
"key": "sample",
"actor": "134",
"command": "VoidTimeSlot"
}Antwortinhalt
{
"Result": "Success",
"Information": ""
}
Häufig gestellte Fragen
-
Macht das AllocatedTimeSlotToken bei einem SubmitShipment-Aufruf etwas anderes, als die Lieferdatumsfelder einer Sendung zu aktualisieren?
Hängt vom Versanddienstleister ab
- -
Läuft ein TimeSlotToken ab?
Hängt vom Versanddienstleister ab
- -
Muss ein Kunde für die Reservierung eines TimeSlots bezahlen?
Hängt vom Versanddienstleister ab
-
-
Wird das AllocatedTimeSlot nur aktiviert, wenn ich es bei SubmitShipment verwende?
Nein, es sollte bei Aufruf der AllocateTimeSlot-Methode aktiviert werden
- -
Was passiert, wenn Sie ein TimeSlot reservieren, aber nie die VoidTimeSlot-Methode aufrufen, wenn Sie es nicht mehr benötigen?
Hängt vom Versanddienstleister ab
- -
Wie weiß ich, wie viele TimeSlots ich reserviert habe?
Der Client muss den Überblick behalten
- -
Wenn Sie das AllocatedTimeSlotToken bei SubmitShipment verwendet haben, ruft die DeleteShipment-Methode dann die VoidTimeSlot-Methode auf oder müssen wir das nicht tun?
Hängt von der Implementierung des Versanddienstleisters ab.