Forbered anmodningen
Beregning af en landed cost API kræver flere input, som vi har organiseret i arbejdsgange. Når du er færdig, vil du være i stand til at lave en enkelt anmodning for at returnere en landed cost baseret på forsendelsesdestinationen, varerne i indkøbskurven og forsendelsesoplysningerne.
Hver arbejdsgang har sine egne krævede input. GraphQL giver dig mulighed for at sende mere data end nødvendigt, men kun visse felter er nødvendige for at returnere en landed cost. Disse er tydeligt markeret i vores API reference for at se alle mulige felter.
Bemærk, at nogle felter er betinget krævet, hvis du ønsker, at din beregning skal være garanteret.
Nedenfor har vi skitseret alle felter, der kræves for at beregne en garanteret landed cost. Sørg for, at disse oplysninger er inkluderet, før du laver din anmodning.
Krævede input til garanterede beregninger
partyCreateWorkflowInputpartyCreateWorkflowInput identificerer de involverede parter og deres placeringer. Se det fulde skema i vores GraphQL API reference. Krævede felter er:
locationadministrativeAreaCode: Koden for staten eller provinsen, i to bogstaver. Kun krævet 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.
personemail: E-mailadressen til personen.firstName: Fornavnet på personen.lastName: Efternavnet på personen.phone: Telefonnummeret til personen.
typeDESTINATION:location&personoplysningerne for forsendelsesdestinationen.ORIGIN:locationoplysningerne for forsendelsesoprindelsen.persontilknyttet forsendelsesoprindelsen er ikke krævet.
itemCreateWorkflowInputitemCreateWorkflowInput lister varerne i indkøbskurven. Der er mange valgfrie felter (se alle muligheder i vores API reference), men felterne nedenfor er krævede.
amount: Værdien af en enkelt enhed af det produkt, der sendes, før det ganges med mængden. Bemærk, at dette adskiller sig fra den postale definition af en post. Hvis varensquantityer 1, er dette den samlede pris for varen. Hvis varensquantityer >1, vil API'en gange varensamountmed varensquantityfor at få den samlede pris for linjevaren. Sæt ikke den samlede pris for alle enheder af varen iamount.currencyCode: Valuta koden for varebeløbet.quantity: Mængden af varen. API'en vil gange varensamountmed varensquantityfor at få den samlede pris for linjevaren.countryOfOrigin: Det land, hvor varen blev fremstillet.- 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 krævet, hvis du ønsker at kartonisere dine varer, når du får en forsendelsesvurdering.
cartonsCreateWorkflowInputcartonsCreateWorkflowInput kræver kun selve inputtet. Se det fulde skema i vores GraphQL API reference for at se alle værdier, der kan sendes. Det er vigtigt at angive dimensionerne og vægten af kartonen, hvis Zonos beregner forsendelsesomkostningerne.
shipmentRatingCreateWorkflowInputDenne 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. Krævede felter er:
amount: Forsendelsesomkostningen.currencyCode: Valuta koden for forsendelsesomkostningen.serviceLevelCode: Koden, der angiver det forsendelsestjenesteniveau, der anvendes i forsendelsesvurderingen.
landedCostWorkFlowInputlandedCostWorkFlowInput dikterer præferencerne for landed cost beregningen. Se det fulde skema i vores GraphQL API reference. Krævede 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 remitteringsordning gælder, de betales via et skatte-ID).- Hvis du bruger vores landed cost garanti, skal 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 brugeDAPi 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, skal 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, skal dette altid væreZONOS_PREFERRED.
Tilføj beregnede forsendelsesomkostninger: Hvis du ønsker, at Zonos skal beregne forsendelsesomkostningerne for dig, skal du erstatte
shipmentRatingCreateWorkflowmedshipmentRatingCalculateWorkflow. TilføjcartonizeWorkflow, hvis du ønsker, at Zonos skal sortere dine varer i kartoner, før du finder forsendelsesomkostningerne (bruges til dimensional vægt).
HS-kode og forsendelsesmuligheder
GraphQL giver dig fleksibiliteten til at tilpasse anmodningen efter dine præferencer. Der er et par muligheder for, hvordan du inkluderer HS-koder og forsendelsesomkostninger i anmodningen.
HS-koder
HS-koder, der påvirker toldsatser, er derfor påkrævet. Du kan angive HS-koden for hver vare eller lade Classify generere dem.
Zonos anbefaler kraftigt at bruge produkt-specifikke 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 der hentes et landed cost tilbud. Hvis den HS-kode, du har angivet, er ugyldig (det vil sige, den findes ikke), vil Zonos gen-classify dit item løbende og bruge den nye, gyldige HS-kode i stedet for den angivne.
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 klassificering.
Hvis du ikke angiver Zonos en hsCode, vil vi først tjekke Zonos Catalog for at se, om du har en HS-kode gemt til dit item. Hvis ikke, vil vi kalde Classify for at generere en klassificering 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 klassificering baseret på Classify's confidence scoring, vil den standard HS-kode, der er tildelt din butik, blive brugt.
Forsendelsesomkostninger
Både forsendelsestjenesteniveauet og dets omkostninger påvirker told, skatter og gebyrer og er derfor påkrævet. Zonos kan beregne forsendelsen, eller du kan angive dette til os.
For at få Zonos til at beregne forsendelsesomkostninger, skal du bruge shipmentRatingCalculateWorkflow. De forsendelsesmuligheder, der returneres i den beregnede forsendelsesrespons, vil korrespondere med de serviceLevels, du har tildelt til forsendelsesprofiler i Dashboard.
Fejlfinding: Hvis du forventer en
serviceLeveli svaret, men den ikke vises, skal du sikre dig, atserviceLeveler aktiveret, og at det understøttes af denmethod, du har valgt.
Tilføj cartonizeWorkflow (som ikke har nogen inputs), hvis du vil have Zonos til at sortere dine varer i kasser, før forsendelsesomkostningen findes (bruges til dimensionel vægt.
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 fragtfirmagebyrer og returnere dem i svaret.
Anmod om en landed cost via API
Når du har de nødvendige inputdata, skal du sende GraphQL-mutation til API-endpointet ved hjælp af dit valgte klientbibliotek eller værktøj. Her er nogle eksempler på, hvordan du kan strukturere mutation.
Brug denne anmodning, når du får Zonos til at beregne forsendelsesomkostningen som en del af Landed Cost-anmodningen. Vi vil derefter beregne told og skatter på forsendelsen, hvis de vurderes af destinationslandet.
Mutation
mutation CalculateLandedCost(
$parties: [PartyCreateWorkflowInput!]!
$items: [ItemCreateWorkflowInput!]!
$landedCostConfig: LandedCostWorkFlowInput!
) {
partyCreateWorkflow(input: $parties) {
type
id
organization
}
itemCreateWorkflow(input: $items) {
id
amount
productId
}
cartonizeWorkflow {
id
type
items {
item {
id
}
}
}
shipmentRatingCalculateWorkflow {
id
amount
}
landedCostCalculateWorkflow(input: $landedCostConfig) {
id
duties {
amount
currency
note
}
taxes {
amount
currency
note
}
fees {
amount
currency
note
}
}
}
Variabler
{
"parties": [
{
"location": {
"administrativeArea": "Utah",
"administrativeAreaCode": "UT",
"countryCode": "US",
"line1": "345 N 2450 E",
"line2": "#151",
"locality": "St George",
"postalCode": "84790"
},
"type": "ORIGIN"
},
{
"location": {
"administrativeArea": "New South Wales",
"administrativeAreaCode": "NSW",
"countryCode": "AU",
"line1": "123 George Street",
"line2": "Apartment 5B",
"locality": "Sydney",
"postalCode": "2000"
},
"person": {
"email": "aussie.customer@gmail.com",
"firstName": "James",
"lastName": "Thompson",
"phone": "+61412345678",
"companyName": "Sydney Trading Co",
"metadata": { "key": "customer_type", "value": "premium" }
},
"type": "DESTINATION"
},
{
"type": "PAYOR",
"location": {
"administrativeArea": "Victoria",
"administrativeAreaCode": "VIC",
"countryCode": "AU",
"latitude": -37.8136,
"line1": "456 Collins Street",
"line2": "Suite 12",
"locality": "Melbourne",
"longitude": 144.9631,
"postalCode": "3000"
},
"person": {
"email": "billing@reallysilkstore.com.au",
"firstName": "Sarah",
"lastName": "Mitchell",
"phone": "+61398765432",
"companyName": "Really Silk Store",
"metadata": { "key": "billing_contact", "value": "primary" }
}
}
],
"items": [
{
"amount": 120,
"currencyCode": "USD",
"countryOfOrigin": "US",
"quantity": 1,
"productId": "productId1",
"hsCode": null,
"description": "leather wallet",
"measurements": [
{ "type": "WIDTH", "value": 1, "unitOfMeasure": "CENTIMETER" },
{ "type": "LENGTH", "value": 2, "unitOfMeasure": "CENTIMETER" },
{ "type": "HEIGHT", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "WEIGHT", "value": 1, "unitOfMeasure": "POUND" }
]
},
{
"amount": 55,
"currencyCode": "USD",
"countryOfOrigin": "US",
"quantity": 1,
"productId": "productId2",
"hsCode": "6206.30",
"description": "t-shirt",
"measurements": [
{ "type": "WIDTH", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "LENGTH", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "HEIGHT", "value": 5, "unitOfMeasure": "CENTIMETER" },
{ "type": "WEIGHT", "value": 1.5, "unitOfMeasure": "POUND" }
]
}
],
"landedCostConfig": {
"calculationMethod": "DDP_PREFERRED",
"endUse": "NOT_FOR_RESALE",
"tariffRate": "ZONOS_PREFERRED"
}
}
Svar
{
"data": {
"partyCreateWorkflow": [
{
"type": "ORIGIN",
"id": "party_01044774-758f-4021-b8dd-e17d97609647",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
},
{
"type": "DESTINATION",
"id": "party_0m6wgfjmhbnf2",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
},
{
"type": "PAYOR",
"id": "party_0m6wgfjn5bnfh",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
}
],
"itemCreateWorkflow": [
{
"id": "item_0m6wgfjpfw9fz",
"amount": 120,
"productId": "productId1"
},
{
"id": "item_0m6wgfjpfw9g0",
"amount": 55,
"productId": "productId2"
}
],
"cartonizeWorkflow": [
{
"id": "carton_0m6wgfme53aqb",
"type": "PACKAGE",
"items": [
{
"item": {
"id": "item_0m6wgfjpfw9g0"
}
},
{
"item": {
"id": "item_0m6wgfjpfw9fz"
}
}
]
}
],
"shipmentRatingCalculateWorkflow": [
{
"id": "shipment_rating_0m6wgfmghvhh1",
"amount": 24.8864
}
],
"landedCostCalculateWorkflow": [
{
"id": "landed_cost_7730b476-1307-4d14-8f76-3b37bd162054",
"duties": [],
"taxes": [
{
"amount": 5.5,
"currency": "USD",
"note": null
},
{
"amount": 0.7822,
"currency": "USD",
"note": null
},
{
"amount": 12,
"currency": "USD",
"note": null
},
{
"amount": 1.7065,
"currency": "USD",
"note": null
}
],
"fees": [
{
"amount": 0,
"currency": "USD",
"note": null
},
{
"amount": 0.8,
"currency": "USD",
"note": null
},
{
"amount": 0,
"currency": "USD",
"note": null
}
]
}
]
},
"errors": []
}
Næste skridt: Opret en ordre
Når du har beregnet en landed cost og modtaget landedCostId fra API-svaret, skal du oprette en ordre for at afslutte transaktionen i Zonos systemet. Brug orderCreate mutation og send landedCostId fra dit tilbud. Læs mere om oprettelse af ordrer.
Anmod om en landed cost i Dashboard
Du kan også beregne landed costs direkte i Zonos Dashboard uden at bruge API'en. Dette er nyttigt til at teste beregninger, træne dit team eller få hurtige tilbud til kundehenvendelser.
Dashboard bruger de samme API-endepunkter, der er beskrevet ovenfor, så resultaterne vil matche det, du ville få fra direkte API-opkald. Dette gør det til en fremragende måde at validere din API-integration eller udforske, hvordan forskellige input påvirker beregningerne.
Brug af Dashboard-beregneren
Med landed cost beregneren i Dashboard kan du få tilbud med beregnede forsendelsesomkostninger, oprette tilbud med kendte forsendelsesomkostninger eller behandle flere tilbud i bulk.
Brug denne proces, når du kender forsendelsestjenesteniveauet og omkostningerne for din forsendelse.
- Gå til Dashboard → Ordrer → Tilbud
- Klik på Nyt tilbud
- Valgfrit — Ændr placeringen af din afsendelsesadresse
- Vælg et Destination land fra dropdown-menuen
- Indtast forsendelsesbeløbet
- Tjenesteniveauet er valgfrit; at tilføje det giver os mulighed for at beregne gældende transportørgebyrer
- Tilføj vareoplysningerne for forsendelsen
- Når du indtaster en beskrivelse, klassificerer vi automatisk classify produktet og genererer en HS-kode
- Du kan overskrive den genererede HS-kode, hvis det er nødvendigt
- For flere varer, klik på Gem og tilføj en anden. Ellers klik på Gem
- Valgfrit — Klik på Flere muligheder for at ændre:
- Salgstype til Til videresalg
- Leveringsmetode til Leveringsafgifter betales ikke
- Klik på Få tilbud
- For at foretage ændringer, klik på Rediger formular og ændre eventuelle oplysninger
- Klik på Få tilbud igen for at opdatere
Et landed cost tilbud vises til højre, inklusive produkt-, forsendelses- og importomkostninger. Udvid tilbuddet for at se detaljerede opdelinger af varer, forsendelse, afgifter, skatter og gebyrer. Alle tilbud gemmes på tilbudssiden til fremtidig reference.
Rediger eksisterende tilbud: Klik på Tilbud igen i øverste højre hjørne for at ændre et eksisterende tilbud i stedet for at starte forfra.
Fordele ved at bruge Dashboard
- Ingen kodning kræves — Generer tilbud gennem en brugervenlig grænseflade
- Teamtræning — Hjælp ikke-tekniske teammedlemmer med at forstå landed cost komponenter
- API-validering — Bekræft, at din API-integration giver forventede resultater
- Kundesupport — Generer hurtigt tilbud til kundehenvendelser
- Bulkbehandling — Håndter flere beregninger effektivt (kommer snart)
Dashboard-tilbud inkluderer de samme detaljerede opdelinger, der er tilgængelige gennem API'en, hvilket gør det til et fremragende supplement til din automatiserede integration.
Beregne en landed cost
Beregne afgifter, skatter og gebyrer med GraphQL.GraphQL
Zonos beregner den samlede landed cost for internationale forsendelser—inklusive afgifter, skatter og eventuelle yderligere gebyrer opkrævet af told, mæglere eller transportører. I de fleste tilfælde garanterer vi disse beregninger ved at betale den endelige regning selv og opkræve dig præcis det, vi har beregnet. I nogle tilfælde kan du bruge vores landed cost uden garanti, hvilket betyder, at du påtager dig ansvaret for enhver forskel mellem vores beregning og de faktiske omkostninger.