DOCS

Calculate landed cost graphql

/

Hitung landed cost

Hitung bea, pajak, dan biaya dengan GraphQL.

GraphQL

Zonos menghitung total landed cost untuk pengiriman, yang mencakup bea, pajak, dan biaya tambahan yang mungkin dikenakan oleh bea cukai, broker, atau pengangkut. Kami sering menjamin perhitungan ini dengan membayar tagihan bea, pajak, dan biaya sendiri sambil mengenakan biaya persis seperti yang kami hitung. Dalam kasus yang jarang terjadi, perhitungan kami dapat digunakan tanpa jaminan kami, di mana Anda menanggung perbedaan antara perhitungan kami dan tagihan bea dan pajak.

Siapkan input mutasi 

Menghitung landed cost melalui GraphQL API melibatkan beberapa langkah; kami telah mengorganisir langkah-langkah ini ke dalam alur kerja. Pada akhirnya, Anda akan memiliki semua yang Anda butuhkan untuk melakukan satu panggilan untuk mendapatkan landed cost berdasarkan tujuan pengiriman, barang dalam keranjang, dan pengiriman.

Setiap alur kerja membutuhkan data input spesifik. GraphQL memungkinkan Anda untuk menyertakan lebih banyak informasi daripada yang diperlukan; silakan merujuk ke referensi API kami untuk melihat semua bidang yang mungkin. Bidang yang diperlukan ditandai sebagai demikian dalam referensi API kami, tetapi tanda ini hanya berlaku untuk bidang yang diperlukan untuk fungsionalitas. Beberapa bidang tambahan diperlukan saat menggunakan jaminan kami.

Di bawah ini, kami telah mencantumkan semua bidang yang diperlukan untuk menghitung biaya yang dijamin landed cost. Pastikan Anda memiliki informasi ini siap.

Input yang diperlukan untuk perhitungan yang dijamin

partyCreateWorkflowInput

partyCreateWorkflowInput mengidentifikasi pihak-pihak yang terlibat dan lokasi mereka. Lihat skema lengkap di referensi API GraphQL. Bidang yang diperlukan adalah:

  • location
    • administrativeAreaCode: Kode negara bagian atau provinsi, dalam dua huruf. Hanya diperlukan untuk CA dan BR.
    • countryCode: Kode ISO dua huruf negara.
    • line1: Baris pertama alamat.
    • postalCode: Kode pos atau kode zip alamat.
  • person
    • email: Alamat email orang tersebut.
    • firstName: Nama depan orang tersebut.
    • lastName: Nama belakang orang tersebut.
    • phone: Nomor telepon orang tersebut.
  • type
    • DESTINATION: Informasi location & person untuk tujuan pengiriman.
    • ORIGIN: Informasi location untuk asal pengiriman. person yang terkait dengan asal pengiriman tidak diperlukan.
itemCreateWorkflowInput

itemCreateWorkflowInput mencantumkan barang-barang dalam keranjang. Ada banyak bidang opsional (lihat semua kemungkinan di referensi API kami), tetapi bidang di bawah ini adalah yang diperlukan.

  • amount: Harga barang.
  • currencyCode: Kode mata uang untuk jumlah barang.
  • quantity: Jumlah barang.
  • Salah satu dari berikut ini (mana yang ditetapkan sebagai preferensi kunci barang Anda. Kunci barang Anda menghubungkan informasi yang disimpan di Katalog dengan barang dalam keranjang dan digunakan selama pembuatan label.)
    • productId: ID produk barang.
    • sku: SKU barang.

measurements (WEIGHT, LENGTH, WIDTH, HEIGHT) hanya diperlukan jika Anda ingin mengemas barang Anda saat mendapatkan penilaian pengiriman.

shipmentRatingCreateWorkflowInput

Alur kerja ini digunakan ketika Anda sudah mengetahui layanan pengiriman dan biayanya; jika Anda ingin Zonos menghitung biaya ini untuk layanan yang telah Anda aktifkan, ganti alur kerja ini dan gunakan shipmentRatingCalculateWorkflow sebagai gantinya.

shipmentRatingCreateWorkflowInput mengkomunikasikan biaya pengiriman. Lihat skema lengkap di referensi API GraphQL. Bidang yang diperlukan adalah:

  • amount: Biaya pengiriman.
  • currencyCode: Kode mata uang dari biaya pengiriman.
  • serviceLevelCode: Kode yang menunjukkan tingkat layanan pengiriman yang digunakan dalam penilaian pengiriman.
landedCostWorkflowInput

landedCostWorkflowInput menentukan preferensi untuk perhitungan landed cost. Lihat skema lengkap di referensi API GraphQL. Bidang yang diperlukan adalah:

  • calculationMethod: Menunjukkan preferensi Anda untuk cara Anda berencana mengirim: DDP (bea dan pajak dibayar di muka) atau DAP (baik bea dan pajak dibayar saat pengiriman, atau jika skema remittance berlaku, mereka dibayarkan melalui ID pajak).
    • Jika Anda menggunakan jaminan landed cost kami, nilai ini harus selalu DDP_PREFERRED, yang akan memberikan kutipan DDP jika memungkinkan dan kutipan DAP jika kutipan DDP tidak diizinkan. Menggunakan DAP sebagai gantinya dapat mengakibatkan biaya yang ditanggung tidak lagi dijamin, karena ini biasanya mengakibatkan bea dan pajak dibayar saat pengiriman.
  • endUse: Menunjukkan apakah barang dijual kepada bisnis lain (FOR_RESALE) atau untuk digunakan akhir dengan konsumen (NOT_FOR_RESALE).
  • tariffRate: Menunjukkan metode yang harus digunakan Zonos untuk menghitung tarif bea untuk kutipan ini, jika ada rentang tarif bea yang dapat diterapkan. *Saat menggunakan jaminan landed cost kami, ini harus selalu ZONOS_PREFERRED.

