DOCS

Oblicz landed cost - GraphQL

Oblicz landed cost

Oblicz cła, podatki i opłaty za pomocą GraphQL.

GraphQL

Zonos oblicza całkowity landed cost dla przesyłek międzynarodowych — w tym cła, podatki i wszelkie dodatkowe opłaty pobierane przez organy celne, brokerów lub przewoźników. W większości przypadków gwarantujemy te obliczenia, płacąc ostateczny rachunek sami i obciążając Cię dokładnie tym, co obliczyliśmy. W niektórych przypadkach możesz korzystać z naszego landed cost bez gwarancji, co oznacza, że bierzesz odpowiedzialność za wszelkie różnice między naszym obliczeniem a rzeczywistymi opłatami.

Przygotuj żądanie 

Obliczenie landed cost API wymaga kilku danych wejściowych, które zorganizowaliśmy w przepływy pracy. Po ich zakończeniu będziesz mógł złożyć jedno żądanie, aby zwrócić landed cost na podstawie miejsca wysyłki, przedmiotów w koszyku i szczegółów wysyłki.

Każdy przepływ pracy ma swoje wymagane dane wejściowe. GraphQL pozwala na przesyłanie większej ilości danych niż to konieczne, ale tylko niektóre pola są wymagane do zwrócenia landed cost. Są one wyraźnie oznaczone w naszej referencji API, aby zobaczyć wszystkie możliwe pola.

Zauważ, że niektóre pola są warunkowo wymagane, jeśli chcesz, aby Twoje obliczenie było gwarantowane.

Poniżej przedstawiamy wszystkie pola wymagane do obliczenia gwarantowanego landed cost. Upewnij się, że te informacje są zawarte przed złożeniem żądania.

Wymagane dane wejściowe dla gwarantowanych obliczeń

partyCreateWorkflowInput

partyCreateWorkflowInput identyfikuje zaangażowane strony i ich lokalizacje. Zobacz pełny schemat w naszej GraphQL API referencji. 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 o location i person dla miejsca wysyłki.
    • ORIGIN: Informacje o location 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 (w zależności od ustawienia Twojego 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.

cartonsCreateWorkflowInput

cartonsCreateWorkflowInput wymaga tylko samego wejścia. Zobacz pełny schemat w naszej GraphQL API referencji, aby zobaczyć wszystkie wartości, które można przesłać. Ważne jest, aby podać wymiary i wagę kartonu, jeśli Zonos oblicza koszt wysył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łny schemat w naszej GraphQL API referencji. 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łny schemat w naszej GraphQL API referencji. Wymagane pola to:

  • calculationMethod: Wskazuje Twoją preferencję co do 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 wpłat, są one wpłacane 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życie DAP zamiast tego może spowodować, że koszty lądowania nie będą już gwarantowane, ponieważ zazwyczaj skutkuje to opłatami celnymi i podatkami płaconymi przy dostawie.
  • 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, powinno to zawsze być ZONOS_PREFERRED.

Dodaj obliczoną wysyłkę: Jeśli chcesz, aby Zonos obliczył koszt wysyłki za Ciebie, zamień shipmentRatingCreateWorkflow na shipmentRatingCalculateWorkflow. Dodaj cartonizeWorkflow, jeśli chcesz, aby Zonos posortował Twoje przedmioty do kartonów przed znalezieniem kosztu wysyłki (używane do wagi wymiarowej).

Kod HS i opcje wysyłki

GraphQL daje Ci elastyczność dostosowania żądania do Twoich preferencji. Istnieje kilka opcji dotyczących tego, jak 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ł.

Przekaż kody HS dla każdego przedmiotu

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 zaklasyfikuje 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.

Generuj kody HS za pomocą Classify

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 Twoją kalkulację 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 wyników pewności Classify's, użyty zostanie domyślny kod HS przypisany do Twojego sklepu.

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ć.

Oblicz wysyłkę

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ę, że serviceLevel 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.

Przekaż koszty wysyłki

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.

Zażądaj landed cost za pomocą API 

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ę.

Użyj tego żądania, gdy chcesz, aby Zonos obliczył koszt wysyłki jako część żądania Landed Cost. Następnie obliczymy cła i podatki od wysyłki, jeśli są one naliczane przez kraj docelowy.

Mutacja

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
mutation CalculateLandedCostWithShipping(
  $parties: [PartyCreateWorkflowInput!]!
  $items: [ItemCreateWorkflowInput!]!
  $landedCostConfig: LandedCostWorkflowInput!
) {
  partyCreateWorkflow(input: $parties) {
    type
    id
    organization
  }

  itemCreateWorkflow(input: $items) {
    id
    amount
  }

  cartonizeWorkflow {
    id
    type
    items {
      item {
        id
      }
    }
  }

  shipmentRatingCalculateWorkflow {
    id
    amount
  }

  landedCostCalculateWorkflow(input: $landedCostConfig) {
    id
    duties {
      amount
      currency
    }
    taxes {
      amount
      currency
    }
    fees {
      amount
      currency
    }
  }
}

Zmienne

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
  "parties": [
    {
      "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" }
      }
    }
  ],
  "items": [
    {
      "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" }
      ]
    }
  ],
  "landedCostConfig": {
    "endUse": "FOR_RESALE",
    "method": "DAP",
    "tariffRate": "ZONOS_PREFERRED"
  }
}

