S Sie PediaNomor Kosong · OTP
Open API · v1

Dokumentasi API Sie Pedia

Hubungkan bot Telegram atau website kamu ke Sie Pedia. Semua endpoint mengembalikan JSON dengan bentuk standar {success, data} bila berhasil atau {success:false, error} bila gagal. Saldo terpotong dan refund mengikuti aturan yang sama seperti order lewat web.

Autentikasi

Setiap request wajib menyertakan header X-API-Key berisi API key pribadimu (lihat menu Pengaturan). Tanpa header ini server menjawab 401. Bila IP whitelist aktif, request dari IP di luar daftar ditolak dengan 403.

curl -H "X-API-Key: API_KEY_KAMU" testing.siepedia.site/api/v1/otp/profile

Format response

{
  "success": true,
  "data": { "...": "..." }
}
{
  "success": false,
  "error": "API key tidak valid"
}

Kode status yang dipakai

KodeArti
200Berhasil.
201Order nomor berhasil dibuat.
400Parameter tidak valid atau saldo tidak cukup.
401Header X-API-Key hilang atau key tidak dikenal.
403Akun diblokir / IP tidak ada di whitelist.
404Pesanan atau layanan tidak ditemukan.
409Pesanan sudah berakhir (tidak bisa cancel/finish lagi).
429Terlalu banyak request — tunggu sebentar lalu ulangi.
500Kesalahan server atau provider tidak bisa dihubungi.

1. Cek profil & saldo

GET/api/v1/otp/profile

Mengembalikan identitas user pemilik API key beserta saldo saat ini.

curl -H "X-API-Key: API_KEY_KAMU" testing.siepedia.site/api/v1/otp/profile
{
  "success": true,
  "data": {
    "username": "siepedia_user",
    "email": "kamu@email.com",
    "balance": 125000
  }
}

2. Daftar server & negara

GET/api/v1/otp/servers

Daftar 5 server OTP beserta status ketersediaannya. Server 1–3 memakai provider Telekos, Server 4 smscode.gg, Server 5 DitznEsia.

curl -H "X-API-Key: API_KEY_KAMU" testing.siepedia.site/api/v1/otp/servers
{
  "success": true,
  "data": [
    { "id": "server1", "name": "Server 1", "provider": "telekos", "available": true },
    { "id": "server2", "name": "Server 2", "provider": "telekos", "available": true },
    { "id": "server3", "name": "Server 3", "provider": "telekos", "available": false },
    { "id": "server4", "name": "Server 4", "provider": "smscode", "available": true },
    { "id": "server5", "name": "Server 5", "provider": "ditznesia", "available": true }
  ]
}

3. Daftar layanan, stok & harga

GET/api/v1/otp/services

Harga sudah termasuk markup Sie Pedia. Parameter query:

ParameterWajibKeterangan
serverYaserver1 s.d. server5.
appTidakID aplikasi, cth. whatsapp. Bila kosong, mengembalikan daftar aplikasi.
countryTidakID negara, cth. 62. Bila app terisi dan country kosong, mengembalikan daftar negara.
qTidakKata kunci pencarian nama aplikasi.
curl -H "X-API-Key: API_KEY_KAMU" "testing.siepedia.site/api/v1/otp/services?server=server1&app=whatsapp&country=62"
{
  "success": true,
  "data": [
    {
      "id": "tk:whatsapp-62-1",
      "offerId": "offer_123",
      "app": "whatsapp",
      "country": "62",
      "countryName": "Indonesia",
      "price": 3500,
      "stock": 14
    }
  ]
}

4. Order nomor baru

POST/api/v1/otp/order

Memotong saldo otomatis sebesar harga layanan. Sertakan header Idempotency-Key (unik per order) agar request yang sama tidak membuat order ganda bila koneksi terputus di tengah jalan.

Field (JSON body)WajibKeterangan
serverYaserver1 s.d. server5.
appYaID aplikasi dari endpoint layanan.
countryYaID negara dari endpoint layanan.
offerIdYaofferId dari endpoint layanan.
curl -X POST -H "X-API-Key: API_KEY_KAMU" -H "Content-Type: application/json" -H "Idempotency-Key: order-abc-123456" -d '{"server":"server1","app":"whatsapp","country":"62","offerId":"offer_123"}' testing.siepedia.site/api/v1/otp/order
{
  "success": true,
  "data": {
    "id": "ORD-1790000000000-1234",
    "serverId": "server1",
    "serverName": "Server 1",
    "app": "whatsapp",
    "country": "62",
    "phone": "+6281234567890",
    "status": "WAITING",
    "otp": "",
    "price": 3500,
    "expiresAt": "2026-11-07T04:15:00.000Z",
    "createdAt": "2026-11-07T04:05:00.000Z"
  }
}

5. Cek status pesanan / ambil kode OTP

GET/api/v1/otp/order/status

Polling endpoint ini tiap 5 detik sampai otp terisi atau status berubah dari WAITING. Nilai status: WAITING (menunggu OTP), OK (OTP masuk), CANCELLED, EXPIRED, COMPLETED, HELD (ditahan untuk pemeriksaan admin), FAILED.

curl -H "X-API-Key: API_KEY_KAMU" "testing.siepedia.site/api/v1/otp/order/status?orderId=ORD-1790000000000-1234"
{
  "success": true,
  "data": {
    "id": "ORD-1790000000000-1234",
    "serverId": "server1",
    "phone": "+6281234567890",
    "status": "OK",
    "otp": "739733",
    "price": 3500,
    "expiresAt": "2026-11-07T04:15:00.000Z"
  }
}

6. Batalkan pesanan (cancel / refund)

POST/api/v1/otp/order/cancel

Hanya untuk pesanan berstatus WAITING yang OTP-nya belum masuk. Refund diberikan bila pembatalan terkonfirmasi provider. Bila OTP sudah masuk atau pesanan sudah berakhir, server menjawab 409 dan saldo tidak direfund.

curl -X POST -H "X-API-Key: API_KEY_KAMU" -H "Content-Type: application/json" -d '{"orderId":"ORD-1790000000000-1234"}' testing.siepedia.site/api/v1/otp/order/cancel
{
  "success": true,
  "data": {
    "id": "ORD-1790000000000-1234",
    "status": "CANCELLED",
    "refunded": true,
    "refundAmount": 3500,
    "message": "Pesanan dibatalkan dan saldo direfund."
  }
}

7. Selesaikan pesanan (finish)

POST/api/v1/otp/order/finish

Tandai pesanan sudah selesai dipakai (OTP sudah dipakai). Pesanan yang sudah finish tidak bisa dibatalkan dan tidak direfund.

curl -X POST -H "X-API-Key: API_KEY_KAMU" -H "Content-Type: application/json" -d '{"orderId":"ORD-1790000000000-1234"}' testing.siepedia.site/api/v1/otp/order/finish
{
  "success": true,
  "data": {
    "id": "ORD-1790000000000-1234",
    "status": "COMPLETED",
    "message": "Pesanan diselesaikan."
  }
}

Aturan penting untuk integrasi

  • Polling status maksimal tiap 5 detik per pesanan — polling lebih cepat akan dibatasi (429).
  • Selalu kirim Idempotency-Key unik saat membuat order. Ulangi request yang sama dengan key yang sama bila koneksi terputus, jangan buat key baru.
  • Pesanan kedaluwarsa otomatis 10 menit setelah dibuat. Pesanan kedaluwarsa tanpa OTP direfund otomatis.
  • Simpan API key di server, jangan di kode aplikasi yang dibagikan ke publik.
  • Bila API key bocor, reset dari menu Pengaturan — key lama langsung tidak berlaku.