Langsung ke konten

Cari

    Menu dokumentasi

    API Reference

    Kurir

    Kurir dan layanan.

    Daftar kurir

    GET https://api.ongkirhub.com/v1/couriers

    Kurir dan layanan di OngkirHub, termasuk layanan yang bisa dipesan saat ini dan dukungan pelacakan. Layanan yang muncul saat cek tarif tetap tergantung rute dan berat.

    Akses (scope): couriers:read.

    Butuh kunci API (bearerAuth)

    Contoh permintaan

    curl -X GET "https://api.ongkirhub.com/v1/couriers" \
      -H "Authorization: Bearer ohk_test_xxx"

    Respons

    • 200 Daftar kurir.
      X-Request-Id
      ID permintaan untuk dukungan.
      RateLimit-Limit
      Batas permintaan per jendela waktu.
      RateLimit-Remaining
      Sisa permintaan di jendela waktu ini.
      RateLimit-Reset
      Detik sampai jendela waktu berikutnya.
      Field respons 200
      Field Keterangan
      data array<Courier>, wajib

      -

      hasMore boolean, wajib

      Masih ada data setelah halaman ini.

      nextCursor string | null, wajib

      Kirim sebagai parameter cursor untuk halaman berikutnya. Null di halaman terakhir.

      {
        "data": [
          {
            "code": "jne",
            "slug": "jne",
            "name": "JNE",
            "logoUrl": "https://www.ongkirhub.com/couriers/jne.png",
            "bookable": true,
            "tracking": {
              "ongkirhubShipments": true,
              "anyResi": true,
              "requiresVerification": true
            },
            "services": [
              {
                "rateCode": "REG23",
                "name": "Reguler",
                "category": "regular",
                "handover": [
                  "PICKUP",
                  "DROP"
                ],
                "requiresCoordinates": false,
                "enabled": true
              },
              {
                "rateCode": "YES23",
                "name": "YES (Yakin Esok Sampai)",
                "category": "express",
                "handover": [
                  "PICKUP",
                  "DROP"
                ],
                "requiresCoordinates": false,
                "enabled": true
              }
            ]
          }
        ],
        "hasMore": false,
        "nextCursor": null
      }
    • 401 Kunci API tidak dikirim, tidak valid, atau sudah dicabut.
      X-Request-Id
      ID permintaan untuk dukungan.
      {
        "error": {
          "code": "unauthenticated",
          "message": "Kunci API tidak valid, sudah dicabut, atau tidak dikirim. Kirim header Authorization: Bearer <kunci API>.",
          "request_id": "req_5f0c2a9e7b1d4c3a8e6f0b12"
        }
      }
    • 403 Kunci API tidak punya akses (scope) untuk endpoint ini.
      X-Request-Id
      ID permintaan untuk dukungan.
      RateLimit-Limit
      Batas permintaan per jendela waktu.
      RateLimit-Remaining
      Sisa permintaan di jendela waktu ini.
      RateLimit-Reset
      Detik sampai jendela waktu berikutnya.
      {
        "error": {
          "code": "forbidden",
          "message": "Kunci API ini tidak punya akses ke endpoint ini. Tambahkan akses yang dibutuhkan di menu Developer.",
          "request_id": "req_5f0c2a9e7b1d4c3a8e6f0b12",
          "details": {
            "requiredScope": "shipments:write"
          }
        }
      }
    • 429 Batas permintaan terlampaui.
      X-Request-Id
      ID permintaan untuk dukungan.
      RateLimit-Limit
      Batas permintaan per jendela waktu.
      RateLimit-Remaining
      Sisa permintaan di jendela waktu ini.
      RateLimit-Reset
      Detik sampai jendela waktu berikutnya.
      Retry-After
      Detik sampai boleh mencoba lagi.
      {
        "error": {
          "code": "rate_limited",
          "message": "Terlalu banyak permintaan. Tunggu sebentar, lalu coba lagi.",
          "request_id": "req_5f0c2a9e7b1d4c3a8e6f0b12",
          "details": {
            "retryAfterSec": 21
          }
        }
      }
    • 500 Kesalahan di sistem OngkirHub. Aman dicoba ulang dengan Idempotency-Key yang sama.
      X-Request-Id
      ID permintaan untuk dukungan.
      RateLimit-Limit
      Batas permintaan per jendela waktu.
      RateLimit-Remaining
      Sisa permintaan di jendela waktu ini.
      RateLimit-Reset
      Detik sampai jendela waktu berikutnya.
      {
        "error": {
          "code": "internal_error",
          "message": "Terjadi kesalahan di sistem kami. Coba lagi sebentar lagi.",
          "request_id": "req_5f0c2a9e7b1d4c3a8e6f0b12"
        }
      }

    Skema objek

    Objek yang dipakai di halaman ini, dijelaskan sekali di sini.

    Courier

    Field objek Courier
    Field Keterangan
    code string, wajib

    -

    Nilai: jnejntjtcsicepatspxlionpospaxelgosendanteraja

    slug string, wajib

    Slug untuk URL.

    name string, wajib

    Nama kurir.

    logoUrl string (uri), wajib

    Logo kurir (PNG).

    bookable boolean, wajib

    Ada layanan yang bisa dipesan.

    tracking object, wajib

    -

    tracking.ongkirhubShipments boolean, wajib

    Resi yang dibuat lewat OngkirHub bisa dilacak.

    tracking.anyResi boolean, wajib

    Resi dari luar OngkirHub bisa dilacak dengan parameter courier.

    tracking.requiresVerification boolean, wajib

    Pelacakan resi dari luar OngkirHub butuh 5 digit terakhir nomor HP penerima.

    services array<CourierService>, wajib

    -

    CourierService

    Field objek CourierService
    Field Keterangan
    rateCode string, wajib

    Kode layanan.

    name string, wajib

    Nama layanan.

    category string, wajib

    -

    Nilai: regularexpresssame_dayinstantcargo

    handover array<string>, wajib

    Cara serah terima yang didukung.

    requiresCoordinates boolean, wajib

    Butuh latlng pengirim dan penerima.

    enabled boolean, wajib

    Bisa dipesan saat ini.