DOCS

Calculate landed cost graphql

/

Beräkna en landed cost

Beräkna avgifter, skatter och avgifter med GraphQL.

GraphQL

Zonos beräknar den totala landed cost för försändelser, vilket inkluderar avgifter, skatter och eventuella ytterligare avgifter som tull, mäklare eller fraktföretag kan ta ut. Vi garanterar ofta dessa beräkningar genom att betala avgiften, skatten och avgiftsräkningen själva medan vi debiterar dig exakt vad vi beräknar. I sällsynta fall kan våra beräkningar användas utan vår garanti, där du tar på dig eventuell skillnad mellan vår beräkning och avgifts- och skatteräkningen.

Förbered mutationsinmatningen 

Att beräkna en landed cost via GraphQL API involverar flera steg; vi har organiserat dessa steg i arbetsflöden. I slutet kommer du att ha allt du behöver för att göra ett samtal för att få en landed cost baserat på fraktdestinationen, artiklarna i kundvagnen och frakten.

Varje arbetsflöde behöver specifik indata. GraphQL tillåter dig att inkludera mer information än vad som krävs; vänligen hänvisa till vår fullständiga API-referens för att se alla möjliga fält. Obligatoriska fält är markerade som sådana i vår API-referens, men denna markering gäller endast fält som är nödvändiga för funktionalitet. Några ytterligare fält krävs när du använder vår garanti.

Nedan har vi listat alla obligatoriska fält för att beräkna en garanterad landed cost. Se till att du har denna information redo.

Obligatoriska inmatningar för garanterade beräkningar

partyCreateWorkflowInput

partyCreateWorkflowInput identifierar de involverade parterna och deras platser. Se hela schemat i vår GraphQL API referens. Obligatoriska fält är:

  • location
    • administrativeAreaCode: Koden för delstat eller provins, i två bokstäver. Endast nödvändigt för CA och BR.
    • countryCode: Den två-bokstäver ISO-koden för landet.
    • line1: Den första raden av adressen.
    • postalCode: Postnumret eller zip-koden för adressen.
  • person
    • email: E-postadressen till personen.
    • firstName: Förnamnet på personen.
    • lastName: Efternamnet på personen.
    • phone: Telefonnummer till personen.
  • type
    • DESTINATION: location & person information för fraktdestinationen.
    • ORIGIN: location information för fraktursprunget. person kopplad till fraktursprunget är inte nödvändig.
itemCreateWorkflowInput

itemCreateWorkflowInput listar artiklarna i kundvagnen. Det finns många valfria fält (se alla möjligheter i vår API-referens), men fälten nedan är obligatoriska.

  • amount: Priset på artikeln.
  • currencyCode: Valutakoden för artikelbeloppet.
  • quantity: Antalet av artikeln.
  • Ett av följande (vad som än är inställt som din artikelnyckelpreferens. Din artikelnyckel kopplar information som lagras i Katalog till artikeln i kundvagnen och används vid etikett skapande.)
    • productId: Artikelns produkt-ID.
    • sku: Artikelns SKU.

measurements (WEIGHT, LENGTH, WIDTH, HEIGHT) är endast obligatoriska om du vill kartongisera dina artiklar när du får en fraktbedömning.

shipmentRatingCreateWorkflowInput

Detta arbetsflöde används när du redan känner till fraktservicen och kostnaden; om du vill att Zonos ska beräkna dessa kostnader för tjänster du har aktiverat, byt ut detta arbetsflöde och använd istället shipmentRatingCalculateWorkflow.

shipmentRatingCreateWorkflowInput kommunicerar fraktkostnaden. Se hela schemat i vår GraphQL API referens. Obligatoriska fält är:

  • amount: Fraktkostnaden.
  • currencyCode: Valutakoden för fraktkostnaden.
  • serviceLevelCode: Koden som anger fraktservicenivån som används i fraktbedömningen.
landedCostWorkflowInput

