Innhold i denne artikkelen:
Hva er TimeSlots
Flere og flere sluttkunder forventer å kunne velge mellom flere leveringsalternativer, og muligheten til å velge et spesifikt leveringstidspunkt er noe enkelte transportører begynner å tilby.
I nShift har vi utviklet en løsning for å støtte booking av tidsluker. Det gjør det mulig å vise produkter som støtter tidsluker i din nettbutikk, og la sluttkunden velge den tidsluken som passer dem best.
Tidsluketjenester varierer fra transportør til transportør. Det kan brukes for levering eller henting, og noen transportører krever ekstra gebyr for å bruke disse tjenestene. Spør din transportør for mer informasjon.
Merk: Per nå (september 2020) støtter vi Airmee og Porterbuddy tidsluketjenester. Flere er under utvikling.
Hvordan fungerer det
Avhengig av hva du ønsker å gjøre, må metodene utføres i en bestemt rekkefølge:
Hvis du vil opprette en forsendelse
1. GetShipAdvise
Hent ut Token og TimeSlotToken fra det valgte produktet
Se eksempelet her eller dokumentasjonen
2. AllocateTimeSlot
Legg til Token og TimeSlotToken i options-objektet i forespørselen.
Hent ut AllocatedTimeSlotToken fra svaret
Se eksempelet her eller dokumentasjonen
3. SubmitShipment
Legg til Token og AllocatedTimeSlotToken i options-objektet i forespørselen
Se eksempelet her eller dokumentasjonen
4. TransmitShipment
Se denne artikkelen eller dokumentasjonen
Hvis du vil kansellere en forsendelse
1. DeleteShipment
2. VoidTimeSlot
Legg til AllocatedTimeSlotToken i options-objektet i forespørselen.
Se eksempelet her eller dokumentasjonen
Eksempler på forespørsler
Merk: Shipment Server forventer at forespørslene er kodet som form-data eller x-www-form-urlencoded
...
GetShipAdvise - Forespørselsinnhold
{
"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"
}Svarinnhold
{
"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": "Suksess: Liste over gyldige produkter returnert",
"TimeLog": []
}...
AllocateTimeSlot - Forespørselsinnhold
{
"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"
}Svarinnhold
{
"Result": "Suksess",
"AllocatedTimeSlotToken": "YXRzdDtmZjIxYTlkMi1mM2ZhLTExZWEtYjY3...",
"Information": ""
}...
SubmitShipment - Forespørselsinnhold
{
"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"
}Svarinnhold
{
"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 - Forespørselsinnhold
{
"data": {},
"options": {
"AllocatedTimeSlotToken": "YXRzdDtmZjIxYTlkMi1mM2ZhLTExZWEtYjY3N..."
},
"key": "sample",
"actor": "134",
"command": "VoidTimeSlot"
}Svarinnhold
{
"Result": "Suksess",
"Information": ""
}
Ofte stilte spørsmål
-
Gjør AllocatedTimeSlotToken i en SubmitShipment-kall noe annet enn å oppdatere leveringsdatofeltene på en forsendelse?
Avhenger av transportør
- -
Utgår en TimeSlotToken?
Avhenger av transportør
- -
Betaler kunden for tildeling av en TimeSlot?
Avhenger av transportør
-
-
Aktiveres AllocatedTimeSlot bare når jeg gjør en SubmitShipment med den?
Nei, den skal aktiveres når man kaller AllocateTimeSlot-metoden
- -
Hva skjer hvis du tildeler en TimeSlot men aldri kaller VoidTimeSlot-metoden hvis du ikke lenger trenger den?
Avhenger av transportør
- -
Hvordan vet jeg hvor mange TimeSlots jeg har reservert?
Kunden må selv holde oversikt
- -
Hvis du har brukt AllocatedTimeSlotToken i en SubmitShipment, kaller DeleteShipment-metoden VoidTimeSlot-metoden, eller trenger vi ikke gjøre dette?
Avhenger av transportørens implementering.