Official API per ekspedisi (butuh kerja sama bisnis) atau aggregator API (lebih cepat untuk start).
Hasil Studi API & Metode
Ringkasan ini disusun dari referensi endpoint shipping yang tersedia publik + pola implementasi umum di Indonesia.
JNE
JNE menyediakan cek tarif dan tracking di kanal publik web/aplikasi, tetapi akses API produksi umumnya lewat kemitraan B2B (akun bisnis, proses registrasi, dan verifikasi teknis).
API resmi: umumnya private/partnerJ&T Express
J&T juga menyediakan fitur shipping rates dan tracking di kanal resmi. Untuk integrasi sistem ke sistem, praktik umum adalah onboarding partner dan kredensial resmi dari pihak J&T.
API resmi: umumnya private/partnerAggregator (praktis untuk go-live cepat)
RajaOngkir menyediakan API shipping cost multi-kurir (termasuk JNE/J&T). Untuk tracking API yang lebih lengkap biasanya butuh paket lanjutan/enterprise tergantung provider.
Paling cepat untuk MVPMetode Penentuan Ongkos Kirim
Langkah standar yang dipakai mayoritas ekspedisi: hitung berat aktual, hitung berat volumetrik, pilih nilai terbesar sebagai berat tagihan (chargeable weight).
Simulator Berat Tagihan
Gunakan ini untuk estimasi sebelum request ke API ongkir.
Validasi Nomor Resi (Awal)
Validasi ini hanya screening awal di frontend. Penentuan final tetap dari respons API kurir/aggregator.
Rute Implementasi API yang Disarankan
Agar stabil di production, implementasikan dua mode: mode cepat (aggregator) dan mode official langsung ke ekspedisi saat volume sudah besar.
Mode A - Cepat Go-Live
- Pakai API shipping cost aggregator untuk JNE + J&T.
- Pakai tracking API multi-kurir dari provider yang sama/kompatibel.
- Simpan log request-response untuk audit status paket.
Mode B - Official Kurir
- Onboard partner JNE dan J&T untuk kredensial resmi.
- Terapkan signature, timestamp, dan IP whitelist jika diminta.
- Gunakan fallback ke aggregator saat endpoint official gangguan.
Data Model Minimal
- shipments: order_id, courier, service, billable_weight, cost.
- tracking_events: waybill, status, desc, city, event_time.
- api_logs: provider, endpoint, payload, http_code.
Contoh Request Ongkir (RajaOngkir Shipping Cost)
Contoh format request yang umum dipakai untuk cek ongkir multi-kurir:
curl --location 'https://rajaongkir.komerce.id/api/v1/calculate/domestic-cost' --header 'key: YOUR_API_KEY' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'origin=31555' --data-urlencode 'destination=68423' --data-urlencode 'weight=1000' --data-urlencode 'courier=jne:jnt' --data-urlencode 'price=lowest'
Catatan: endpoint tracking detail bergantung provider dan paket API yang diaktifkan pada akun Anda.
Checklist Integrasi Production
- Normalisasi alamat origin/destination ke ID wilayah provider (bukan teks bebas).
- Hitung berat tagihan dari aktual vs volumetrik sebelum request ongkir.
- Simpan snapshot tarif dari API per order untuk rekonsiliasi.
- Buat cron/webhook worker untuk refresh status tracking setiap interval.
- Aktifkan retry + backoff saat API timeout atau 5xx.