DOCS

Berechnen Sie landed cost - GraphQL

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.

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: Die location & person Informationen für das Versandziel.
    • ORIGIN: Die location Informationen für den Versandursprung. Die person, 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 von DAP 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.
  • 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 immer ZONOS_PREFERRED sein.

Berechnete Versandkosten hinzufügen: Wenn Sie möchten, dass Zonos die Versandkosten für Sie berechnet, ersetzen Sie den shipmentRatingCreateWorkflow durch den shipmentRatingCalculateWorkflow. Fügen Sie den cartonizeWorkflow 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.

HS-Codes für jeden Artikel übergeben

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.

HS-Codes mit Classify generieren

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.

Versandkosten berechnen

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 die serviceLevel aktiviert ist und von der von Ihnen ausgewählten method 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).

Versandkosten übergeben

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
{
  "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"
          }
        ]
      }
    ]
  }
}

War diese Seite hilfreich?