Endpoints
Żądanie wycen wysyłki
POST | https://api.iglobalstores.com/2.0/shipping-quotes
- Utwórz nowe żądanie wycen wysyłki dla przedmiotów w koszyku, które obejmują cła i podatki importowe oraz informacje o sprawdzaniu ograniczeń przedmiotów.
Żądanie HTTPS
Pole | Uwagi |
---|---|
Metoda HTTP | POST |
URL endpointu | https://api.iglobalstores.com/2.0/shipping-quotes |
Protokół | HTTPS |
Format wiadomości | JSON |
Nagłówek Accept HTTP | Accept: application/json |
Nagłówek tokena bezpieczeństwa HTTP | serviceToken: your-test-token-valueDodaj nagłówek do swojego żądania HTTPS o nazwie serviceToken z wartością swojego Test Security API Token. (Skontaktuj się ze swoim menedżerem konta w celu uzyskania tego tokena) |
Nagłówek Content-Type HTTP | Content-Type: application/jsonPonieważ będziesz przesyłać dane JSON do usługi, dodaj nagłówek do swojego żądania HTTPS o nazwie Content-Type z wartością application/json |
PARY KLUCZ/WARTOŚĆ JSON w ciele żądania
Format wiadomości: JSON
Przykładowe żądanie
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{
"boxCount": null,
"items": [
{
"cartItemId": 1,
"detailedDescription": "description including options, material content, etc",
"category": "sunglasses",
"productId": "17898-675234",
"sku": "oakley-123",
"unitPrice": 199.0,
"quantity": 1,
"length": 2.5,
"width": 6.5,
"height": 2.5,
"dimensionalUnits": null,
"weight": 4,
"weightUnits": "OZ",
"hsCode": null,
"brandName": "Oakley",
"countryOfOrigin": "CN"
},
{
"cartItemId": 2,
"detailedDescription": "description including options, material content, etc",
"category": "sunglasses",
"productId": "17898-675235",
"sku": "oakley-125",
"unitPrice": 179.0,
"quantity": 1,
"length": 2.5,
"width": 6.5,
"height": 2.5,
"dimensionalUnits": null,
"weight": 4,
"weightUnits": "OZ",
"hsCode": null,
"brandName": "Oakley",
"countryOfOrigin": "CN"
}
],
"shippingAmountOverride": null,
"shipFromAddress": null,
"shipToAddress": {
"name": "John Doe",
"address1": "123 S West Elm St",
"address2": null,
"address3": null,
"city": "Calgary",
"state": "Alberta",
"stateCode": "AB",
"postalCode": "T2P 5G8",
"countryCode": "CA"
}
}
Definicje JSON żądania
Pole | Uwagi |
---|---|
boxCount | To pole opisuje pudełka, które będą użyte do wysyłki zamówienia. Nie oczekuje się, że sprzedawca zna to w momencie składania zamówienia; jednak jeśli jest to znane, może być przekazane w następującym formacie. Przykładowa wartość: 22x15x15(1),8x8x4(2),32x22x14(1) Format: Lista wymiarów pudełek i ich liczby oddzielona przecinkami. W powyższym przykładzie jest łącznie 4 pudełka. Pierwsze pudełko na liście będzie miało długość 22 cale, szerokość 15 cali i wysokość 15 cali. Będzie tylko jedno pudełko o tym rozmiarze. Będą dwa pudełka o rozmiarze 8x8x4 cale. Akceptowalne jest przekazywanie tych samych wymiarów pudełek wielokrotnie, jeśli jest to dla Ciebie łatwe, na przykład: “22x15x15(1),22x15x15(1)”, co oznacza 2 pudełka o rozmiarze 22x15x15 cali. |
items WYMAGANE | Lista map przedmiotów |
items[index].brandName | Nazwa marki konkretnego przedmiotu pomoże naszemu silnikowi reguł najlepiej określić, czy ograniczenie dotyczy przedmiotu w kraju docelowym. Nawet jeśli nazwa marki przedmiotu nie pasuje tekstowo do konkretnego ograniczenia, nasz silnik reguł użyje SKU przedmiotu i/lub productId , aby lepiej zdecydować, czy przedmiot jest rzeczywiście ograniczony w kraju docelowym. Proszę przesłać nazwę marki, jeśli jest dostępna. Przykładowe wartości: “Oakley” lub “Nike” lub null |
items[index].cartItemId WYMAGANE | To pole jest wymagane do identyfikacji przedmiotu, szczególnie w obrębie listy przedmiotów. Może to być tak proste jak wartość indeksu. Użyjemy tego cartItemId , aby zidentyfikować przedmiot, jeśli jest on ograniczony w odpowiedzi JSON. Upewnij się, że możesz zidentyfikować ten sam przedmiot w swoim koszyku za pomocą tego cartItemId , które nam przekazujesz. Przykładowe wartości: 1 lub 2 lub 3 |
items[index].category | Kategorie produktów - konkretny produkt, do którego należy. Kategoria pomoże naszemu silnikowi reguł najlepiej określić, czy ograniczenie dotyczy przedmiotu w kraju docelowym. Nawet jeśli kategoria przedmiotu nie pasuje tekstowo do konkretnego ograniczenia, nasz silnik reguł użyje SKU przedmiotu i/lub productId , aby lepiej zdecydować, czy przedmiot jest rzeczywiście ograniczony w kraju docelowym. Format: Lista nazw kategorii oddzielona znakiem pipe. Każda nazwa kategorii może składać się z jednego lub więcej słów. Jeśli przedmiot istnieje w więcej niż jednej kategorii, proszę wymienić je wszystkie oddzielone znakiem pipe “”. Przykładowe wartości: “Okulary przeciwsłoneczne” lub “Akcesoria wieczoroweTorebki” |
items[index].countryOfOrigin | Kraj pochodzenia to kraj, w którym przedmiot został wyprodukowany lub z którego pochodzi. Kraj pochodzenia pomoże naszemu silnikowi reguł najlepiej określić, czy do przedmiotu w kraju docelowym stosuje się ograniczenia. Niektóre kraje nie zezwalają na import określonych rodzajów towarów z innych krajów. Przykładowe wartości: “CN” dla Chin lub “US” dla Stanów Zjednoczonych lub null |
items[index].detailedDescription WYMAGANE | To pole to po prostu tekst, ale powinno zawierać jak najwięcej informacji o zakupionym przedmiocie. Na przykład pełna nazwa i kod przedmiotu, jeśli dotyczy, kolor lub inne wybrane opcje, zawartość materiału oraz wszelkie teksty opisowe, które masz dla przedmiotu. Istnieje wiele różnych rodzajów ograniczeń importowych do krajów zagranicznych, takich jak skórzane buty do Włoch. Czasami jedynym sposobem na wychwycenie tych ograniczonych przedmiotów jest detailedDescription . Uwaga: Nawet jeśli detailedDescription przedmiotu tekstowo pasuje lub nie pasuje do konkretnego ograniczenia, nasz silnik reguł użyje SKU przedmiotu i/lub productId , aby lepiej zdecydować, czy przedmiot jest rzeczywiście ograniczony w kraju docelowym. Aby uzyskać najlepsze wyniki, proszę przesłać jak najwięcej informacji w polu detailedDescription . Przykładowa wartość: “Tory Burch, Robinson – Double Zip’ Tote, kolor: New Carnival, zawartość materiału: skóra, Kolorowa skóra nadaje przyciągający wzrok wygląd starannie ustrukturyzowanej torby, wykończonej logo i zwiniętymi uchwytami dla całkowicie wyrafinowanego wyglądu. Zapięcie na magnes z podwójnymi zamkami błyskawicznymi. Wewnętrzne kieszenie na zamek, ścienne i na telefon komórkowy. Ochronne metalowe nóżki. Skóra. Od Tory Burch; importowane.” |
items[index].height | To wysokość twojego przedmiotu. Istnieje inne pole o nazwie dimensionalUnits , w którym określasz cale lub centymetry dla tego pomiaru. Proszę podać bez przecinków i z maksymalnie dwoma miejscami po przecinku. Przykładowa wartość: 25.5 Twoje stawki wysyłkowe będą najdokładniejsze, jeśli przekażesz to pole. |
items[index].hsCode | To jest kod HS, który identyfikuje przedmiot w krajach zagranicznych. Przekazanie hsCode pomoże w prawidłowym określeniu odpowiedniej stawki cła rate dla konkretnego przedmiotu. Nie jest wymagane, jeśli jest niedostępne – zajmiemy się tym, jeśli go nie masz. Format: Może to być kod 10-cyfrowy lub 6-cyfrowy; może zawierać znaki „.” jako separator lub nie. Przykładowe wartości: “20.4560.0000” lub “20.4560” lub “204560” (akceptowane są kody 10- lub 6-cyfrowe) |
items[index].length | To długość twojego przedmiotu. Istnieje inne pole o nazwie dimensionalUnits , w którym określasz cale lub centymetry dla tego pomiaru. Proszę podać bez przecinków i z maksymalnie dwoma miejscami po przecinku. Przykładowa wartość: 25.5 Twoje stawki wysyłkowe będą najdokładniejsze, jeśli przekażesz to pole. |
items[index].productId | To jest identyfikator produktu dla konkretnego przedmiotu. Nasz silnik reguł użyje tej wartości jako identyfikatora, aby powiązać informacje o przedmiocie z twoim przedmiotem. Przykładowa wartość: “17898-675235” Proszę przekazać przynajmniej productID lub SKU. Preferowane jest przekazanie obu. |
items[index].quantity WYMAGANE | To jest ilość kupowanego konkretnego przedmiotu. Proszę podać jako liczbę całkowitą dodatnią, bez przecinków i miejsc po przecinku. Przykładowe wartości: 1 lub 9999 (wolimy, abyś sprzedawał więcej przedmiotów niż mniej!) |
items[index].sku | To jest twoje SKU dla konkretnego przedmiotu. Nasz silnik reguł użyje tej wartości jako identyfikatora, aby powiązać informacje o przedmiocie z twoim przedmiotem. Przykładowa wartość: “oakley-125” Proszę przekazać przynajmniej productId lub SKU. Preferowane jest przekazanie obu. |
items[index].unitPrice WYMAGANE | To jest cena jednostkowa twojego przedmiotu w USD (dolarach amerykańskich). Proszę podać bez przecinków, bez znaku dolara “$” i z dwoma miejscami po przecinku. Przykładowa wartość: 2102.99 |
items[index].weight | To jest waga twojego przedmiotu. Istnieje inne pole o nazwie weightUnits , w którym określasz funty, uncje, gramy lub kilogramy dla tego pomiaru. Proszę podać bez przecinków i z maksymalnie dwoma miejscami po przecinku. Przykładowa wartość: 4.2 Twoje stawki wysyłkowe będą najbardziej dokładne, jeśli przekażesz to pole. |
items[index].weightUnits | Domyślnie „LB” dla funtów Jednostka miary dla wartości wagi. Jeśli ustawione na null, przyjmuje się „LB” (funty). Przykładowe wartości: „LB” dla funtów lub „OZ” dla uncji lub „G” dla gramów lub „KG” dla kilogramów lub null |
items[index].width | To jest szerokość twojego przedmiotu. Istnieje inne pole o nazwie dimensionalUnits , w którym określasz cale lub centymetry dla tego pomiaru. Proszę podać bez przecinków i z maksymalnie dwoma miejscami po przecinku. Przykładowa wartość: 25.5 Twoje stawki wysyłkowe będą najbardziej dokładne, jeśli przekażesz to pole. |
shipFromAddress | Jeśli przekazane jako null, użyjemy domyślnego shipFromAddress powiązanego z twoim kontem sprzedawcy. To jest adres, z którego zamówienie będzie wysyłane, tzn. twojego magazynu. To jest mapa zawierająca następujące pola adresowe: address1 , address2 , address3 , city , state , stateCode , postalCode , countryCode . Te zawarte pola są wymagane lub nie, w zależności od kraju. Punkt końcowy lokalizacji zwraca, które konkretne pola adresowe są wymagane dla każdego kraju. Uwaga: stateCode jest zawsze nie wymagane i nie zadeklarowane w punkcie końcowym lokalizacji. Możesz przekazać stateCode , jeśli jest dostępne. |
shippingAmountOverride | To jest używane tylko wtedy, gdy znasz koszt wysyłki przed wywołaniem API. Jest w USD (dolarach amerykańskich). Proszę podać bez przecinków, bez znaku dolara „$” i z dwoma miejscami po przecinku. Ta funkcja nie będzie działać bez jej skonfigurowania z przedstawicielem Zonos. Przykładowa wartość: 212.99 |
shipToAddress WYMAGANE | To jest adres, na który zamówienie będzie wysyłane. To jest mapa zawierająca następujące pola adresowe: name , address1 , address2 , address3 , city , state , stateCode , postalCode , countryCode . Te zawarte pola są wymagane lub nie w zależności od kraju. Punkt końcowy lokalizacji zwraca, które konkretne pola adresowe są wymagane dla każdego kraju. Uwaga: name i stateCode są zawsze nie wymagane i nie zadeklarowane w punkcie końcowym lokalizacji. Możesz przekazać name i/lub stateCode , jeśli są dostępne. |
HTTPS response
Format wiadomości: JSON
Przykładowa odpowiedź tylko dla Kanady i Australii
Uwaga: Rzeczywiste odpowiedzi będą zawierać wszystkie obsługiwane kraje.
Przykładowe żądanie
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
{
"shippingQuotes": [
{
"id": "bcdbdbcd-0145-4d3b-a54e-0de3cdce5a0a",
"carrier": "UPS",
"conversionRate": 1.32,
"currencyCode": "CAD",
"displayName": "Express Air 2-4 Day Delivery",
"duty": 10.2,
"dutyTaxBrokerageFee": 5.0,
"dutyTaxCarrierPrepaymentFee": 5.0,
"dutyTaxEnabled": true,
"dutyTaxForced": false,
"dutyTaxTotal": 29.38,
"dutyTaxUnderDeminimus": false,
"restrictedItems": [
{
"cartItemId": 1,
"message": "We are unable to sell Oakley products to your country.",
"reasonCode": "BRAND_COUNTRY"
},
{
"cartItemId": 2,
"message": "We are unable to sell Oakley products to your country.",
"reasonCode": "BRAND_COUNTRY"
}
],
"shippingTotal": 23.62,
"taxOrVat": 9.18
},
{
"id": "80c57724-ab4e-4997-8477-08b668fef103",
"carrier": "USPS",
"conversionRate": 1.32,
"currencyCode": "CAD",
"displayName": "Post 5-10 Day Delivery",
"duty": 9.2,
"dutyTaxBrokerageFee": 5.0,
"dutyTaxCarrierPrepaymentFee": 5.0,
"dutyTaxEnabled": true,
"dutyTaxForced": false,
"dutyTaxTotal": 27.38,
"dutyTaxUnderDeminimus": false,
"restrictedItems": [
{
"cartItemId": 1,
"message": "We are unable to sell Oakley products to your country.",
"reasonCode": "BRAND_COUNTRY"
},
{
"cartItemId": 2,
"message": "We are unable to sell Oakley products to your country.",
"reasonCode": "BRAND_COUNTRY"
}
],
"shippingTotal": 13.62,
"taxOrVat": 8.18
}
]
}
Definicje odpowiedzi JSON
Pole | Uwagi |
---|---|
shippingQuotes | To jest lista map cytatów wysyłkowych. |
shippingQuotes[index].carrier | Przewoźnik, do którego odnosi się cytat wysyłkowy. Może być ustawiony na null tylko wtedy, gdy sprzedawca poprosił o utworzenie ogólnych profili wysyłkowych, a nie specyficznych dla przewoźnika. Cytaty wysyłkowe nie muszą być specyficzne dla przewoźnika; mogą być. Skontaktuj się z Menedżerem Konta, aby uzyskać pomoc w ustawieniu profili wysyłkowych. Przykładowe wartości: UPS lub FEDEX lub DHL lub USPS lub CAPOST lub null |
shippingQuotes[index].displayName | Nazwa wyświetlana dla opcji wysyłki, odpowiednia do wyświetlenia klientowi. Te wartości są dostosowywalne dla sprzedawcy. Skontaktuj się z Menedżerem Konta, aby to zrobić. Przykładowa wartość: “Ekspresowa dostawa 2-4 dni” |
shippingQuotes[index].duty | Kwota cła importowego zawarta w dutyTaxTotal . Ta kwota jest w USD, nie będzie zawierać przecinków i będzie zawierać dwie miejsca po przecinku. Przykładowa wartość: 8.29 |
shippingQuotes[index] .dutyTaxBrokerageFee | To jest to, co zagraniczny broker importowy pobierze od Ciebie za przetworzenie Twoich ceł i podatków importowych. Ta kwota jest zawarta w dutyTaxTotal . Kwota jest w USD, nie będzie zawierać przecinków i będzie zawierać dwie miejsca po przecinku. Przykładowa wartość: 5.00 |
shippingQuotes[index] .duyTaxCarrierPrepaymentFee | To jest to, co przewoźnik pobierze od Ciebie za prepay cła i podatki do kraju importu. Ta kwota jest zawarta w dutyTaxTotal . Ta kwota jest w USD, nie będzie zawierać przecinków i będzie zawierać dwie miejsca po przecinku. Przykładowa wartość: 5.00 |
shippingQuotes[index] .duyTaxEnabled | Czy ten cytat wysyłkowy umożliwia klientowi prepay swoje cła i podatki importowe. Jeśli ustawione na false, dutyTaxTotal powinno być ignorowane. Przykładowe wartości: true lub false |
shippingQuotes[index] .duyTaxForced | Czy ten cytat wysyłkowy zmusza klienta do prepay swoich ceł i podatków importowych. Jeśli ustawione na true, powinieneś uwzględnić dutyTaxTotal w zamówieniu, wyjaśniając klientowi, że jest to wymagane w przypadku tej konkretnej opcji wysyłki. Jeśli ustawione na false, możesz pozwolić klientowi wybrać, czy chce prepay swoje cła i podatki importowe. Przykładowe wartości: true lub false |
shippingQuotes[index].dutyTaxTotal | Całkowity koszt cła i podatku dla danego cytatu wysyłkowego. Cło i podatek mogą być opcjonalne, niedostępne lub wymuszone dla danego cytatu wysyłkowego. Ta kwota nie jest uwzględniana w shippingTotal . Ta kwota jest w USD, nie będzie zawierać przecinków i będzie zawierać dwie miejsca po przecinku. Przykładowa wartość: 19.55 |
shippingQuotes[index] .dutyTaxUnderDeMinimis | Czy całkowita wartość zamówienia, korzystając z tej konkretnej opcji wysyłki, jest poniżej zarówno kwoty de minimis podatku/VAT, jak i kwoty de minimis cła. Jeśli ustawione na true, dutyTaxTotal zostanie ustawione na 0.00, a Ty powinieneś poinformować klienta, że nie będzie żadnych ceł ani podatków do zapłacenia za jego zamówienie. Dodatkowo wymuś przedpłatę ceł i podatków, ponieważ koszt wynosi 0.00. |
shippingQuotes[index].id | Identyfikator dla konkretnego cytatu wysyłkowego; 36-znakowy UUID. Przykładowa wartość: bcdbdbcd-0145-4d3b-a54e-0de3cdce5a0a |
shippingQuotes[index].restrictedItems | To jest lista map, zawierająca szczegóły dotyczące wszelkich przedmiotów w koszyku, które są ograniczone za pomocą tej konkretnej oferty wysyłkowej. Każdy ograniczony przedmiot ma reasonCode . Powód może być specyficzny lub nie dla opcji wysyłki. Niektóre powody ograniczeń przedmiotów wynikają z przepisów dotyczących importu w danym kraju, ograniczeń marki lub nawet zasad stworzonych przez sprzedawcę. Za każdym razem, gdy kupujący wybiera opcję wysyłki, przedmioty w koszyku powinny być porównywane z listą restrictedItems oferty wysyłkowej. Jeśli jakiekolwiek przedmioty w koszyku są ograniczone, komunikat powinien być wyświetlony kupującemu, a ograniczone przedmioty powinny być usunięte z całkowitej wartości zamówienia, itd. |
shippingQuotes[index] .restrictedItems[index].cartItemId | To jest cartItemId z żądania JSON ograniczonego przedmiotu w koszyku. Powinieneś być w stanie powiązać ten cartItemId z konkretnym przedmiotem w koszyku twojego kupującego. Przykładowe wartości: 1 lub 2 lub 3 |
shippingQuotes[index] .restrictedItems[index].message | To jest komunikat, który może być wyświetlony kupującemu na temat tego, dlaczego przedmiot jest ograniczony. Te komunikaty są dostosowywane przez sprzedawcę. Proszę skontaktować się z twoim Zonos przedstawicielem w celu uzyskania szczegółów. Przykładowa wartość: „Nie możemy sprzedawać produktów Oakley do twojego kraju.” |
shippingQuotes[index] .restrictedItems[index].reasonCode | To jest kod powodu dla ograniczenia przedmiotu. Ograniczenia są zawsze specyficzne dla kraju, a nasze kody powodów to jasno pokazują. Przykładowe wartości: BRAND_COUNTRY lub IMPORT_COUNTRY lub EXPORT_COUNTRY lub CARRIER_COUNTRY lub MERCHANT_COUNTRY . BRAND_COUNTRY oznacza, że określiłeś, że nie możesz sprzedawać marki w określonym zestawie krajów. IMPORT_COUNTRY oznacza, że kraj importujący nie zezwala na import przedmiotu. EXPORT_COUNTRY oznacza, że kraj eksportujący (zwykle Stany Zjednoczone) nie zezwala na eksport przedmiotu. CARRIER_COUNTRY oznacza, że konkretny przewoźnik nie przewozi przedmiotu. MERCHANT_COUNTRY oznacza, że ustawiłeś niestandardową zasadę ograniczenia, którą przedmiot wywołał. |
shippingQuotes[index] .shippingTotal | Całkowity koszt wysyłki dla danej oferty wysyłkowej. Oferty wysyłkowe mogą również mieć kwotę dutyTaxTotal , która nie jest wliczona w ten shippingTotal . Ta kwota jest w USD, nie będzie zawierać przecinków i będzie zawierać dwie cyfry po przecinku. Przykładowa wartość: 25.82 |
shippingQuotes[index].taxOrVat | Kwota podatku lub VAT wliczona w dutyTaxTotal . Dla niektórych krajów jest to podatek; dla innych jest to VAT. Ta kwota jest w USD, nie będzie zawierać przecinków i będzie zawierać dwie cyfry po przecinku. Przykładowa wartość: 4.35 |
Landed Cost API Legacy
Dowiedz się, jak działa Legacy Landed Cost API.Informacje poniżej dotyczą naszego legacy Landed Cost API. Zobacz naszą Landed Cost API dla najnowszej wersji.
Endpoint shipping-quotes akceptuje szczegóły dotyczące koszyka klienta, zwraca wyceny wysyłki wraz z wycenami cła i podatków importowych oraz sprawdza przedmioty pod kątem ograniczeń. Te zwrócone wyceny wysyłki są oparte na profilach wysyłkowych, które są skonfigurowane przed użyciem tego endpointu API.
Mamy domyślne profile wysyłkowe do celów testowych, ale będziesz musiał współpracować z menedżerem konta, aby skonfigurować rzeczywiste profile wysyłkowe i ustawienia, które Twoja firma chce używać.