1) Cek Ongkir JNE
curl "https://shipping.teknomadani.biz.id/?api=jne_rate&origin=JAKARTA&destination=BANDUNG&weight=1"
Backend akan resolve kota ke kode JNE otomatis, lalu hitung tarif.
Halaman ini berisi petunjuk penggunaan endpoint API di shipping.teknomadani.biz.id tanpa RajaOngkir. Endpoint fokus ke cek ongkir dan lacak resi, termasuk tarif SPX Express lewat integrasi KiriminAja.
https://shipping.teknomadani.biz.id/
Semua endpoint API dipanggil lewat query string parameter api.
Tambahkan api_key untuk pencatatan quota hit. Contoh: ...?api=provinces&api_key=shp_xxx
| Endpoint | Fungsi | Wajib |
|---|---|---|
| ?api=jne_suggest | Pencarian kode asal/tujuan JNE | type, search |
| ?api=jne_rate | Cek ongkir JNE | origin, destination, weight |
| ?api=jnt_search | Pencarian sender/receiver area J&T | search |
| ?api=jnt_rate | Cek ongkir J&T | sender, receiver, weight |
| ?api=jnt_track | Lacak resi J&T | awb, phone_code (4 digit) |
| ?api=jne_track | Lacak resi JNE | awb, verify_code (5 digit, opsional awal) |
| ?api=provinces | Daftar 38 provinsi Indonesia untuk combobox | - |
| ?api=cities | Daftar kota/kabupaten per provinsi untuk combobox | province |
| ?api=resolve | Resolve kota/provinsi/kode pos ke kode kurir | city, province, courier |
| ?api=resolve_address | Deteksi tujuan otomatis dari alamat lengkap (kota + kode pos) | address, courier (jne/jnt) |
| ?api=spx_status | Status konfigurasi KiriminAja (mode, key, origin district) | - |
| ?api=spx_search | Pencarian kecamatan tujuan dari mapping KiriminAja (SPX) | search (min 3 karakter) |
| ?api=spx_rate | Cek ongkir SPX Express via KiriminAja | origin, destination, weight (gram) |
| ?api=key_create | Buat API key baru dengan quota hit | label, quota |
| ?api=key_info | Lihat info quota API key | api_key |
| ?api=key_list | Daftar API key dan statistik hit | - |
curl "https://shipping.teknomadani.biz.id/?api=jne_rate&origin=JAKARTA&destination=BANDUNG&weight=1"
Backend akan resolve kota ke kode JNE otomatis, lalu hitung tarif.
curl "https://shipping.teknomadani.biz.id/?api=jnt_search&search=bandung"
Pakai hasil sender/receiver agar request tarif J&T stabil.
curl "https://shipping.teknomadani.biz.id/?api=jnt_rate&sender=JAKARTA&receiver=CINAMBO&weight=1"
Jika input berupa label panjang, backend otomatis normalisasi token area.
curl "https://shipping.teknomadani.biz.id/?api=spx_rate&origin=5783&destination=5789&weight=1000"
Origin/destination memakai ID kecamatan dari spx_search. Berat dalam gram.
GET /?api=jne_suggest&type=destination&search=jakarta
GET /?api=jne_rate&origin=CGK10000&destination=BDO10000&weight=1
GET /?api=jnt_search&search=jakarta
GET /?api=jnt_rate&sender=BANDUNG&receiver=CINAMBO&weight=1
GET /?api=jnt_track&awb=JT1234567890123&phone_code=1234
GET /?api=jne_track&awb=TEST12345&verify_code=12345
GET /?api=resolve_address&courier=jne&address=Jalan Merdeka No.1, Kec. Coblong, Kota Bandung, Jawa Barat, 40132
GET /?api=provinces
GET /?api=cities&province=JAWA BARAT
GET /?api=resolve&city=BANDUNG&province=JAWA BARAT&postal=40111&courier=jne
GET /?api=spx_status
GET /?api=spx_search&search=ngemplak
GET /?api=spx_rate&origin=5783&destination=5789&weight=1000
async function cekOngkirJnt(sender, receiver, weight) {
const qs = new URLSearchParams({
api: 'jnt_rate',
sender,
receiver,
weight: String(weight)
});
const res = await fetch('https://shipping.teknomadani.biz.id/?' + qs.toString());
const data = await res.json();
if (!data.ok) throw new Error(data.error || 'Request gagal');
return data.rows;
}
{
"ok": true,
"rows": [ ... ]
}
{
"ok": false,
"error": "API J&T menolak request",
"api_desc": "查询失败"
}