DOCS

Calculate landed cost graphql

/

Beregne en landed cost

Beregne avgifter, skatter og gebyrer med GraphQL.

GraphQL

Zonos beregner den totale landed cost for forsendelser, som inkluderer avgifter, skatter og eventuelle tilleggsgebyrer som toll, meglere eller fraktselskaper kan kreve. Vi garanterer ofte disse beregningene ved å betale avgiften, skatten og gebyrregningen selv, mens vi belaster deg nøyaktig det vi beregner. I sjeldne tilfeller kan beregningene våre brukes uten vår garanti, der du tar på deg eventuelle forskjeller mellom vår beregning og avgifts- og skatteregningen.

Forbered inngangsdataene for mutasjonen 

Å beregne en landed cost via GraphQL API involverer flere trinn; vi har organisert disse trinnene i arbeidsflyter. Til slutt vil du ha alt du trenger for å gjøre ett anrop for å få en landed cost basert på fraktmål, varer i handlekurven og frakt.

Hver arbeidsflyt trenger spesifikke inngangsdata. GraphQL lar deg inkludere mer informasjon enn nødvendig; vennligst se vår fullstendige API-referanse for å se alle mulige felt. Obligatoriske felt er merket som slike i vår API-referanse, men dette merket gjelder kun for felt som er nødvendige for funksjonalitet. Noen få ekstra felt er nødvendige når du bruker vår garanti.

Nedenfor har vi listet opp alle obligatoriske felt for å beregne en garantert landed cost. Sørg for at du har denne informasjonen klar.

Obligatoriske innganger for garanterte beregninger

partyCreateWorkflowInput

partyCreateWorkflowInput identifiserer de involverte partene og deres lokasjoner. Se hele skjemaet i vår GraphQL API referanse. Obligatoriske felt er:

  • location
    • administrativeAreaCode: Koden for staten eller provinsen, i to bokstaver. Kun nødvendig for CA og BR.
    • countryCode: Den to-bokstavers ISO-koden for landet.
    • line1: Den første linjen i adressen.
    • postalCode: Postnummeret eller postkoden for adressen.
  • person
    • email: E-postadressen til personen.
    • firstName: Fornavnet til personen.
    • lastName: Etternavnet til personen.
    • phone: Telefonnummeret til personen.
  • type
    • DESTINATION: location & person informasjonen for fraktmålet.
    • ORIGIN: location informasjonen for fraktopprinnelsen. person tilknyttet fraktopprinnelsen er ikke nødvendig.
itemCreateWorkflowInput

itemCreateWorkflowInput lister opp varene i handlekurven. Det finnes mange valgfrie felt (se alle muligheter i vår API-referanse), men feltene nedenfor er obligatoriske.

  • amount: Prisen på varen.
  • currencyCode: Valutakoden for varebeløpet.
  • quantity: Antallet av varen.
  • Ett av følgende (hva som helst som er satt som din vare nøkkelpreferanse. Din vare nøkkel kobler informasjon lagret i Katalog til varen i handlekurven og brukes under etikettopprettelse.)
    • productId: Varen sitt produkt-ID.
    • sku: Varen sitt SKU.

measurements (WEIGHT, LENGTH, WIDTH, HEIGHT) er kun obligatoriske hvis du ønsker å kartongisere varene dine når du får en fraktvurdering.

shipmentRatingCreateWorkflowInput

Denne arbeidsflyten brukes når du allerede vet frakttjenesten og kostnaden; hvis du vil at Zonos skal beregne disse kostnadene for tjenester du har aktivert, bytt ut denne arbeidsflyten og bruk shipmentRatingCalculateWorkflow i stedet.

shipmentRatingCreateWorkflowInput kommuniserer fraktkostnaden. Se hele skjemaet i vår GraphQL API referanse. Obligatoriske felt er:

  • amount: Fraktkostnaden.
  • currencyCode: Valutakoden for fraktkostnaden.
  • serviceLevelCode: Koden som indikerer frakttjenestenivået som brukes i fraktvurderingen.
landedCostWorkflowInput

