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. Å brukeDAP
i stedet kan resultere i at landed costs ikke lenger er garantert, da dette vanligvis resulterer i avgifter og skatter betalt ved levering.
- Hvis du bruker vår landed cost garanti, bør denne verdien alltid være
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æreZONOS_PREFERRED
.
Legg til beregnet frakt: Hvis du vil at Zonos skal beregne fraktkostnaden for deg, bytt ut
shipmentRatingCreateWorkflow
medshipmentRatingCalculateWorkflow
. Legg tilcartonizeWorkflow
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.
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.
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.
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 atserviceLevel
er aktivert og støttes avmethod
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.
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.
Mutasjon
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
{
"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"
}
]
}
]
}
}
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.