Prepara l'input della mutazione
Calcolare un landed cost tramite l'API GraphQL comporta piรน passaggi; abbiamo organizzato questi passaggi in flussi di lavoro. Alla fine, avrai tutto il necessario per effettuare una chiamata per ottenere un landed cost in base alla destinazione di spedizione, agli articoli nel carrello e alla spedizione.
Ogni flusso di lavoro richiede dati di input specifici. GraphQL ti consente di includere piรน informazioni di quelle richieste; ti preghiamo di fare riferimento alla nostra documentazione API per vedere tutti i campi possibili. I campi richiesti sono contrassegnati come tali nella nostra documentazione API, ma questo contrassegno si applica solo ai campi necessari per la funzionalitร . Alcuni campi aggiuntivi sono richiesti quando si utilizza la nostra garanzia.
Di seguito, abbiamo elencato tutti i campi richiesti per calcolare un garantito landed cost. Assicurati di avere queste informazioni pronte.
Input richiesti per calcoli garantiti
partyCreateWorkflowInput
Il partyCreateWorkflowInput
identifica le parti coinvolte e le loro posizioni. Visualizza lo schema completo nella nostra documentazione API GraphQL riferimento. I campi richiesti sono:
location
administrativeAreaCode
: Il codice dello stato o della provincia, in due lettere. Richiesto solo per CA e BR.countryCode
: Il codice ISO a due lettere del paese.line1
: La prima riga dell'indirizzo.postalCode
: Il codice postale o il CAP dell'indirizzo.
person
email
: L'indirizzo email della persona.firstName
: Il nome della persona.lastName
: Il cognome della persona.phone
: Il numero di telefono della persona.
type
DESTINATION
: Le informazioni sulocation
&person
per la destinazione di spedizione.ORIGIN
: Le informazioni sulocation
per l'origine della spedizione. Laperson
associata all'origine della spedizione non รจ richiesta.
itemCreateWorkflowInput
Il itemCreateWorkflowInput
elenca gli articoli nel carrello. Ci sono molti campi opzionali (vedi tutte le possibilitร nella nostra documentazione API), ma i campi di seguito sono richiesti.
amount
: Il prezzo dell'articolo.currencyCode
: Il codice della valuta per l'importo dell'articolo.quantity
: La quantitร dell'articolo.- Uno dei seguenti (quello impostato come tua preferenza per la chiave dell'articolo. La tua chiave dell'articolo collega le informazioni memorizzate nel Catalogo all'articolo nel carrello e viene utilizzata durante la creazione dell'etichetta.)
productId
: L'ID prodotto dell'articolo.sku
: Lo SKU dell'articolo.
Le measurements
(WEIGHT
, LENGTH
, WIDTH
, HEIGHT
) sono richieste solo se desideri cartonizzare i tuoi articoli quando ottieni una valutazione di spedizione.
cartonsCreateWorkflowInput
Il cartonsCreateWorkflowInput
richiede solo l'input stesso. Visualizza lo schema completo nella nostra documentazione API GraphQL riferimento per vedere tutti i valori che possono essere passati. ร importante passare le dimensioni e il peso del cartone se Zonos sta calcolando il costo di spedizione.
shipmentRatingCreateWorkflowInput
Questo flusso di lavoro viene utilizzato quando conosci giร il servizio di spedizione e il costo; se desideri che Zonos calcoli questi costi per i servizi che hai abilitato, sostituisci questo flusso di lavoro e utilizza invece il shipmentRatingCalculateWorkflow
.
Il shipmentRatingCreateWorkflowInput
comunica il costo di spedizione. Visualizza lo schema completo nella nostra documentazione API GraphQL riferimento. I campi richiesti sono:
amount
: Il costo di spedizione.currencyCode
: Il codice della valuta del costo di spedizione.serviceLevelCode
: Il codice che indica il livello di servizio di spedizione utilizzato nella valutazione della spedizione.
landedCostWorkflowInput
Il landedCostWorkflowInput
stabilisce le preferenze per il calcolo del landed cost. Visualizza lo schema completo nella nostra documentazione API GraphQL riferimento. I campi richiesti sono:
calculationMethod
: Indica la tua preferenza per come intendi spedire: DDP (dazi e tasse prepagati) o DAP (i dazi e le tasse sono pagati alla consegna, o se si applica uno schema di rimessa, vengono rimborsati tramite un codice fiscale).- Se utilizzi la nostra garanzia di landed cost, questo valore dovrebbe sempre essere
DDP_PREFERRED
, che fornirร un preventivo DDP quando possibile e un preventivo DAP se non รจ consentito un DDP. Utilizzare inveceDAP
potrebbe comportare che i costi di sbarco non siano piรน garantiti, poichรฉ ciรฒ comporta tipicamente dazi e tasse pagati alla consegna.
- Se utilizzi la nostra garanzia di landed cost, questo valore dovrebbe sempre essere
endUse
: Indica se le merci sono vendute a un'altra azienda (FOR_RESALE
) o per uso finale con un consumatore (NOT_FOR_RESALE
).tariffRate
: Indica il metodo che Zonos dovrebbe utilizzare per calcolare le tariffe doganali per questo preventivo, nel caso ci sia un intervallo di tariffe doganali che potrebbero essere applicate. *Quando si utilizza la nostra garanzia di landed cost, questo dovrebbe sempre essereZONOS_PREFERRED
.
Aggiungi la spedizione calcolata: Se desideri che Zonos calcoli il costo di spedizione per te, sostituisci il
shipmentRatingCreateWorkflow
con ilshipmentRatingCalculateWorkflow
. Aggiungi ilcartonizeWorkflow
se desideri che Zonos ordini i tuoi articoli in cartoni prima di trovare il costo di spedizione (utilizzato per il peso dimensionale).
Opzioni quando si calcola un landed cost
GraphQL ti offre la flessibilitร di personalizzare la richiesta secondo le tue preferenze. Ci sono un paio di opzioni su come includere codici HS e costi di spedizione nella richiesta.
Codici HS
I codici HS influenzano le aliquote doganali e sono quindi richiesti. Puoi passare il codice HS per ciascun articolo o lasciare che Classify li generi.
Zonos raccomanda vivamente di utilizzare codici HS specifici per il prodotto, poichรฉ ciรฒ porta a una quotazione piรน accurata del landed cost. Se conosci i tuoi codici HS, passa l'hsCode
per ciascun item
durante il itemCreateWorkflow
.
Se passi un codice HS, Zonos lo convaliderร al volo quando otterrai una quotazione del landed cost. Se il codice HS fornito รจ non valido (significa che non esiste), Zonos ri-classify il tuo articolo al volo e utilizzerร il nuovo codice HS valido invece di quello fornito.
Se hai bisogno di aiuto per generare codici HS per i tuoi prodotti, scopri di piรน su Zonos Classify e su come richiedere una classificazione.
Se non passi a Zonos un hsCode
, controlleremo prima il Zonos Catalog per vedere se hai un codice HS memorizzato per il tuo articolo. Se non ce l'hai, chiameremo Classify per generare una classificazione per alimentare il tuo calcolo del landed cost basato sui seguenti campi di dettaglio del prodotto del itemCreateWorkflow
: description
, category
e material
. Se i tuoi campi di dettaglio del prodotto non sono sufficientemente dettagliati per generare una classificazione basata sul punteggio di fiducia di Classify's, verrร utilizzato il codice HS predefinito assegnato al tuo negozio.
Per impostazione predefinita, se non fornisci un hsCode
e chiamiamo Classify, il hsCode
generato da Classify non verrร restituito nella risposta poichรฉ sarร utilizzato solo internamente per generare il tuo landed cost. Tuttavia, se hai un abbonamento a Classify, restituiremo il codice HS di Classify's nella tua risposta del landed cost.
Costo di spedizione
Sia il livello di servizio di spedizione che il suo costo influenzano i dazi, le tasse e le spese e sono quindi richiesti. Zonos puรฒ calcolare la spedizione oppure puoi passarci queste informazioni.
Per far calcolare a Zonos i costi di spedizione, utilizza il shipmentRatingCalculateWorkflow
. Le opzioni di spedizione restituite nella risposta di spedizione calcolata corrisponderanno ai serviceLevels
che hai assegnato ai profili di spedizione nel Dashboard.
Risoluzione dei problemi: Se ti aspetti un
serviceLevel
nella risposta ma non appare, assicurati che ilserviceLevel
sia abilitato e sia supportato dalmethod
che hai selezionato.
Aggiungi il cartonizeWorkflow
(che non ha input) se desideri che Zonos ordini i tuoi articoli in cartoni prima di trovare il costo di spedizione (utilizzato per peso dimensionale.
Se conosci il serviceLevel
e l'amount
per una spedizione, puoi passarli nella porzione shipmentRatingCreateWorkflow
della richiesta. Utilizzeremo quei valori per calcolare eventuali spese associate al corriere e restituiremo quelle nella risposta.
Invia la mutazione
Una volta che hai i dati di input richiesti, invia la mutazione GraphQL all'endpoint API utilizzando la libreria o lo strumento client scelto. Ecco alcuni esempi di come puoi strutturare la mutazione.
Usa questa richiesta quando stai facendo calcolare a Zonos il costo di spedizione come parte della richiesta del Landed Cost. Calcoleremo quindi i dazi e le tasse sulla spedizione se vengono valutati dal paese di destinazione.
Mutazione
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
}
}
}
Risposta
{
"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"
}
]
}
]
}
}
Calcola un landed cost
Calcola dazi, tasse e commissioni con GraphQL.GraphQL
Zonos calcola il totale del landed cost per le spedizioni, che include dazi, tasse e eventuali commissioni aggiuntive che le dogane, i broker o i vettori di spedizione possono addebitare. Spesso garantiamo questi calcoli pagando noi stessi il conto di dazi, tasse e commissioni, addebitandoti esattamente ciรฒ che calcoliamo. In rari casi, i nostri calcoli possono essere utilizzati senza la nostra garanzia, dove ti assumi qualsiasi differenza tra il nostro calcolo e il conto di dazi e tasse.