Przygotuj dane wejściowe do mutacji
Obliczanie landed cost za pomocą GraphQL API wymaga wielu kroków; zorganizowaliśmy te kroki w przepływy pracy. Na końcu będziesz miał wszystko, co potrzebne, aby wykonać jedno wywołanie, aby uzyskać landed cost na podstawie miejsca wysyłki, przedmiotów w koszyku i wysyłki.
Każdy przepływ pracy wymaga specyficznych danych wejściowych. GraphQL pozwala na dołączenie większej ilości informacji niż wymagane; prosimy o zapoznanie się z naszą pełną referencją API, aby zobaczyć wszystkie możliwe pola. Wymagane pola są oznaczone w naszej referencji API, ale to oznaczenie dotyczy tylko pól, które są wymagane do funkcjonalności. Kilka dodatkowych pól jest wymaganych przy korzystaniu z naszej gwarancji.
Poniżej wymieniliśmy wszystkie wymagane pola do obliczenia gwarantowanego landed cost. Upewnij się, że masz te informacje gotowe.
Wymagane dane wejściowe do gwarantowanych obliczeń
partyCreateWorkflowInput
partyCreateWorkflowInput
identyfikuje zaangażowane strony i ich lokalizacje. Zobacz pełną strukturę w naszej referencji API GraphQL reference. Wymagane pola to:
location
administrativeAreaCode
: Kod stanu lub prowincji, w dwóch literach. Wymagane tylko dla CA i BR.countryCode
: Dwu-literowy kod ISO kraju.line1
: Pierwsza linia adresu.postalCode
: Kod pocztowy lub kod ZIP adresu.
person
email
: Adres e-mail osoby.firstName
: Imię osoby.lastName
: Nazwisko osoby.phone
: Numer telefonu osoby.
type
DESTINATION
: Informacje olocation
iperson
dla miejsca wysyłki.ORIGIN
: Informacje olocation
dla miejsca pochodzenia wysyłki. Osoba związana z miejscem pochodzenia wysyłki nie jest wymagana.
itemCreateWorkflowInput
itemCreateWorkflowInput
wymienia przedmioty w koszyku. Istnieje wiele opcjonalnych pól (zobacz wszystkie możliwości w naszej referencji API), ale poniższe pola są wymagane.
amount
: Cena przedmiotu.currencyCode
: Kod waluty dla kwoty przedmiotu.quantity
: Ilość przedmiotu.- Jedno z poniższych (cokolwiek jest ustawione jako Twoje preferencje klucza przedmiotu. Twój klucz przedmiotu łączy informacje przechowywane w Katalogu z przedmiotem w koszyku i jest używany podczas tworzenia etykiety.)
productId
: ID produktu przedmiotu.sku
: SKU przedmiotu.
measurements
(WEIGHT
, LENGTH
, WIDTH
, HEIGHT
) są wymagane tylko wtedy, gdy chcesz kartonować swoje przedmioty podczas uzyskiwania wyceny przesyłki.
shipmentRatingCreateWorkflowInput
Ten przepływ pracy jest używany, gdy już znasz usługę wysyłkową i koszt; jeśli chcesz, aby Zonos obliczył te koszty dla usług, które włączyłeś, zamień ten przepływ pracy na shipmentRatingCalculateWorkflow
.
shipmentRatingCreateWorkflowInput
komunikuje koszt wysyłki. Zobacz pełną strukturę w naszej referencji API GraphQL reference. Wymagane pola to:
amount
: Koszt wysyłki.currencyCode
: Kod waluty kosztu wysyłki.serviceLevelCode
: Kod wskazujący poziom usługi wysyłkowej używany w wycenie przesyłki.
landedCostWorkflowInput
landedCostWorkflowInput
określa preferencje dla obliczenia landed cost. Zobacz pełną strukturę w naszej referencji API GraphQL reference. Wymagane pola to:
calculationMethod
: Wskazuje Twoje preferencje dotyczące sposobu wysyłki: DDP (opłacone cła i podatki) lub DAP (cła i podatki są opłacane przy dostawie, lub jeśli stosuje się schemat zwrotu, są one zwracane za pomocą identyfikatora podatkowego).- Jeśli korzystasz z naszej gwarancji landed cost, ta wartość powinna zawsze być
DDP_PREFERRED
, co zapewni wycenę DDP, gdy to możliwe, a wycenę DAP, jeśli wycena DDP nie jest dozwolona. UżycieDAP
zamiast tego może skutkować brakiem gwarancji kosztów lądowania, ponieważ zazwyczaj skutkuje to opłatami celnymi i podatkami płaconymi przy dostawie.
- Jeśli korzystasz z naszej gwarancji landed cost, ta wartość powinna zawsze być
endUse
: Wskazuje, czy towary są sprzedawane innej firmie (FOR_RESALE
), czy do użytku końcowego przez konsumenta (NOT_FOR_RESALE
).tariffRate
: Wskazuje metodę, którą Zonos powinien użyć do obliczenia stawek celnych dla tej wyceny, w przypadku gdy istnieje zakres stawek celnych, które mogą być zastosowane. *Kiedy korzystasz z naszej gwarancji landed cost, to powinno zawsze byćZONOS_PREFERRED
.
Dodaj obliczoną wysyłkę: Jeśli chcesz, aby Zonos obliczył koszt wysyłki za Ciebie, zamień
shipmentRatingCreateWorkflow
nashipmentRatingCalculateWorkflow
. DodajcartonizeWorkflow
, jeśli chcesz, aby Zonos sortował Twoje przedmioty do kartonów przed znalezieniem kosztu wysyłki (używane do wagi wymiarowej).
Opcje przy obliczaniu landed cost
GraphQL daje Ci elastyczność w dostosowywaniu żądania do Twoich preferencji. Istnieje kilka opcji, jak możesz uwzględnić kody HS i koszty wysyłki w żądaniu.
Kody HS
Kody HS wpływają na stawki celne, dlatego są wymagane. Możesz przekazać kod HS dla każdego przedmiotu lub pozwolić, aby Classify je wygenerował.
Zonos zdecydowanie zaleca używanie specyficznych dla produktu kodów HS, ponieważ prowadzi to do dokładniejszej wyceny landed cost. Jeśli znasz swoje kody HS, przekaż hsCode
dla każdego item
podczas itemCreateWorkflow
.
Jeśli przekażesz kod HS, Zonos zweryfikuje go na bieżąco podczas uzyskiwania wyceny landed cost. Jeśli podany przez Ciebie kod HS jest nieprawidłowy (co oznacza, że nie istnieje), Zonos ponownie-classify sklasyfikuje Twój przedmiot na bieżąco i użyje nowego, ważnego kodu HS zamiast podanego przez Ciebie.
Jeśli potrzebujesz pomocy w generowaniu kodów HS dla swoich produktów, dowiedz się o Zonos Classify i jak zażądać klasyfikacji.
Jeśli nie przekażesz Zonos hsCode
, najpierw sprawdzimy Zonos Catalog, aby zobaczyć, czy masz zapisany kod HS dla swojego przedmiotu. Jeśli nie, zadzwonimy do Classify, aby wygenerować klasyfikację, która zasili Twoje obliczenia landed cost na podstawie następujących pól szczegółów produktu w itemCreateWorkflow
: description
, category
i material
. Jeśli Twoje pola szczegółów produktu nie są wystarczająco szczegółowe, aby wygenerować klasyfikację na podstawie oceny pewności Classify's, użyty zostanie domyślny kod HS przypisany do Twojego sklepu.
Domyślnie, jeśli nie dostarczysz hsCode
i zadzwonimy do Classify, kod hsCode
wygenerowany przez Classify nie zostanie zwrócony w odpowiedzi, ponieważ będzie wykorzystywany tylko wewnętrznie do generowania Twojego landed cost. Jednak jeśli masz subskrypcję Classify, zwrócimy kod HS Classify's w odpowiedzi na Twoje landed cost.
Koszt wysyłki
Zarówno poziom usługi wysyłkowej, jak i jej koszt wpływają na cła, podatki i opłaty, dlatego są wymagane. Zonos może obliczyć koszty wysyłki lub możesz to nam przekazać.
Aby Zonos obliczył koszty wysyłki, użyj shipmentRatingCalculateWorkflow
. Opcje wysyłki zwrócone w obliczonej odpowiedzi na wysyłkę będą odpowiadać serviceLevels
, które przypisałeś do profili wysyłkowych w Dashboard.
Rozwiązywanie problemów: Jeśli oczekujesz
serviceLevel
w odpowiedzi, ale nie pojawia się, upewnij się, żeserviceLevel
jest włączony i jest obsługiwany przez wybranąmethod
.
Dodaj cartonizeWorkflow
(który nie ma żadnych wejść), jeśli chcesz, aby Zonos posortował Twoje przedmioty do kartonów przed znalezieniem kosztu wysyłki (używane do wagi wymiarowej.
Jeśli znasz serviceLevel
i amount
dla przesyłki, możesz je przekazać w części shipmentRatingCreateWorkflow
żądania. Użyjemy tych wartości do obliczenia wszelkich związanych opłat przewoźnika i zwrócimy je w odpowiedzi.
Wyślij mutację
Gdy masz wymagane dane wejściowe, wyślij mutację GraphQL do punktu końcowego API, używając wybranej biblioteki lub narzędzia klienckiego. Oto kilka przykładów, jak możesz zbudować mutację.
Mutacja
mutation {
partyCreateWorkflow(
input: [
{
location: {
administrativeArea: "Utah"
administrativeAreaCode: "UT"
countryCode: US
line1: "345 N 2450 E"
line2: "#151"
locality: "St George"
postalCode: "84790"
}
type: ORIGIN
}
{
location: {
administrativeArea: "BC"
administrativeAreaCode: "BC"
countryCode: CA
line1: "27 Sussex Dr."
locality: "Victoria"
postalCode: "V8T 2V9"
}
person: {
email: "test@gmail.com"
firstName: "firstName"
lastName: "lastName"
phone: "5022303021"
companyName: "goProTest"
metadata: { key: "key", value: "value" }
}
type: DESTINATION
}
{
type: PAYOR
location: {
administrativeArea: "ON"
administrativeAreaCode: "ON"
countryCode: CA
latitude: 1.2
line1: "asdf"
line2: "asdf"
locality: "locality"
longitude: 3423.2
postalCode: "M4C 1A1"
}
person: {
email: "test@gmail.com"
firstName: "firstName"
lastName: "lastName"
phone: "5022303021"
companyName: "goProTest"
metadata: { key: "key", value: "value" }
}
}
]
) {
type
id
organization
}
itemCreateWorkflow(
input: [
{
amount: 69
currencyCode: USD
countryOfOrigin: US
quantity: 1
productId: "productId"
hsCode: "1006.30"
description: "description"
measurements: [
{ type: WIDTH, value: 2, unitOfMeasure: CENTIMETER }
{ type: WEIGHT, value: 2, unitOfMeasure: POUND }
]
}
{
amount: 62
currencyCode: CAD
countryOfOrigin: US
hsCode: "1006.30"
quantity: 1
productId: "productId2"
description: "description2"
measurements: [
{ type: WIDTH, value: 2, unitOfMeasure: CENTIMETER }
{ type: WEIGHT, value: 2, unitOfMeasure: POUND }
]
}
]
) {
id
amount
}
cartonizeWorkflow {
id
type
items {
item {
id
}
}
}
shipmentRatingCalculateWorkflow {
id
amount
}
landedCostCalculateWorkflow(
input: { endUse: FOR_RESALE, method: DAP, tariffRate: ZONOS_PREFERRED }
) {
id
duties {
amount
currency
}
taxes {
amount
currency
}
fees {
amount
currency
}
}
}
Odpowiedź
{
"data": {
"partyCreateWorkflow": [
{
"type": "ORIGIN",
"id": "party_749959ae-b9ff-4de4-b4ac-59cc990c53ba",
"organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
},
{
"type": "DESTINATION",
"id": "party_cd7ff245-76b6-464f-a7bf-151ebe1f8833",
"organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
},
{
"type": "PAYOR",
"id": "party_00e63a9e-9735-44d9-b129-3b3e76c5df25",
"organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
}
],
"itemCreateWorkflow": [
{
"id": "item_eb27f071-de8b-4578-9db9-ae69aaf9be3e",
"amount": 69
},
{
"id": "item_fffa8ba8-cc8d-4e13-bed6-55044a71c115",
"amount": 62
}
],
"cartonizeWorkflow": [
{
"id": "carton_b34b29c1-ce27-464b-b91b-df8e4a696312",
"type": "PACKAGE",
"items": [
{
"item": {
"id": "item_eb27f071-de8b-4578-9db9-ae69aaf9be3e"
}
},
{
"item": {
"id": "item_fffa8ba8-cc8d-4e13-bed6-55044a71c115"
}
}
]
}
],
"shipmentRatingCalculateWorkflow": [
{
"id": "shipment_rating_96787309-9510-43cc-b4fa-c341ff80f4cc",
"amount": 173.2
},
{
"id": "shipment_rating_b0ccb109-7794-4c7c-b5cc-e2cfbbc5c8ac",
"amount": 190.1
}
],
"landedCostCalculateWorkflow": [
{
"id": "landed_cost_74d3ce11-bff2-4326-9e6f-368e03ac88b4",
"duties": [
{
"amount": 0.0,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
}
],
"taxes": [
{
"amount": 3.45,
"currency": "USD"
},
{
"amount": 3.1,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
}
],
"fees": [
{
"amount": 0.13,
"currency": "USD"
},
{
"amount": 1.44,
"currency": "USD"
}
]
},
{
"id": "landed_cost_7bbfd354-028c-457f-8c8e-c81bb8fa09a0",
"duties": [
{
"amount": 0.0,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
}
],
"taxes": [
{
"amount": 3.45,
"currency": "USD"
},
{
"amount": 3.1,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
},
{
"amount": 0.0,
"currency": "USD"
}
],
"fees": [
{
"amount": 0.13,
"currency": "USD"
},
{
"amount": 1.44,
"currency": "USD"
}
]
}
]
}
}
Oblicz landed cost
Oblicz cła, podatki i opłaty za pomocą GraphQL.GraphQL
Zonos oblicza całkowity landed cost dla przesyłek, który obejmuje cła, podatki oraz wszelkie dodatkowe opłaty, które mogą być naliczane przez urzędy celne, brokerów lub przewoźników. Często gwarantujemy te obliczenia, płacąc rachunek za cło, podatek i opłatę sami, pobierając od Ciebie dokładnie to, co obliczamy. W rzadkich przypadkach nasze obliczenia mogą być używane bez naszej gwarancji, w których to Ty bierzesz na siebie różnicę między naszym obliczeniem a rachunkiem za cło i podatek.