Bereid de invoer voor de mutatie voor
Het berekenen van een landed cost via de GraphQL API omvat meerdere stappen; we hebben deze stappen georganiseerd in workflows. Aan het einde heeft u alles wat u nodig heeft om één oproep te doen om een landed cost te krijgen op basis van de verzendbestemming, de artikelen in de winkelwagentje en de verzending.
Elke workflow heeft specifieke invoergegevens nodig. GraphQL stelt u in staat om meer informatie op te nemen dan vereist; raadpleeg onze volledige API-referentie om alle mogelijke velden te zien. Vereiste velden zijn als zodanig gemarkeerd in onze API-referentie, maar deze markering geldt alleen voor velden die vereist zijn voor functionaliteit. Een paar extra velden zijn vereist bij het gebruik van onze garantie.
Hieronder hebben we alle vereiste velden voor het berekenen van een gegarandeerde landed cost opgesomd. Zorg ervoor dat u deze informatie bij de hand heeft.
Vereiste invoer voor gegarandeerde berekeningen
partyCreateWorkflowInput
De partyCreateWorkflowInput
identificeert de betrokken partijen en hun locaties. Bekijk het volledige schema in onze GraphQL API referentie. Vereiste velden zijn:
location
administrativeAreaCode
: De staat of provinciecode, in twee letters. Alleen vereist voor CA en BR.countryCode
: De tweeletterige ISO-code van het land.line1
: De eerste regel van het adres.postalCode
: De postcode of ZIP-code van het adres.
person
email
: Het e-mailadres van de persoon.firstName
: De voornaam van de persoon.lastName
: De achternaam van de persoon.phone
: Het telefoonnummer van de persoon.
type
DESTINATION
: Delocation
&person
informatie voor de verzendbestemming.ORIGIN
: Delocation
informatie voor de verzend oorsprong. Deperson
die aan de verzend oorsprong is gekoppeld, is niet vereist.
itemCreateWorkflowInput
De itemCreateWorkflowInput
somt de artikelen in het winkelwagentje op. Er zijn veel optionele velden (zie alle mogelijkheden in onze API-referentie), maar de onderstaande velden zijn vereist.
amount
: De prijs van het artikel.currencyCode
: De valutacode voor het artikelbedrag.quantity
: De hoeveelheid van het artikel.- Een van de volgende (welke is ingesteld als uw artikel sleutel voorkeur. Uw artikel sleutel verbindt informatie die in de Catalogus is opgeslagen met het artikel in het winkelwagentje en wordt gebruikt tijdens het aanmaken van labels.)
productId
: De product-ID van het artikel.sku
: De SKU van het artikel.
De measurements
(WEIGHT
, LENGTH
, WIDTH
, HEIGHT
) zijn alleen vereist als u uw artikelen wilt cartoniseren bij het verkrijgen van een verzendbeoordeling.
cartonsCreateWorkflowInput
De cartonsCreateWorkflowInput
vereist alleen de invoer zelf. Bekijk het volledige schema in onze GraphQL API referentie om alle waarden te zien die kunnen worden doorgegeven. Het is belangrijk om de afmetingen en het gewicht van de doos door te geven als Zonos de verzendkosten berekent.
shipmentRatingCreateWorkflowInput
Dit workflow wordt gebruikt wanneer u al de verzendservice en kosten kent; als u wilt dat Zonos deze kosten voor u berekent voor de diensten die u heeft ingeschakeld, vervang dan deze workflow door de shipmentRatingCalculateWorkflow
.
De shipmentRatingCreateWorkflowInput
communiceert de verzendkosten. Bekijk het volledige schema in onze GraphQL API referentie. Vereiste velden zijn:
amount
: De verzendkosten.currencyCode
: De valutacode van de verzendkosten.serviceLevelCode
: De code die het verzendserviceniveau aangeeft dat is gebruikt in de verzendbeoordeling.
landedCostWorkflowInput
De landedCostWorkflowInput
bepaalt de voorkeuren voor de landed cost berekening. Bekijk het volledige schema in onze GraphQL API referentie. Vereiste velden zijn:
calculationMethod
: Geeft uw voorkeur aan voor hoe u van plan bent te verzenden: DDP (vooraf betaalde douanerechten en belastingen) of DAP (ofwel douanerechten en belastingen worden bij levering betaald, of als er een terugbetalingsschema van toepassing is, worden ze betaald via een belasting-ID).- Als u onze landed cost garantie gebruikt, moet deze waarde altijd
DDP_PREFERRED
zijn, wat een DDP-offerte biedt wanneer mogelijk en een DAP-offerte als een DDP-offerte niet is toegestaan. Het gebruik vanDAP
in plaats daarvan kan ertoe leiden dat de landed costs niet langer worden gegarandeerd, aangezien dit doorgaans resulteert in douanerechten en belastingen die bij levering worden betaald.
- Als u onze landed cost garantie gebruikt, moet deze waarde altijd
endUse
: Geeft aan of de goederen worden verkocht aan een ander bedrijf (FOR_RESALE
) of voor eindgebruik door een consument (NOT_FOR_RESALE
).tariffRate
: Geeft de methode aan die Zonos moet gebruiken om de tariefpercentages voor deze offerte te berekenen, in het geval dat er een reeks tariefpercentages van toepassing kan zijn. *Bij het gebruik van onze landed cost garantie, moet dit altijdZONOS_PREFERRED
zijn.
Voeg berekende verzending toe: Als u wilt dat Zonos de verzendkosten voor u berekent, vervang dan de
shipmentRatingCreateWorkflow
door deshipmentRatingCalculateWorkflow
. Voeg decartonizeWorkflow
toe als u wilt dat Zonos uw artikelen in dozen sorteert voordat u de verzendkosten vindt (gebruikt voor dimensionaal gewicht).
Opties bij het berekenen van een landed cost
GraphQL biedt de flexibiliteit om het verzoek aan uw voorkeur aan te passen. Er zijn een paar opties voor hoe u GS-codes en verzendkosten in het verzoek opneemt.
GS-codes
GS-codes beïnvloeden de douanetarieven en zijn daarom vereist. U kunt de GS-code voor elk item doorgeven of Classify ze laten genereren.
Zonos raadt sterk aan om productspecifieke GS-codes te gebruiken, omdat dit leidt tot een nauwkeurigere landed cost offerte. Als u uw GS-codes kent, geef dan de hsCode
voor elk item
door tijdens de itemCreateWorkflow
.
Als u een GS-code doorgeeft, zal Zonos deze ter plekke valideren bij het verkrijgen van een landed cost offerte. Als de door u verstrekte GS-code ongeldig is (wat betekent dat deze niet bestaat), zal Zonos uw item ter plekke opnieuw classify en de nieuwe, geldige GS-code gebruiken in plaats van de door u verstrekte.
Als u hulp nodig heeft bij het genereren van GS-codes voor uw producten, leer dan meer over Zonos Classify en hoe u een classificatie kunt aanvragen.
Als u Zonos geen hsCode
doorgeeft, zullen we eerst Zonos Catalogus controleren om te zien of u een GS-code voor uw item heeft opgeslagen. Als dat niet het geval is, zullen we Classify aanroepen om een classificatie te genereren om uw landed cost berekening te ondersteunen op basis van de volgende itemCreateWorkflow
productdetailvelden: description
, category
, en material
. Als uw productdetailvelden niet gedetailleerd genoeg zijn om een classificatie te genereren op basis van Classify's vertrouwensscore, zal de standaard GS-code die aan uw winkel is toegewezen worden gebruikt.
Standaard, als u geen hsCode
verstrekt en we Classify aanroepen, zal de hsCode
die door Classify wordt gegenereerd niet in de respons worden teruggegeven, omdat deze alleen intern zal worden gebruikt om uw landed cost te genereren. Als u echter een Classify abonnement heeft, zullen we de GS-code van Classify's in uw landed cost respons teruggeven.
Verzendkosten
Zowel het verzendserviceniveau als de kosten ervan beïnvloeden de rechten, belastingen en vergoedingen en zijn daarom vereist. Zonos kan de verzending berekenen of u kunt dit aan ons doorgeven.
Om Zonos de verzendkosten te laten berekenen, gebruikt u de shipmentRatingCalculateWorkflow
. De verzendopties die in de berekende verzendrespons worden geretourneerd, zullen overeenkomen met de serviceLevels
die u aan verzendprofielen in Dashboard heeft toegewezen.
Probleemoplossing: Als u een
serviceLevel
in de respons verwacht maar deze niet verschijnt, zorg er dan voor dat deserviceLevel
is ingeschakeld en wordt ondersteund door demethod
die u heeft geselecteerd.
Voeg de cartonizeWorkflow
toe (die geen invoer heeft) als u wilt dat Zonos uw items sorteert in dozen voordat de verzendkosten worden gevonden (gebruikt voor dimensionaal gewicht.
Als u het serviceLevel
en amount
voor een zending kent, kunt u deze doorgeven in het shipmentRatingCreateWorkflow
gedeelte van het verzoek. We zullen die waarden gebruiken om eventuele bijbehorende vervoerderskosten te berekenen en deze in de respons terug te geven.
Stuur de mutatie
Zodra u de vereiste invoergegevens heeft, stuurt u de GraphQL-mutatie naar het API-eindpunt met behulp van uw gekozen clientbibliotheek of -tool. Hier zijn enkele voorbeelden van hoe u de mutatie kunt structureren.
Gebruik dit verzoek wanneer u Zonos de verzendkosten laat berekenen als onderdeel van het Landed Cost verzoek. We zullen dan rechten en belastingen op verzending berekenen als deze door het bestemmingsland worden geheven.
Mutatie
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
}
}
}
Antwoord
{
"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"
}
]
}
]
}
}
Bereken een landed cost
Bereken douanerechten, belastingen en vergoedingen met GraphQL.
GraphQL
Zonos berekent de totale landed cost voor zendingen, inclusief douanerechten, belastingen en eventuele extra vergoedingen die door douane, makelaars of vervoerders in rekening kunnen worden gebracht. We garanderen deze berekeningen vaak door zelf de douanerechten, belastingen en vergoedingen te betalen, terwijl we u precies in rekening brengen wat we berekenen. In zeldzame gevallen kunnen onze berekeningen worden gebruikt zonder onze garantie, waarbij u het verschil tussen onze berekening en de douane- en belastingrekening op zich neemt.