Bereiten Sie die Eingabedaten für die Mutation vor
Die Berechnung einer landed cost über die GraphQL API umfasst mehrere Schritte; wir haben diese Schritte in Workflows organisiert. Am Ende haben Sie alles, was Sie benötigen, um einen Anruf zu tätigen, um eine landed cost basierend auf dem Versandziel, den Artikeln im Warenkorb und dem Versand zu erhalten.
Jeder Workflow benötigt spezifische Eingabedaten. GraphQL ermöglicht es Ihnen, mehr Informationen als erforderlich einzuschließen; bitte beziehen Sie sich auf unser vollständiges API-Referenzdokument, um alle möglichen Felder zu sehen. Erforderliche Felder sind in unserem API-Referenzdokument als solche gekennzeichnet, aber dieses Zeichen gilt nur für Felder, die für die Funktionalität erforderlich sind. Einige zusätzliche Felder sind erforderlich, wenn Sie unsere Garantie nutzen.
Im Folgenden haben wir alle erforderlichen Felder für die Berechnung einer garantierten landed cost aufgelistet. Stellen Sie sicher, dass Sie diese Informationen bereit haben.
Erforderliche Eingaben für garantierte Berechnungen
partyCreateWorkflowInput
Der partyCreateWorkflowInput
identifiziert die beteiligten Parteien und deren Standorte. Sehen Sie das vollständige Schema in unserer GraphQL API Referenz. Erforderliche Felder sind:
location
administrativeAreaCode
: Der Bundesstaat oder Provinzcode, in zwei Buchstaben. Nur erforderlich für CA und BR.countryCode
: Der zweibuchstabige ISO-Code des Landes.line1
: Die erste Zeile der Adresse.postalCode
: Die Postleitzahl oder ZIP-Code der Adresse.
person
email
: Die E-Mail-Adresse der Person.firstName
: Der Vorname der Person.lastName
: Der Nachname der Person.phone
: Die Telefonnummer der Person.
type
DESTINATION
: Dielocation
&person
Informationen für das Versandziel.ORIGIN
: Dielocation
Informationen für den Versandursprung. Dieperson
, die mit dem Versandursprung verbunden ist, ist nicht erforderlich.
itemCreateWorkflowInput
Der itemCreateWorkflowInput
listet die Artikel im Warenkorb auf. Es gibt viele optionale Felder (siehe alle Möglichkeiten in unserer API-Referenz), aber die folgenden Felder sind erforderlich.
amount
: Der Preis des Artikels.currencyCode
: Der Währungs-Code für den Artikelbetrag.quantity
: Die Menge des Artikels.- Eines der folgenden (je nachdem, was als Ihre Artikel-Schlüssel-Präferenz festgelegt ist. Ihr Artikel-Schlüssel verbindet Informationen, die im Katalog gespeichert sind, mit dem Artikel im Warenkorb und wird während der Etikettenerstellung verwendet.)
productId
: Die Produkt-ID des Artikels.sku
: Die SKU des Artikels.
Die measurements
(WEIGHT
, LENGTH
, WIDTH
, HEIGHT
) sind nur erforderlich, wenn Sie Ihre Artikel beim Erhalten einer Versandbewertung kartonisieren möchten.
cartonsCreateWorkflowInput
Der cartonsCreateWorkflowInput
erfordert nur die Eingabe selbst. Sehen Sie das vollständige Schema in unserer GraphQL API Referenz, um alle Werte zu sehen, die übergeben werden können. Es ist wichtig, die Abmessungen und das Gewicht des Kartons anzugeben, wenn Zonos die Versandkosten berechnet.
shipmentRatingCreateWorkflowInput
Dieser Workflow wird verwendet, wenn Sie bereits den Versanddienst und die Kosten kennen; wenn Sie möchten, dass Zonos diese Kosten für die von Ihnen aktivierten Dienste berechnet, ersetzen Sie diesen Workflow durch den shipmentRatingCalculateWorkflow
.
Der shipmentRatingCreateWorkflowInput
kommuniziert die Versandkosten. Sehen Sie das vollständige Schema in unserer GraphQL API Referenz. Erforderliche Felder sind:
amount
: Die Versandkosten.currencyCode
: Der Währungs-Code der Versandkosten.serviceLevelCode
: Der Code, der das verwendete Versanddienstleistungsniveau in der Versandbewertung angibt.
landedCostWorkflowInput
Der landedCostWorkflowInput
diktiert die Präferenzen für die Berechnung der landed cost. Sehen Sie das vollständige Schema in unserer GraphQL API Referenz. Erforderliche Felder sind:
calculationMethod
: Gibt Ihre Präferenz an, wie Sie versenden möchten: DDP (vorausbezahlte Zölle und Steuern) oder DAP (entweder werden Zölle und Steuern bei der Lieferung bezahlt, oder wenn ein Rückerstattungsschema gilt, werden sie über eine Steuer-ID erstattet).- Wenn Sie unsere landed cost-Garantie nutzen, sollte dieser Wert immer
DDP_PREFERRED
sein, was ein DDP-Angebot bereitstellt, wenn möglich, und ein DAP-Angebot, wenn ein DDP-Angebot nicht zulässig ist. Die Verwendung vonDAP
anstelle dessen kann dazu führen, dass die Landed Costs nicht mehr garantiert sind, da dies typischerweise bedeutet, dass Zölle und Steuern bei der Lieferung bezahlt werden.
- Wenn Sie unsere landed cost-Garantie nutzen, sollte dieser Wert immer
endUse
: Gibt an, ob die Waren an ein anderes Unternehmen verkauft werden (FOR_RESALE
) oder für den Endverbrauch mit einem Verbraucher (NOT_FOR_RESALE
).tariffRate
: Gibt die Methode an, die Zonos zur Berechnung der Zolltarife für dieses Angebot verwenden sollte, falls eine Reihe von Zolltarifen angewendet werden könnte. *Bei Verwendung unserer landed cost-Garantie sollte dies immerZONOS_PREFERRED
sein.
Berechnete Versandkosten hinzufügen: Wenn Sie möchten, dass Zonos die Versandkosten für Sie berechnet, ersetzen Sie den
shipmentRatingCreateWorkflow
durch denshipmentRatingCalculateWorkflow
. Fügen Sie dencartonizeWorkflow
hinzu, wenn Sie möchten, dass Zonos Ihre Artikel in Kartons sortiert bevor die Versandkosten ermittelt werden (verwendet für dimensionales Gewicht).
Optionen bei der Berechnung einer landed cost
GraphQL gibt Ihnen die Flexibilität, die Anfrage nach Ihren Wünschen anzupassen. Es gibt einige Optionen, wie Sie HS-Codes und Versandkosten in die Anfrage einfügen können.
HS-Codes
HS-Codes beeinflussen die Zolltarife und sind daher erforderlich. Sie können den HS-Code für jeden Artikel übergeben oder Classify sie generieren lassen.
Zonos empfiehlt dringend, produktspezifische HS-Codes zu verwenden, da dies zu einem genaueren landed cost-Angebot führt. Wenn Sie Ihre HS-Codes kennen, übergeben Sie den hsCode
für jeden item
während des itemCreateWorkflow
.
Wenn Sie einen HS-Code übergeben, wird Zonos ihn bei der Abfrage eines landed cost-Angebots in Echtzeit validieren. Wenn der von Ihnen angegebene HS-Code ungültig ist (d.h. er existiert nicht), wird Zonos Ihren Artikel in Echtzeit neu-classify klassifizieren und den neuen, gültigen HS-Code anstelle des von Ihnen angegebenen verwenden.
Wenn Sie Hilfe bei der Generierung von HS-Codes für Ihre Produkte benötigen, erfahren Sie mehr über Zonos Classify und wie Sie eine Klassifizierung anfordern.
Wenn Sie Zonos keinen hsCode
übergeben, überprüfen wir zuerst Zonos Catalog, um zu sehen, ob Sie einen HS-Code für Ihren Artikel gespeichert haben. Wenn nicht, rufen wir Classify auf, um eine Klassifizierung zu generieren, die Ihre landed cost-Berechnung auf der Grundlage der folgenden itemCreateWorkflow
-Produktdetailfelder unterstützt: description
, category
und material
. Wenn Ihre Produktdetailfelder nicht detailliert genug sind, um eine Klassifizierung basierend auf Classify's confidence scoring zu generieren, wird der Standard-HS-Code, der Ihrem Store zugewiesen ist, verwendet.
Standardmäßig, wenn Sie keinen hsCode
bereitstellen und wir Classify aufrufen, wird der von Classify generierte hsCode
nicht in der Antwort zurückgegeben, da er nur intern zur Generierung Ihrer landed cost verwendet wird. Wenn Sie jedoch ein Classify-Abonnement haben, geben wir den HS-Code von Classify's in Ihrer landed cost-Antwort zurück.
Versandkosten
Sowohl die Versanddienstleistungsstufe als auch die Kosten beeinflussen die Zölle, Steuern und Gebühren und sind daher erforderlich. Zonos kann den Versand berechnen oder Sie können uns diese übergeben.
Um Zonos die Versandkosten berechnen zu lassen, verwenden Sie den shipmentRatingCalculateWorkflow
. Die im berechneten Versandantwort zurückgegebenen Versandoptionen korrelieren mit den serviceLevels
, die Sie den Versandprofilen im Dashboard zugewiesen haben.
Fehlerbehebung: Wenn Sie eine
serviceLevel
in der Antwort erwarten, diese jedoch nicht angezeigt wird, stellen Sie bitte sicher, dass dieserviceLevel
aktiviert ist und von der von Ihnen ausgewähltenmethod
unterstützt wird.
Fügen Sie den cartonizeWorkflow
(der keine Eingaben hat) hinzu, wenn Sie möchten, dass Zonos Ihre Artikel in Kartons sortiert bevor die Versandkosten ermittelt werden (verwendet für dimensional weight).
Wenn Sie die serviceLevel
und den amount
für eine Sendung kennen, können Sie diese im Abschnitt shipmentRatingCreateWorkflow
der Anfrage übergeben. Wir verwenden diese Werte, um alle damit verbundenen Frachtgebühren zu berechnen und diese in der Antwort zurückzugeben.
Mutation senden
Sobald Sie die erforderlichen Eingabedaten haben, senden Sie die GraphQL-Mutation an den API-Endpunkt unter Verwendung Ihrer gewählten Client-Bibliothek oder -Werkzeugs. Hier sind einige Beispiele, wie Sie die Mutation strukturieren können.
Verwenden Sie diese Anfrage, wenn Sie Zonos die Versandkosten als Teil der Landed Cost-Anfrage berechnen lassen. Wir berechnen dann Zölle und Steuern auf den Versand, wenn diese vom Zielland erhoben werden.
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
}
}
}
Antwort
{
"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"
}
]
}
]
}
}
Berechnen Sie eine landed cost
Berechnen Sie Zölle, Steuern und Gebühren mit GraphQL.GraphQL
Zonos berechnet die gesamte landed cost für Sendungen, die Zölle, Steuern und alle zusätzlichen Gebühren umfassen, die von Zollbehörden, Maklern oder Versanddienstleistern erhoben werden können. Wir garantieren diese Berechnungen oft, indem wir die Zoll-, Steuer- und Gebührenrechnung selbst bezahlen, während wir Ihnen genau das berechnen, was wir kalkulieren. In seltenen Fällen können unsere Berechnungen ohne unsere Garantie verwendet werden, wobei Sie die Differenz zwischen unserer Berechnung und der Zoll- und Steuerrechnung übernehmen.