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
| Kode | Arti |
|---|---|
200 | Berhasil. |
201 | Order nomor berhasil dibuat. |
400 | Parameter tidak valid atau saldo tidak cukup. |
401 | Header X-API-Key hilang atau key tidak dikenal. |
403 | Akun diblokir / IP tidak ada di whitelist. |
404 | Pesanan atau layanan tidak ditemukan. |
409 | Pesanan sudah berakhir (tidak bisa cancel/finish lagi). |
429 | Terlalu banyak request — tunggu sebentar lalu ulangi. |
500 | Kesalahan server atau provider tidak bisa dihubungi. |
1. Cek profil & saldo
/api/v1/otp/profileMengembalikan 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
/api/v1/otp/serversDaftar 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
/api/v1/otp/servicesHarga sudah termasuk markup Sie Pedia. Parameter query:
| Parameter | Wajib | Keterangan |
|---|---|---|
server | Ya | server1 s.d. server5. |
app | Tidak | ID aplikasi, cth. whatsapp. Bila kosong, mengembalikan daftar aplikasi. |
country | Tidak | ID negara, cth. 62. Bila app terisi dan country kosong, mengembalikan daftar negara. |
q | Tidak | Kata 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
/api/v1/otp/orderMemotong 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) | Wajib | Keterangan |
|---|---|---|
server | Ya | server1 s.d. server5. |
app | Ya | ID aplikasi dari endpoint layanan. |
country | Ya | ID negara dari endpoint layanan. |
offerId | Ya | offerId 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
/api/v1/otp/order/statusPolling 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)
/api/v1/otp/order/cancelHanya 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)
/api/v1/otp/order/finishTandai 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-Keyunik 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.