Forbered mutationsinput
At beregne en landed cost via GraphQL API involverer flere trin; vi har organiseret disse trin i arbejdsgange. I slutningen vil du have alt, hvad du behøver for at foretage et opkald for at få en landed cost baseret på forsendelsesdestinationen, varerne i indkøbskurven og forsendelsen.
Hver arbejdsgang kræver specifikke inputdata. GraphQL giver dig mulighed for at inkludere mere information end nødvendigt; se venligst vores fulde API-referencer for at se alle mulige felter. Nødvendige felter er markeret som sådanne i vores API-referencer, men denne markering gælder kun for felter, der er nødvendige for funktionalitet. Et par yderligere felter er nødvendige, når du bruger vores garanti.
Nedenfor har vi listet alle nødvendige felter for at beregne en garanteret landed cost. Sørg for, at du har disse oplysninger klar.
Nødvendige input til garanterede beregninger
partyCreateWorkflowInput
partyCreateWorkflowInput
identificerer de involverede parter og deres placeringer. Se det fulde skema i vores GraphQL API reference. Nødvendige felter er:
location
administrativeAreaCode
: Koden for staten eller provinsen, i to bogstaver. Kun nødvendigt for CA og BR.countryCode
: Den to-bogstavs ISO-kode for landet.line1
: Den første linje af adressen.postalCode
: Postnummeret eller zip-koden for adressen.
person
email
: E-mailadressen til personen.firstName
: Fornavnet på personen.lastName
: Efternavnet på personen.phone
: Telefonnummeret til personen.
type
DESTINATION
:location
&person
oplysningerne for forsendelsesdestinationen.ORIGIN
:location
oplysningerne for forsendelsesoprindelsen.person
tilknyttet forsendelsesoprindelsen er ikke nødvendig.
itemCreateWorkflowInput
itemCreateWorkflowInput
lister varerne i indkøbskurven. Der er mange valgfrie felter (se alle muligheder i vores API-referencer), men felterne nedenfor er nødvendige.
amount
: Prisen på varen.currencyCode
: Valuta koden for varebeløbet.quantity
: Mængden af varen.- Et af følgende (hvad end der er indstillet som din vare nøgle præference. Din vare nøgle forbinder oplysninger gemt i Kataloget til varen i indkøbskurven og bruges under oprettelse af etiketter.)
productId
: Vare ID'et.sku
: Vare SKU'en.
measurements
(WEIGHT
, LENGTH
, WIDTH
, HEIGHT
) er kun nødvendige, hvis du ønsker at kartonisere dine varer, når du får en forsendelsesvurdering.
shipmentRatingCreateWorkflowInput
Denne arbejdsgang bruges, når du allerede kender forsendelsestjenesten og omkostningerne; hvis du ønsker, at Zonos skal beregne disse omkostninger for de tjenester, du har aktiveret, skal du udskifte denne arbejdsgang og bruge shipmentRatingCalculateWorkflow
i stedet.
shipmentRatingCreateWorkflowInput
kommunikerer forsendelsesomkostningen. Se det fulde skema i vores GraphQL API reference. Nødvendige felter er:
amount
: Forsendelsesomkostningen.currencyCode
: Valuta koden for forsendelsesomkostningen.serviceLevelCode
: Koden, der angiver forsendelsestjenesteniveauet, der anvendes i forsendelsesvurderingen.
landedCostWorkflowInput
landedCostWorkflowInput
dikterer præferencer for beregningen af landed cost. Se det fulde skema i vores GraphQL API reference. Nødvendige felter er:
calculationMethod
: Angiver din præference for, hvordan du planlægger at sende: DDP (forudbetalte afgifter og skatter) eller DAP (enten afgifter og skatter betales ved levering, eller hvis en remittance-ordning gælder, de betales via et skatte-ID).- Hvis du bruger vores landed cost garanti, bør denne værdi altid være
DDP_PREFERRED
, som vil give et DDP tilbud, når det er muligt, og et DAP tilbud, hvis et DDP ikke er tilladt. At brugeDAP
i stedet kan resultere i, at landed costs ikke længere er garanteret, da dette typisk resulterer i afgifter og skatter betalt ved levering.
- Hvis du bruger vores landed cost garanti, bør denne værdi altid være
endUse
: Angiver, om varerne sælges til en anden virksomhed (FOR_RESALE
) eller til slutbrug med en forbruger (NOT_FOR_RESALE
).tariffRate
: Angiver den metode, som Zonos skal bruge til at beregne toldsatserne for dette tilbud, i tilfælde af at der er et udvalg af toldsatser, der kan anvendes. *Når du bruger vores landed cost garanti, bør dette altid væreZONOS_PREFERRED
.
Tilføj beregnet forsendelse: Hvis du ønsker, at Zonos skal beregne forsendelsesomkostningen for dig, skal du erstatte
shipmentRatingCreateWorkflow
medshipmentRatingCalculateWorkflow
. TilføjkartonizeWorkflow
, hvis du ønsker, at Zonos skal sortere dine varer i kartoner, før du finder forsendelsesomkostningen (bruges til dimensional vægt).
Muligheder ved beregning af en landed cost
GraphQL giver dig fleksibiliteten til at tilpasse anmodningen efter dine præferencer. Der er et par muligheder for, hvordan du inkluderer HS-koder og fragtomkostninger i anmodningen.
HS-koder
HS-koder påvirker toldsatser og er derfor påkrævet. Du kan angive HS-koden for hver vare eller lade Classify generere dem.
Zonos anbefaler kraftigt at bruge produktspecifikke HS-koder, da det fører til et mere præcist landed cost tilbud. Hvis du kender dine HS-koder, skal du angive hsCode
for hver item
under itemCreateWorkflow
.
Hvis du angiver en HS-kode, vil Zonos validere den løbende, når du får et landed cost tilbud. Hvis den HS-kode, du har angivet, er ugyldig (det vil sige, at den ikke eksisterer), vil Zonos re-classify din vare løbende og bruge den nye, gyldige HS-kode i stedet for den, du har angivet.
Hvis du har brug for hjælp til at generere HS-koder til dine produkter, kan du lære om Zonos Classify og hvordan du anmoder om en klassifikation.
Hvis du ikke angiver Zonos en hsCode
, vil vi først tjekke Zonos Katalog for at se, om du har en HS-kode gemt for din vare. Hvis du ikke har det, vil vi kalde Classify for at generere en klassifikation til at understøtte din landed cost beregning baseret på følgende itemCreateWorkflow
produktdetaljefelter: description
, category
og material
. Hvis dine produktdetaljefelter ikke er detaljerede nok til at generere en klassifikation baseret på Classify's confidence scoring, vil den standard HS-kode, der er tildelt din butik, blive brugt.
Som standard, hvis du ikke leverer en hsCode
og vi kalder Classify, vil den hsCode
, der genereres af Classify, ikke blive returneret i svaret, da den kun vil blive anvendt internt til at generere din landed cost. Men hvis du har et Classify abonnement, vil vi returnere Classify's HS-kode i dit landed cost svar.
Fragtomkostninger
Både fragtserviceniveauet og dets omkostninger påvirker told, skatter og gebyrer og er derfor påkrævet. Zonos kan beregne fragt, eller du kan videregive dette til os.
For at få Zonos til at beregne fragtomkostninger, skal du bruge shipmentRatingCalculateWorkflow
. De fragtmuligheder, der returneres i det beregnede fragt svar, vil korrelere med de serviceLevels
, du har tildelt fragtprofiler i Dashboard.
Fejlfinding: Hvis du forventer et
serviceLevel
i svaret, men det ikke vises, skal du sikre dig, atserviceLevel
er aktiveret og understøttes af denmethod
, du har valgt.
Tilføj cartonizeWorkflow
(som ikke har nogen input), hvis du vil have Zonos til at sortere dine varer i kartoner, før du finder fragtomkostningen (bruges til dimensional weight.
Hvis du kender serviceLevel
og amount
for en forsendelse, kan du angive disse i shipmentRatingCreateWorkflow
delen af anmodningen. Vi vil bruge disse værdier til at beregne eventuelle tilknyttede transportørgebyrer og returnere dem i svaret.
Send mutation
Når du har de nødvendige inputdata, skal du sende GraphQL-mutation til API-endepunktet ved hjælp af dit valgte klientbibliotek eller værktøj. Her er nogle eksempler på, hvordan du kan strukturere mutation.
Mutation
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 afgifter, skatter og gebyrer med GraphQL.GraphQL
Zonos beregner den samlede landed cost for forsendelser, som inkluderer afgifter, skatter og eventuelle yderligere gebyrer, som told, mæglere eller transportører måtte opkræve. Vi garanterer ofte disse beregninger ved at betale afgiften, skatten og gebyrregningen selv, mens vi opkræver dig præcis det, vi beregner. I sjældne tilfælde kan vores beregninger bruges uden vores garanti, hvor du påtager dig enhver forskel mellem vores beregning og afgift- og skatteregningen.