landedCostWorkflowInput dikterer preferanser for beregningen av landed cost. Se hele skjemaet i vår GraphQL API referanse. Obligatoriske felt er:

  • calculationMethod: Indikerer din preferanse for hvordan du planlegger å sende: DDP (forhåndsbetalte avgifter og skatter) eller DAP (enten avgifter og skatter betales ved levering, eller hvis en remitteringsordning gjelder, de remitteres via et skatte-ID).
    • Hvis du bruker vår landed cost garanti, bør denne verdien alltid være DDP_PREFERRED, som vil gi et DDP-tilbud når det er mulig, og et DAP-tilbud hvis et DDP-tilbud ikke er tillatt. Å bruke DAP i stedet kan resultere i at landed costs ikke lenger er garantert, da dette vanligvis resulterer i avgifter og skatter betalt ved levering.
  • endUse: Indikerer om varene selges til en annen bedrift (FOR_RESALE) eller for sluttbruk med en forbruker (NOT_FOR_RESALE).
  • tariffRate: Indikerer metoden som Zonos skal bruke for å beregne tariffratene for dette tilbudet, i tilfelle det er et spekter av tariffsatser som kan brukes. *Når du bruker vår landed cost garanti, bør dette alltid være ZONOS_PREFERRED.

Legg til beregnet frakt: Hvis du vil at Zonos skal beregne fraktkostnaden for deg, bytt ut shipmentRatingCreateWorkflow med shipmentRatingCalculateWorkflow. Legg til cartonizeWorkflow hvis du vil at Zonos skal sortere varene dine i kartonger før de finner fraktkostnaden (brukes for dimensjonsvekt).

Alternativer når du beregner en landed cost

GraphQL gir deg fleksibiliteten til å tilpasse forespørselen etter dine preferanser. Det finnes et par alternativer for hvordan du inkluderer HS-koder og fraktkostnader i forespørselen.

HS-koder

HS-koder påvirker tollsatser og er derfor påkrevd. Du kan sende HS-koden for hvert enkelt produkt eller la Classify generere dem.

Send HS-koder for hvert produkt

Zonos anbefaler sterkt å bruke produktspecifikke HS-koder, da dette fører til et mer nøyaktig landed cost tilbud. Hvis du kjenner HS-kodene dine, send hsCode for hvert item under itemCreateWorkflow.

Hvis du sender en HS-kode, vil Zonos validere den underveis når du får et landed cost tilbud. Hvis HS-koden du oppga er ugyldig (det vil si at den ikke eksisterer), vil Zonos re-classify produktet ditt på farten og bruke den nye, gyldige HS-koden i stedet for den du oppga.

Hvis du trenger hjelp til å generere HS-koder for produktene dine, lær om Zonos Classify og hvordan du ber om en klassifisering.

Generer HS-koder med Classify

Hvis du ikke sender Zonos en hsCode, vil vi først sjekke Zonos Katalog for å se om du har en HS-kode lagret for produktet ditt. Hvis du ikke har det, vil vi kalle Classify for å generere en klassifisering som driver beregningen av landed cost basert på følgende itemCreateWorkflow produktdetaljfelt: description, category, og material. Hvis produktdetaljfeltene dine ikke er detaljerte nok til å generere en klassifisering basert på Classify's confidence scoring, vil standard HS-koden som er tildelt butikken din bli brukt.

Som standard, hvis du ikke oppgir en hsCode og vi kaller Classify, vil ikke hsCode generert av Classify bli returnert i svaret, da den kun vil bli brukt internt for å generere din landed cost. Imidlertid, hvis du har et Classify abonnement, vil vi returnere Classify's HS-kode i svaret på din landed cost.

Fraktkostnad

Både frakttjenestenivået og kostnaden påvirker avgifter, skatter og gebyrer, og er derfor påkrevd. Zonos kan beregne frakt, eller du kan sende dette til oss.

Beregn frakt

For å få Zonos til å beregne fraktkostnader, bruk shipmentRatingCalculateWorkflow. Fraktalternativene som returneres i den beregnede fraktsvaret vil korrelere med serviceLevels du har tildelt fraktprofiler i Dashboard.

Feilsøking: Hvis du forventer et serviceLevel i svaret, men det ikke vises, vennligst sørg for at serviceLevel er aktivert og støttes av method du valgte.

Legg til cartonizeWorkflow (som ikke har noen inndata) hvis du vil at Zonos skal sortere produktene dine i kartonger før den finner fraktkostnaden (brukes for dimensjonsvekt.

Send fraktkostnader

Hvis du kjenner serviceLevel og amount for en forsendelse, kan du sende disse i shipmentRatingCreateWorkflow delen av forespørselen. Vi vil bruke disse verdiene til å beregne eventuelle tilknyttede fraktgebyrer og returnere dem i svaret.

Send mutasjonen 

Når du har de nødvendige inndataene, send GraphQL-mutasjonen til API-endepunktet ved å bruke ditt valgte klientbibliotek eller verktøy. Her er noen eksempler på hvordan du kan strukturere mutasjonen.

Beregnet frakt
Manuell frakt

Mutasjon

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
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
    }
  }
}

Svar

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"
          }
        ]
      }
    ]
  }
}

Var denne siden nyttig?