Siapkan permintaan
Menghitung landed cost API memerlukan beberapa input, yang telah kami atur dalam alur kerja. Setelah selesai, Anda akan dapat membuat satu permintaan untuk mengembalikan landed cost berdasarkan tujuan pengiriman, barang dalam keranjang, dan detail pengiriman.
Setiap alur kerja memiliki input yang diperlukan sendiri. GraphQL memungkinkan Anda untuk mengirimkan lebih banyak data daripada yang diperlukan, tetapi hanya bidang tertentu yang diperlukan untuk mengembalikan landed cost. Ini ditandai dengan jelas dalam referensi API kami untuk melihat semua bidang yang mungkin.
Perhatikan bahwa beberapa bidang bersifat kondisional diperlukan jika Anda ingin perhitungan Anda dijamin.
Di bawah ini, kami telah menguraikan semua bidang yang diperlukan untuk menghitung landed cost yang dijamin. Pastikan informasi ini disertakan sebelum membuat permintaan Anda.
Input yang diperlukan untuk perhitungan yang dijamin
partyCreateWorkflowInputpartyCreateWorkflowInput mengidentifikasi pihak-pihak yang terlibat dan lokasi mereka. Lihat skema lengkap di referensi API GraphQL kami. Bidang yang diperlukan adalah:
locationadministrativeAreaCode: Kode negara bagian atau provinsi, dalam dua huruf. Hanya diperlukan untuk CA dan BR.countryCode: Kode ISO dua huruf dari negara.line1: Baris pertama alamat.postalCode: Kode pos atau kode zip dari alamat.
personemail: Alamat email orang tersebut.firstName: Nama depan orang tersebut.lastName: Nama belakang orang tersebut.phone: Nomor telepon orang tersebut.
typeDESTINATION: Informasilocation&personuntuk tujuan pengiriman.ORIGIN: Informasilocationuntuk asal pengiriman.personyang terkait dengan asal pengiriman tidak diperlukan.
itemCreateWorkflowInputitemCreateWorkflowInput 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: Nilai dari satu unit produk yang dikirim, sebelum dikalikan dengan jumlah. Perhatikan bahwa ini berbeda dari definisi pos item pos. Jikaquantityitem adalah 1, ini adalah total biaya item. Jikaquantityitem >1, API akan mengalikanamountitem denganquantityitem untuk mendapatkan total untuk item tersebut. Jangan masukkan total harga semua unit item dalamamount.currencyCode: Kode mata uang untuk jumlah item.quantity: Jumlah item. API akan mengalikanamountitem denganquantityitem untuk mendapatkan total untuk item tersebut.countryOfOrigin: Negara tempat item diproduksi.- Salah satu dari berikut ini (mana yang ditetapkan sebagai preferensi kunci item Anda. Kunci item Anda menghubungkan informasi yang disimpan di Katalog dengan item dalam keranjang dan digunakan selama pembuatan label.)
productId: ID produk item.sku: SKU item.
measurements (WEIGHT, LENGTH, WIDTH, HEIGHT) hanya diperlukan jika Anda ingin kartonisasi barang Anda saat mendapatkan penilaian pengiriman.
cartonsCreateWorkflowInputcartonsCreateWorkflowInput hanya memerlukan input itu sendiri. Lihat skema lengkap di referensi API GraphQL kami untuk melihat semua nilai yang dapat dikirim. Penting untuk mengirimkan dimensi dan berat karton jika Zonos menghitung biaya pengiriman.
shipmentRatingCreateWorkflowInputAlur 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 dengan menggunakan shipmentRatingCalculateWorkflow sebagai gantinya.
shipmentRatingCreateWorkflowInput mengkomunikasikan biaya pengiriman. Lihat skema lengkap di referensi API GraphQL kami. 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.
landedCostWorkFlowInputlandedCostWorkFlowInput menentukan preferensi untuk perhitungan landed cost. Lihat skema lengkap di referensi API GraphQL kami. Bidang yang diperlukan adalah:
calculationMethod: Menunjukkan preferensi Anda untuk cara Anda berencana untuk 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. MenggunakanDAPsebagai gantinya dapat mengakibatkan biaya yang ditanggung tidak lagi dijamin, karena ini biasanya mengakibatkan bea dan pajak dibayar saat pengiriman.
- Jika Anda menggunakan jaminan landed cost kami, nilai ini harus selalu
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 selaluZONOS_PREFERRED.
Tambahkan pengiriman yang dihitung: Jika Anda ingin Zonos menghitung biaya pengiriman untuk Anda, ganti
shipmentRatingCreateWorkflowdenganshipmentRatingCalculateWorkflow. TambahkancartonizeWorkflowjika Anda ingin Zonos mengurutkan barang Anda ke dalam karton sebelum menemukan biaya pengiriman (digunakan untuk berat dimensi).
Kode HS dan opsi pengiriman
GraphQL memberi Anda fleksibilitas untuk menyesuaikan permintaan sesuai preferensi Anda. Ada beberapa opsi tentang bagaimana Anda menyertakan kode HS dan biaya pengiriman dalam permintaan.
Kode HS
Kode HS memengaruhi tarif bea dan oleh karena itu diperlukan. Anda dapat mengirimkan kode HS untuk setiap item atau membiarkan Classify yang menghasilkan kode tersebut.
Zonos sangat menyarankan menggunakan kode HS spesifik produk karena 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 meng-classify ulang 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 cara meminta klasifikasi.
Jika Anda tidak mengirimkan hsCode ke Zonos, kami akan terlebih dahulu memeriksa Katalog Zonos untuk melihat apakah Anda memiliki kode HS yang tersimpan untuk item Anda. Jika tidak, kami akan memanggil Classify untuk menghasilkan klasifikasi guna 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, maka kode HS default yang ditetapkan ke toko Anda akan digunakan.
Biaya pengiriman
Baik tingkat layanan pengiriman maupun biayanya memengaruhi bea, pajak, dan biaya lainnya sehingga diperlukan. Zonos dapat menghitung biaya pengiriman atau Anda dapat mengirimkannya kepada kami.
Untuk meminta Zonos menghitung biaya pengiriman, gunakan shipmentRatingCalculateWorkflow. Opsi pengiriman yang dikembalikan dalam respons pengiriman yang dihitung akan sesuai dengan serviceLevels yang telah Anda tetapkan pada profil pengiriman di Dashboard.
Pemecahan masalah: Jika Anda mengharapkan
serviceLeveldalam respons tetapi tidak muncul, pastikan bahwaserviceLeveltersebut diaktifkan dan didukung olehmethodyang Anda pilih.
Tambahkan cartonizeWorkflow (yang tidak memiliki input) jika Anda ingin Zonos mengelompokkan item Anda ke dalam karton sebelum mencari biaya pengiriman (digunakan untuk berat dimensi).
Jika Anda mengetahui serviceLevel dan amount untuk pengiriman, Anda dapat mengirimkannya dalam bagian shipmentRatingCreateWorkflow dari permintaan. Kami akan menggunakan nilai tersebut untuk menghitung biaya operator terkait dan mengembalikannya dalam respons.
Meminta landed cost melalui API
Setelah Anda memiliki data input yang diperlukan, kirim mutasi GraphQL ke endpoint API menggunakan pustaka klien atau alat pilihan Anda. Berikut beberapa contoh bagaimana Anda dapat menyusun mutasi.
Gunakan permintaan ini ketika Anda meminta Zonos menghitung biaya pengiriman sebagai bagian dari permintaan Landed Cost. Kami kemudian akan menghitung bea dan pajak atas pengiriman jika dikenakan oleh negara tujuan.
Mutation
mutation CalculateLandedCost(
$parties: [PartyCreateWorkflowInput!]!
$items: [ItemCreateWorkflowInput!]!
$landedCostConfig: LandedCostWorkFlowInput!
) {
partyCreateWorkflow(input: $parties) {
type
id
organization
}
itemCreateWorkflow(input: $items) {
id
amount
productId
}
cartonizeWorkflow {
id
type
items {
item {
id
}
}
}
shipmentRatingCalculateWorkflow {
id
amount
}
landedCostCalculateWorkflow(input: $landedCostConfig) {
id
duties {
amount
currency
note
}
taxes {
amount
currency
note
}
fees {
amount
currency
note
}
}
}
Variabel
{
"parties": [
{
"location": {
"administrativeArea": "Utah",
"administrativeAreaCode": "UT",
"countryCode": "US",
"line1": "345 N 2450 E",
"line2": "#151",
"locality": "St George",
"postalCode": "84790"
},
"type": "ORIGIN"
},
{
"location": {
"administrativeArea": "New South Wales",
"administrativeAreaCode": "NSW",
"countryCode": "AU",
"line1": "123 George Street",
"line2": "Apartment 5B",
"locality": "Sydney",
"postalCode": "2000"
},
"person": {
"email": "aussie.customer@gmail.com",
"firstName": "James",
"lastName": "Thompson",
"phone": "+61412345678",
"companyName": "Sydney Trading Co",
"metadata": { "key": "customer_type", "value": "premium" }
},
"type": "DESTINATION"
},
{
"type": "PAYOR",
"location": {
"administrativeArea": "Victoria",
"administrativeAreaCode": "VIC",
"countryCode": "AU",
"latitude": -37.8136,
"line1": "456 Collins Street",
"line2": "Suite 12",
"locality": "Melbourne",
"longitude": 144.9631,
"postalCode": "3000"
},
"person": {
"email": "billing@reallysilkstore.com.au",
"firstName": "Sarah",
"lastName": "Mitchell",
"phone": "+61398765432",
"companyName": "Really Silk Store",
"metadata": { "key": "billing_contact", "value": "primary" }
}
}
],
"items": [
{
"amount": 120,
"currencyCode": "USD",
"countryOfOrigin": "US",
"quantity": 1,
"productId": "productId1",
"hsCode": null,
"description": "leather wallet",
"measurements": [
{ "type": "WIDTH", "value": 1, "unitOfMeasure": "CENTIMETER" },
{ "type": "LENGTH", "value": 2, "unitOfMeasure": "CENTIMETER" },
{ "type": "HEIGHT", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "WEIGHT", "value": 1, "unitOfMeasure": "POUND" }
]
},
{
"amount": 55,
"currencyCode": "USD",
"countryOfOrigin": "US",
"quantity": 1,
"productId": "productId2",
"hsCode": "6206.30",
"description": "t-shirt",
"measurements": [
{ "type": "WIDTH", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "LENGTH", "value": 4, "unitOfMeasure": "CENTIMETER" },
{ "type": "HEIGHT", "value": 5, "unitOfMeasure": "CENTIMETER" },
{ "type": "WEIGHT", "value": 1.5, "unitOfMeasure": "POUND" }
]
}
],
"landedCostConfig": {
"calculationMethod": "DDP_PREFERRED",
"endUse": "NOT_FOR_RESALE",
"tariffRate": "ZONOS_PREFERRED"
}
}
Respon
{
"data": {
"partyCreateWorkflow": [
{
"type": "ORIGIN",
"id": "party_01044774-758f-4021-b8dd-e17d97609647",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
},
{
"type": "DESTINATION",
"id": "party_0m6wgfjmhbnf2",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
},
{
"type": "PAYOR",
"id": "party_0m6wgfjn5bnfh",
"organization": "organization_1ff864e0-58cf-4efa-9031-e8c323cf4c0e"
}
],
"itemCreateWorkflow": [
{
"id": "item_0m6wgfjpfw9fz",
"amount": 120,
"productId": "productId1"
},
{
"id": "item_0m6wgfjpfw9g0",
"amount": 55,
"productId": "productId2"
}
],
"cartonizeWorkflow": [
{
"id": "carton_0m6wgfme53aqb",
"type": "PACKAGE",
"items": [
{
"item": {
"id": "item_0m6wgfjpfw9g0"
}
},
{
"item": {
"id": "item_0m6wgfjpfw9fz"
}
}
]
}
],
"shipmentRatingCalculateWorkflow": [
{
"id": "shipment_rating_0m6wgfmghvhh1",
"amount": 24.8864
}
],
"landedCostCalculateWorkflow": [
{
"id": "landed_cost_7730b476-1307-4d14-8f76-3b37bd162054",
"duties": [],
"taxes": [
{
"amount": 5.5,
"currency": "USD",
"note": null
},
{
"amount": 0.7822,
"currency": "USD",
"note": null
},
{
"amount": 12,
"currency": "USD",
"note": null
},
{
"amount": 1.7065,
"currency": "USD",
"note": null
}
],
"fees": [
{
"amount": 0,
"currency": "USD",
"note": null
},
{
"amount": 0.8,
"currency": "USD",
"note": null
},
{
"amount": 0,
"currency": "USD",
"note": null
}
]
}
]
},
"errors": []
}
Langkah selanjutnya: Buat pesanan
Setelah Anda menghitung landed cost dan menerima landedCostId dari respons API, Anda harus membuat pesanan untuk menyelesaikan transaksi di sistem Zonos. Gunakan mutasi orderCreate dan masukkan landedCostId dari kutipan Anda. Pelajari lebih lanjut tentang membuat pesanan.
Minta landed cost di Dashboard
Anda juga dapat menghitung biaya landed secara langsung di Zonos Dashboard tanpa menggunakan API. Ini berguna untuk menguji perhitungan, melatih tim Anda, atau mendapatkan kutipan cepat untuk pertanyaan pelanggan.
Dashboard menggunakan endpoint API yang sama seperti yang dijelaskan di atas, sehingga hasilnya akan sesuai dengan apa yang Anda dapatkan dari panggilan API langsung. Ini menjadikannya cara yang bagus untuk memvalidasi integrasi API Anda atau menjelajahi bagaimana berbagai input mempengaruhi perhitungan.
Menggunakan kalkulator Dashboard
Dengan kalkulator landed cost di Dashboard, Anda dapat mendapatkan kutipan dengan tarif pengiriman yang dihitung, membuat kutipan dengan biaya pengiriman yang diketahui, atau memproses beberapa kutipan secara massal.
Gunakan alur ini ketika Anda mengetahui tingkat layanan pengiriman dan biaya untuk pengiriman Anda.
- Pergi ke Dashboard → Orders → Quotes
- Klik Kutipan baru
- Opsional — Ubah lokasi alamat pengiriman Anda
- Pilih Negara tujuan dari dropdown
- Masukkan jumlah pengiriman
- Tingkat layanan bersifat opsional; menambahkannya memungkinkan kami untuk menghitung biaya pengangkut yang berlaku
- Tambahkan detail item untuk pengiriman
- Ketika Anda memasukkan deskripsi, kami secara otomatis classify produk dan menghasilkan kode HS
- Anda dapat menimpa kode HS yang dihasilkan jika diperlukan
- Untuk beberapa item, klik Simpan dan tambahkan lainnya. Jika tidak, klik Simpan
- Opsional — Klik Opsi lebih lanjut untuk mengubah:
- Jenis penjualan menjadi Untuk dijual kembali
- Mode pengiriman menjadi Biaya pengiriman tidak dibayar
- Klik Dapatkan kutipan
- Untuk melakukan perubahan, klik Edit formulir dan ubah detail apa pun
- Klik Dapatkan kutipan lagi untuk memperbarui
Kutipan landed cost akan muncul di sebelah kanan, termasuk biaya produk, pengiriman, dan impor. Perluas kutipan untuk melihat rincian terperinci dari item, pengiriman, bea, pajak, dan biaya. Semua kutipan disimpan di halaman kutipan untuk referensi di masa mendatang.
Edit kutipan yang ada: Klik Kutipan lagi di kanan atas untuk mengubah kutipan yang ada daripada memulai dari awal.
Manfaat menggunakan Dashboard
- Tanpa kode yang diperlukan — Hasilkan kutipan melalui antarmuka yang ramah pengguna
- Pelatihan tim — Membantu anggota tim non-teknis memahami komponen landed cost
- Validasi API — Verifikasi integrasi API Anda menghasilkan hasil yang diharapkan
- Dukungan pelanggan — Cepat menghasilkan kutipan untuk pertanyaan pelanggan
- Pemrosesan massal — Menangani beberapa perhitungan secara efisien (segera hadir)
Kutipan Dashboard mencakup rincian terperinci yang sama yang tersedia melalui API, menjadikannya pelengkap yang sangat baik untuk integrasi otomatis Anda.
Hitung landed cost
Hitung bea, pajak, dan biaya dengan GraphQL.GraphQL
Zonos menghitung total landed cost untuk pengiriman internasional—termasuk bea, pajak, dan biaya tambahan yang dikenakan oleh bea cukai, broker, atau pengangkut. Dalam banyak kasus, kami menjamin perhitungan ini dengan membayar tagihan akhir sendiri dan membebankan kepada Anda persis apa yang kami hitung. Dalam beberapa kasus, Anda dapat menggunakan landed cost kami tanpa jaminan, yang berarti Anda bertanggung jawab atas perbedaan antara perhitungan kami dan biaya sebenarnya.