Pilih bahasa

Mulai cepat dengan API developer

Beli nomor dan baca kode dari perangkat lunak Anda sendiri. Buat kunci, cek harga, beli nomor, tunggu SMS, lalu selesaikan, langkah demi langkah.

Di halaman ini
  1. Siapa yang bisa memakai
  2. 1. Buat kunci API
  3. 2. Autentikasi
  4. 3. Cek saldo dan harga
  5. 4. Beli nomor
  6. 5. Tunggu SMS
  7. 6. Selesaikan atau batalkan
  8. Nilai status
  9. Galat

API developer SmsGrab memberi perangkat lunak Anda nomor yang sama dengan aplikasi, melalui REST API berbasis JSON. Ini produk berbayar dengan harga developer tersendiri, dibayar dari saldo SmsGrab biasa, dan dilindungi pengembalian dana otomatis yang sama.

Siapa yang bisa memakai

  • Akun email dengan alamat yang sudah dikonfirmasi. Akun tamu tidak bisa membuat kunci.
  • Akun yang tidak dibatasi.

1. Buat kunci API

Buka Akun > Developer di situs web, atau Pengaturan > API developer di aplikasi, lalu buat kunci. Demi keamanan, Anda mengonfirmasi dengan kata sandi, dan dengan kode verifikasi 2 langkah jika aktif. Pilih cakupan read untuk alat yang hanya membaca, atau read dan purchase untuk membeli nomor.

Kunci diawali sgk_ dan hanya ditampilkan sekali. Simpan di penyimpanan rahasia server Anda. Lihat Kunci API dan keamanan.

2. Autentikasi

URL dasarnya adalah https://smsgrab.com/api/dev/v1. Kirim kunci sebagai bearer token, atau di header X-Api-Key:

HTTP
GET /api/dev/v1/balance HTTP/1.1
Host: smsgrab.com
Authorization: Bearer sgk_your_key_here

Kunci tempatnya di server. Jangan pernah menaruhnya di situs web, ekstensi browser, atau aplikasi yang Anda berikan kepada orang lain.

3. Cek saldo dan harga

Bash
export SMSGRAB_KEY="sgk_your_key_here"

curl -s https://smsgrab.com/api/dev/v1/balance \
  -H "Authorization: Bearer $SMSGRAB_KEY"
Bash
curl -s "https://smsgrab.com/api/dev/v1/prices?service=whatsapp&country=indonesia" \
  -H "Authorization: Bearer $SMSGRAB_KEY"

Uang selalu dinyatakan dalam satuan terkecil USD, jadi 18 berarti 0,18 USD. price_minor adalah harga developer Anda dan retail_price_minor adalah harga di aplikasi.

JSON
{ "currency": "USD", "markup_percent": 80,
  "items": [ { "service_id": "whatsapp", "country_id": "indonesia", "price_minor": 18,
               "retail_price_minor": 25, "available_numbers": 30412 } ] }

4. Beli nomor

Bash
curl -s -X POST https://smsgrab.com/api/dev/v1/activations \
  -H "Authorization: Bearer $SMSGRAB_KEY" \
  -H "Idempotency-Key: order-7f3c2a" \
  -H "Content-Type: application/json" \
  -d '{"service":"whatsapp","country":"indonesia","max_price_minor":20}'
  • service dan country menerima id kami, seperti whatsapp dan indonesia. Negara juga menerima kode ISO seperti ID.
  • max_price_minor melindungi Anda: jika harga naik, tidak ada yang dipotong dan Anda mendapat 409 PRICE_CHANGED.
  • Idempotency-Key membuat pengulangan aman. Mengulang permintaan dengan kunci yang sama mengembalikan hasil pertama, bukan membeli dua kali.

Jawabannya adalah 201 Created beserta aktivasinya:

JSON
{ "id": "5c1d0c2e-8a41-4f7e-9d7a-2f1d9f1b8c11", "compat_id": 100000123, "status": "WAITING_SMS",
  "service_id": "whatsapp", "country_id": "indonesia", "phone_number": "+6281234567890",
  "price_minor": 18, "currency": "USD",
  "created_at": "2026-09-27T10:05:00.000Z", "expires_at": "2026-09-27T10:25:00.000Z",
  "refunded": false, "refund_minor": 0, "sms": [] }

5. Tunggu SMS

Daripada terus bertanya dalam loop rapat, biarkan API menahan permintaan hingga 30 detik sampai ada perubahan:

Bash
curl -s "https://smsgrab.com/api/dev/v1/activations/100000123?wait=25" \
  -H "Authorization: Bearer $SMSGRAB_KEY"

Saat pesan masuk, status berubah menjadi CODE_RECEIVED dan sms berisi semua pesan sejauh ini:

JSON
{ "status": "CODE_RECEIVED",
  "sms": [ { "code": "482913", "text": "Your WhatsApp code is 482-913", "sender": "WhatsApp",
             "received_at": "2026-09-27T10:06:12.004Z" } ] }

Lebih suka push daripada polling? Siapkan webhook.

6. Selesaikan atau batalkan

Bash
curl -s -X POST https://smsgrab.com/api/dev/v1/activations/100000123/finish \
  -H "Authorization: Bearer $SMSGRAB_KEY"

curl -s -X POST https://smsgrab.com/api/dev/v1/activations/100000123/cancel \
  -H "Authorization: Bearer $SMSGRAB_KEY"
  • finish setelah Anda memakai kode. Hanya diterima setelah kode masuk.
  • cancel selagi masih menunggu kode pertama. Seluruh harga dikembalikan.
  • Jika Anda tidak melakukan apa pun, nomor tanpa kode kedaluwarsa setelah 20 menit dan dikembalikan otomatis.

Nilai status

Status Arti
WAITING_SMS Dibeli, menunggu pesan pertama
CODE_RECEIVED Minimal satu pesan sudah masuk
COMPLETED Diselesaikan oleh Anda, atau saat waktu habis setelah ada kode
CANCELLED Dibatalkan sebelum ada kode, dikembalikan
EXPIRED Tidak ada kode dalam 20 menit, dikembalikan

Galat

Setiap galat punya bentuk yang sama. Bertindaklah berdasarkan code dan reason, dan abaikan alasan yang belum Anda kenal:

JSON
{ "code": "NO_NUMBERS_AVAILABLE", "message": "No numbers available for this service and country", "reason": "OUT_OF_STOCK" }

Kasus umum adalah 402 INSUFFICIENT_BALANCE, 409 NO_NUMBERS_AVAILABLE, 409 PRICE_CHANGED, 422 dengan ACTIVATION_LIMIT_REACHED (maksimal 100 nomor bisa menunggu bersamaan per akun), dan 429 RATE_LIMITED dengan header Retry-After.

Referensi lengkapnya ada di dokumentasi developer.

Apakah artikel ini membantu?

Masih perlu bantuan?

Tulis ke kami. Kami membalas setiap pesan, biasanya dalam beberapa jam.

Atau kirim email ke support@smsgrab.com