Indhold i denne artikel:
Hvad er TimeSlots
Flere og flere slutkunder forventer at kunne vælge mellem flere leveringsmuligheder, og at kunne vælge et specifikt leveringstidspunkt er noget, som nogle transportører begynder at tilbyde.
I nShift har vi udviklet en løsning til at understøtte booking af tidsintervaller. Det gør det muligt for dig at vise produkter, der understøtter tidsintervaller i din webshop, og lade din slutkunde vælge det tidsinterval, der passer dem bedst.
Tidsintervaltjenester varierer fra transportør til transportør. De kan bruges til levering eller afhentning, og nogle transportører opkræver ekstra gebyrer for brug af disse tjenester. Spørg din transportør for mere information.
Bemærk: I øjeblikket (september 2020) understøtter vi Airmee og Porterbuddy tidsintervaltjenester. Flere er under udvikling.
Hvordan fungerer det
Afhængigt af hvad du ønsker at gøre, skal metoderne udføres i en bestemt rækkefølge:
Hvis du ønsker at oprette en forsendelse
1. GetShipAdvise
Udtræk Token og TimeSlotToken fra det valgte produkt
Se eksemplet her eller dokumentationen
2. AllocateTimeSlot
Tilføj Token og TimeSlotToken i options-objektet i forespørgslen.
Udtræk AllocatedTimeSlotToken fra svaret
Se eksemplet her eller dokumentationen
3. SubmitShipment
Tilføj Token og AllocatedTimeSlotToken i options-objektet i forespørgslen
Se eksemplet her eller dokumentationen
4. TransmitShipment
Se denne artikel eller dokumentationen
Hvis du ønsker at annullere en forsendelse
1. DeleteShipment
2. VoidTimeSlot
Tilføj AllocatedTimeSlotToken i options-objektet i forespørgslen.
Se eksemplet her eller dokumentationen
Eksempler på forespørgsler
Bemærk: Shipment Server forventer, at forespørgslerne er kodet som form-data eller x-www-form-urlencoded
...
GetShipAdvise - Anmodningsindhold
{
"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"
}Svarindhold
{
"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": "Levering til 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": "Success : List of valid products returned",
"TimeLog": []
}...
AllocateTimeSlot - Anmodningsindhold
{
"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"
}Svarindhold
{
"Result": "Success",
"AllocatedTimeSlotToken": "YXRzdDtmZjIxYTlkMi1mM2ZhLTExZWEtYjY3...",
"Information": ""
}...
SubmitShipment - Anmodningsindhold
{
"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"
}Svarindhold
{
"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 - Anmodningsindhold
{
"data": {},
"options": {
"AllocatedTimeSlotToken": "YXRzdDtmZjIxYTlkMi1mM2ZhLTExZWEtYjY3N..."
},
"key": "sample",
"actor": "134",
"command": "VoidTimeSlot"
}Svarindhold
{
"Result": "Success",
"Information": ""
}
Ofte stillede spørgsmål
-
Gør AllocatedTimeSlotToken i et SubmitShipment-kald andet end at opdatere leveringsdato-felterne på en forsendelse?
Afhænger af transportøren
- -
Udløber et TimeSlotToken?
Afhænger af transportøren
- -
Betaler en kunde for tildeling af et TimeSlot?
Afhænger af transportøren
-
-
Aktiveres AllocatedTimeSlot kun, når jeg laver et SubmitShipment med det?
Nej, det bør aktiveres, når AllocateTimeSlot-metoden kaldes
- -
Hvad sker der, hvis du tildeler et TimeSlot, men aldrig kalder VoidTimeSlot-metoden, hvis du ikke længere har brug for det?
Afhænger af transportøren
- -
Hvordan ved jeg, hvor mange TimeSlots jeg har reserveret?
Klienten skal holde styr på det
- -
Hvis du har brugt AllocatedTimeSlotToken i et SubmitShipment, kalder DeleteShipment-metoden så VoidTimeSlot-metoden, eller behøver vi ikke gøre det?
Afhænger af transportørens implementering.