Dokumentasi API

Integrasikan layanan OTP kami langsung ke dalam aplikasi Anda.

Base URL: /api/v1

Autentikasi

Semua permintaan API harus menyertakan API Key Anda pada header X-API-Key. Anda bisa generate API Key dari halaman Profil.

X-API-Key: sk_api_key_anda

Jika API Key tidak valid atau tidak disertakan, API akan mengembalikan error 401 Unauthorized.

Daftar Negara

Mendapatkan daftar kode negara yang tersedia.

GET/api/v1/countries

Contoh Curl

curl "https://domain-anda.com/api/v1/countries" \
  -H "X-API-Key: sk_..."

Contoh Respons

{
  "success": true,
  "data": [
    {
      "id": 6,
      "name": "Indonesia"
    },
    {
      "id": 0,
      "name": "Russia"
    },
    {
      "id": 12,
      "name": "Philippines"
    }
  ]
}

Daftar Service

Mendapatkan daftar kode service yang tersedia (misal: WhatsApp, Telegram, dll).

GET/api/v1/services

Contoh Curl

curl "https://domain-anda.com/api/v1/services" \
  -H "X-API-Key: sk_..."

Contoh Respons

{
  "success": true,
  "data": [
    {
      "code": "wa",
      "name": "WhatsApp"
    },
    {
      "code": "tg",
      "name": "Telegram"
    },
    {
      "code": "ig",
      "name": "Instagram"
    }
  ]
}

Order Nomor

Memesan nomor telepon baru untuk verifikasi OTP. Saldo akan dipotong otomatis.

POST/api/v1/order

Body Request

ParameterTipeWajibKeterangan
servicestringYaKode service (dari /api/v1/services)
countrynumberYaID negara (dari /api/v1/countries)
operatorstringTidakOperator (default: "any")

Contoh Curl

curl -X POST https://domain-anda.com/api/v1/order \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sk_..." \
  -d '{"service": "wa", "country": 6, "operator": "any"}'

Contoh Respons (Berhasil)

{
  "success": true,
  "id": "123456789",
  "phoneNumber": "6281234567890",
  "service": "WhatsApp",
  "country": "Indonesia",
  "operator": "any",
  "cost": 5000,
  "newBalance": 45000
}

Cek Status & Kode OTP

Mengecek status pesanan dan mendapatkan kode OTP jika sudah diterima. Gunakan id dari respons order.

GET/api/v1/status?orderId=ID_ORDER

Contoh Curl

curl "https://domain-anda.com/api/v1/status?orderId=123456789" \
  -H "X-API-Key: sk_..."

Contoh Respons (OTP Diterima)

{
  "success": true,
  "status": "received",
  "smsCode": "123456",
  "smsText": "Kode verifikasi Anda adalah 123456"
}

Daftar Status

StatusKeterangan
waitingMenunggu SMS masuk
receivedSMS/OTP sudah diterima
cancelledDibatalkan (saldo dikembalikan)
completedSelesai
expiredKadaluarsa

Batalkan Order

Membatalkan pesanan yang masih aktif. Saldo akan dikembalikan jika memenuhi syarat (belum menerima OTP & sudah melewati 3 menit).

POST/api/v1/cancel

Body Request

{
  "orderId": "123456789"
}

Contoh Curl

curl -X POST https://domain-anda.com/api/v1/cancel \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sk_..." \
  -d '{"orderId": "123456789"}'

Contoh Respons

{
  "success": true,
  "refunded": 5000,
  "status": "cancelled"
}

Penanganan Error

Semua error akan dikembalikan dalam format JSON berikut:

{
  "error": "Pesan error"
}
HTTP CodeKeterangan
400Parameter tidak valid atau syarat tidak terpenuhi
401API Key tidak valid atau tidak disertakan
404Data tidak ditemukan
500Kesalahan server internal