Odpowiedź

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
{
  "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"
          }
        ]
      }
    ]
  }
}

Poproś o landed cost w Dashboard 

Możesz również obliczyć koszty dostawy bezpośrednio w Zonos Dashboard bez użycia API. Jest to pomocne do testowania obliczeń, szkolenia zespołu lub uzyskiwania szybkich wycen dla zapytań klientów.

Dashboard korzysta z tych samych punktów końcowych API opisanych powyżej, więc wyniki będą odpowiadać tym, które uzyskasz z bezpośrednich wywołań API. To sprawia, że jest to doskonały sposób na weryfikację integracji API lub badanie, jak różne dane wejściowe wpływają na obliczenia.

Korzystanie z kalkulatora w Dashboard

Dzięki kalkulatorowi landed cost w Dashboard możesz uzyskać wyceny z obliczonymi stawkami wysyłki, tworzyć wyceny z znanymi kosztami wysyłki lub przetwarzać wiele wycen hurtowo.

Użyj tego przepływu, gdy znasz poziom usługi wysyłkowej i koszt dla swojej przesyłki.

  1. Przejdź do DashboardZamówieniaWyceny
  2. Kliknij Nowa wycena
  3. Opcjonalnie — Zmień lokalizację swojego adresu nadania
  4. Wybierz Kraj docelowy z rozwijanej listy
  5. Wprowadź kwotę wysyłki
    • Poziom usługi jest opcjonalny; dodanie go pozwala nam obliczyć odpowiednie opłaty przewoźnika
  6. Dodaj szczegóły przedmiotu dla przesyłki
    • Gdy wprowadzisz opis, automatycznie classify produkt i generujemy kod HS
    • Możesz nadpisać wygenerowany kod HS, jeśli zajdzie taka potrzeba
    • Dla wielu przedmiotów kliknij Zapisz i dodaj kolejny. W przeciwnym razie kliknij Zapisz
  7. Opcjonalnie — Kliknij Więcej opcji, aby zmienić:
    • Typ sprzedaży na Do odsprzedaży
    • Tryb dostawy na Dostawa bez opłat celnych
  8. Kliknij Uzyskaj wycenę
    • Aby wprowadzić zmiany, kliknij Edytuj formularz i zmodyfikuj dowolne szczegóły
    • Kliknij Uzyskaj wycenę ponownie, aby zaktualizować

Wycena landed cost pojawi się po prawej stronie, w tym koszty produktu, wysyłki i importu. Rozwiń wycenę, aby zobaczyć szczegółowe zestawienia przedmiotów, wysyłki, opłat celnych, podatków i opłat. Wszystkie wyceny są zapisywane na stronie wycen do przyszłego odniesienia.

Edytuj istniejące wyceny: Kliknij Wycena ponownie w prawym górnym rogu, aby zmodyfikować istniejącą wycenę, zamiast zaczynać od nowa.

Korzyści z korzystania z Dashboard

  • Brak wymagań dotyczących kodowania — Generuj wyceny za pomocą przyjaznego interfejsu
  • Szkolenie zespołu — Pomóż członkom zespołu, którzy nie są techniczni, zrozumieć komponenty landed cost
  • Weryfikacja API — Zweryfikuj, czy integracja API daje oczekiwane wyniki
  • Wsparcie dla klientów — Szybko generuj wyceny dla zapytań klientów
  • Przetwarzanie hurtowe — Efektywnie obsługuj wiele obliczeń (wkrótce)

Wyceny w Dashboard zawierają te same szczegółowe zestawienia dostępne przez API, co czyni je doskonałym uzupełnieniem Twojej zautomatyzowanej integracji.

Czy ta strona była pomocna?