landedCostWorkflowInput dikterar preferenser för beräkningen av landed cost. Se hela schemat i vår GraphQL API referens. Obligatoriska fält är:

  • calculationMethod: Anger din preferens för hur du planerar att frakta: DDP (förbetalda avgifter och skatter) eller DAP (antingen avgifter och skatter betalas vid leverans, eller om ett remitteringssystem gäller, de remitteras via ett skatte-ID).
    • Om du använder vår landed cost garanti, bör detta värde alltid vara DDP_PREFERRED, vilket ger en DDP-offert när det är möjligt och en DAP-offert om en DDP inte är tillåten. Att använda DAP istället kan resultera i att landed costs inte längre garanteras, eftersom detta vanligtvis resulterar i avgifter och skatter som betalas vid leverans.
  • endUse: Anger om varorna säljs till ett annat företag (FOR_RESALE) eller för slutbruk med en konsument (NOT_FOR_RESALE).
  • tariffRate: Anger metoden som Zonos bör använda för att beräkna tullsatserna för denna offert, i händelse av att det finns ett intervall av tullsatser som kan tillämpas. *När du använder vår landed cost garanti, bör detta alltid vara ZONOS_PREFERRED.

Lägg till beräknad frakt: Om du vill att Zonos ska beräkna fraktkostnaden för dig, ersätt shipmentRatingCreateWorkflow med shipmentRatingCalculateWorkflow. Lägg till cartonizeWorkflow om du vill att Zonos ska sortera dina artiklar i kartonger innan fraktkostnaden beräknas (används för dimensionell vikt).

Alternativ vid beräkning av en landed cost

GraphQL ger dig flexibiliteten att anpassa begäran efter dina önskemål. Det finns ett par alternativ för hur du inkluderar HS-koder och fraktkostnader i begäran.

HS-koder

HS-koder påverkar tullsatser och är därför nödvändiga. Du kan ange HS-koden för varje artikel eller låta Classify generera dem.

Ange HS-koder för varje artikel

Zonos rekommenderar starkt att använda produkt-specifika HS-koder eftersom det leder till en mer exakt landed cost offert. Om du känner till dina HS-koder, ange hsCode för varje item under itemCreateWorkflow.

Om du anger en HS-kod kommer Zonos att validera den i realtid när du får en landed cost offert. Om HS-koden du angav är ogiltig (vilket betyder att den inte existerar), kommer Zonos att re-classify din artikel i realtid och använda den nya, giltiga HS-koden istället för den du angav.

Om du behöver hjälp med att generera HS-koder för dina produkter, lär dig om Zonos Classify och hur du begär en klassificering.

Generera HS-koder med Classify

Om du inte anger Zonos en hsCode, kommer vi först att kontrollera Zonos Katalog för att se om du har en HS-kod lagrad för din artikel. Om du inte har det, kommer vi att kalla på Classify för att generera en klassificering som driver din landed cost beräkning baserat på följande itemCreateWorkflow produktdetaljfält: description, category, och material. Om dina produktdetaljfält inte är tillräckligt detaljerade för att generera en klassificering baserat på Classify's confidence scoring, kommer den standard HS-kod som tilldelats din butik att användas.

Som standard, om du inte tillhandahåller en hsCode och vi kallar på Classify, kommer den hsCode som genereras av Classify inte att returneras i svaret eftersom den endast kommer att användas internt för att generera din landed cost. Men om du har en Classify prenumeration, kommer vi att returnera Classify's HS-kod i din landed cost respons.

Fraktkostnad

Både fraktservicenivån och dess kostnad påverkar tullar, skatter och avgifter och är därför nödvändiga. Zonos kan beräkna frakt eller så kan du skicka detta till oss.

Beräkna frakt

För att låta Zonos beräkna fraktkostnader, använd shipmentRatingCalculateWorkflow. Fraktalternativen som returneras i den beräknade fraktsvaret kommer att korrelera med de serviceLevels du har tilldelat fraktprofiler i Dashboard.

Felsökning: Om du förväntar dig en serviceLevel i svaret men den inte visas, vänligen säkerställ att serviceLevel är aktiverad och stöds av den method du valt.

Lägg till cartonizeWorkflow (som inte har några indata) om du vill att Zonos ska sortera dina artiklar i kartonger innan fraktkostnaden beräknas (används för dimensionell vikt.

Ange fraktkostnader

Om du känner till serviceLevel och amount för en försändelse, kan du ange dessa i shipmentRatingCreateWorkflow delen av begäran. Vi kommer att använda dessa värden för att beräkna eventuella associerade fraktavgifter och returnera dessa i svaret.

Skicka mutation 

När du har den nödvändiga indata, skicka GraphQL-mutation till API-slutpunkten med hjälp av ditt valda klientbibliotek eller verktyg. Här är några exempel på hur du kan strukturera mutation.

Beräknad frakt
Manuell frakt

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
    }
  }
}

Svar

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"
          }
        ]
      }
    ]
  }
}

Var den här sidan hjälpsam?