Tambahkan pengiriman yang dihitung: Jika Anda ingin Zonos menghitung biaya pengiriman untuk Anda, ganti shipmentRatingCreateWorkflow dengan shipmentRatingCalculateWorkflow. Tambahkan cartonizeWorkflow jika Anda ingin Zonos mengurutkan barang Anda ke dalam karton sebelum menemukan biaya pengiriman (digunakan untuk berat dimensi).

Opsi saat menghitung landed cost

GraphQL memberi Anda fleksibilitas untuk menyesuaikan permintaan sesuai preferensi Anda. Ada beberapa opsi untuk bagaimana Anda menyertakan kode HS dan biaya pengiriman dalam permintaan.

Kode HS

Kode HS mempengaruhi tarif bea dan oleh karena itu diperlukan. Anda dapat mengirimkan kode HS untuk setiap item atau membiarkan Classify menghasilkan kode tersebut.

Kirim kode HS untuk setiap item

Zonos sangat merekomendasikan menggunakan kode HS spesifik produk karena ini menghasilkan kutipan landed cost yang lebih akurat. Jika Anda mengetahui kode HS Anda, kirimkan hsCode untuk setiap item selama itemCreateWorkflow.

Jika Anda mengirimkan kode HS, Zonos akan memvalidasinya secara langsung saat mendapatkan kutipan landed cost. Jika kode HS yang Anda berikan tidak valid (artinya tidak ada), Zonos akan mengulang-classify item Anda secara langsung dan menggunakan kode HS baru yang valid sebagai pengganti kode yang Anda berikan.

Jika Anda memerlukan bantuan untuk menghasilkan kode HS untuk produk Anda, pelajari tentang Zonos Classify dan bagaimana cara meminta klasifikasi.

Hasilkan kode HS dengan Classify

Jika Anda tidak mengirimkan Zonos sebuah hsCode, kami akan terlebih dahulu memeriksa Zonos Catalog untuk melihat apakah Anda memiliki kode HS yang tersimpan untuk item Anda. Jika tidak, kami akan memanggil Classify untuk menghasilkan klasifikasi yang mendukung perhitungan landed cost Anda berdasarkan bidang detail produk itemCreateWorkflow berikut: description, category, dan material. Jika bidang detail produk Anda tidak cukup rinci untuk menghasilkan klasifikasi berdasarkan skor kepercayaan Classify's, kode HS default yang ditetapkan untuk toko Anda akan digunakan.

Secara default, jika Anda tidak menyediakan hsCode dan kami memanggil Classify, hsCode yang dihasilkan oleh Classify tidak akan dikembalikan dalam respons karena hanya akan digunakan secara internal untuk menghasilkan landed cost Anda. Namun, jika Anda memiliki langganan Classify, kami akan mengembalikan kode HS Classify's dalam respons landed cost Anda.

Biaya pengiriman

Baik tingkat layanan pengiriman maupun biayanya mempengaruhi bea, pajak, dan biaya dan oleh karena itu diperlukan. Zonos dapat menghitung biaya pengiriman atau Anda dapat mengirimkan ini kepada kami.

Hitung pengiriman

Untuk membuat Zonos menghitung biaya pengiriman, gunakan shipmentRatingCalculateWorkflow. Opsi pengiriman yang dikembalikan dalam respons pengiriman yang dihitung akan berkorelasi dengan serviceLevels yang telah Anda tetapkan untuk profil pengiriman di Dashboard.

Pemecahan Masalah: Jika Anda mengharapkan serviceLevel dalam respons tetapi tidak muncul, harap pastikan bahwa serviceLevel diaktifkan dan didukung oleh method yang Anda pilih.

Tambahkan cartonizeWorkflow (yang tidak memiliki input) jika Anda ingin Zonos mengurutkan item Anda ke dalam karton sebelum menemukan biaya pengiriman (digunakan untuk berat dimensional.

Kirim biaya pengiriman

Jika Anda mengetahui serviceLevel dan amount untuk pengiriman, Anda dapat mengirimkan nilai tersebut dalam bagian shipmentRatingCreateWorkflow dari permintaan. Kami akan menggunakan nilai tersebut untuk menghitung biaya pengangkut terkait dan mengembalikannya dalam respons.

Kirim mutasi 

Setelah Anda memiliki data input yang diperlukan, kirimkan mutasi GraphQL ke endpoint API menggunakan pustaka atau alat klien pilihan Anda. Berikut adalah beberapa contoh tentang bagaimana Anda dapat menyusun mutasi.

Pengiriman yang dihitung
Pengiriman manual

Mutasi

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

Respon

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

Apakah halaman ini membantu?