مستندات API

خرید شماره را با REST API iLoveSMS یا پروتکل SMS-Activate خودکار کنید.

کلید API شخصی شما در تنظیمات حساب است. ثبت‌نام

REST JSON API v1

نشانی پایه: https://ilovesms.com.tr/api/v1/ — احراز هویت: ?api_key=… / Authorization: Bearer …

Methodپارامترهاتوضیح
GET services—سرویس‌ها با کمترین قیمت و موجودی.
GET countries—فهرست کشورها.
GET pricesserviceقیمت و موجودی هر کشور برای یک سرویس.
GET balanceapi_keyموجودی شما.
POST buyapi_key, service, country_idخرید شماره؛ مبلغ از موجودی کسر می‌شود.
GET statusapi_key, idوضعیت سفارش و کد پیامکی.
POST cancelapi_key, idلغو سفارش در انتظار و بازپرداخت.
POST finishapi_key, idبستن شماره پس از دریافت کد.
GET ordersapi_key۱۰۰ سفارش آخر شما.
# 1) خرید شماره
curl -X POST "https://ilovesms.com.tr/api/v1/buy" -d "api_key=YOUR_API_KEY" -d "service=tg" -d "country_id=12"

{"ok":true,"order":{"id":1042,"service":"Telegram","country":"USA","number":"12025550123",
 "price":0.45,"status":"waiting","code":null,"seconds_left":1200}}

# 2) هر ۵ ثانیه بررسی کنید تا کد برسد
curl "https://ilovesms.com.tr/api/v1/status?api_key=YOUR_API_KEY&id=1042"

{"ok":true,"order":{"id":1042,"status":"received","code":"48213", ...}}

کدهای خطا: bad_key, bad_service, insufficient, no_numbers, not_cancelable, cancel_later

Webhooks

به‌جای پرس‌وجوی مداوم، یک نشانی بدهید تا هنگام رسیدن کد یا بازپرداخت سفارش، رویداد JSON بفرستیم.

POST https://your-server.example/sms-webhook
Content-Type: application/json
X-Event: sms.received          (sms.received | order.refunded | test)
X-Signature: sha256=<hmac_sha256(body, API_KEY)>

{"event":"sms.received","order":{"id":1042,"service":"Telegram","number":"12025550123","status":"received","code":"48213", ...},"sent_at":"2026-10-30T12:00:00+00:00"}

# PHP
$ok = hash_equals('sha256=' . hash_hmac('sha256', file_get_contents('php://input'), API_KEY), $_SERVER['HTTP_X_SIGNATURE']);

ظرف ۵ ثانیه با HTTP 2xx پاسخ دهید. نشانی webhook را تنظیم کنید در تنظیمات حساب

نقطه اتصال سازگار با SMS-Activate

نرم‌افزارهای ساخته‌شده برای پروتکل SMS-Activate بدون تغییر کار می‌کنند: فقط نشانی پایه و کلید API را عوض کنید.

https://ilovesms.com.tr/stubs/handler_api.php?api_key=YOUR_API_KEY&action=getBalance        → ACCESS_BALANCE:12.40
...&action=getNumber&service=tg&country=12                    → ACCESS_NUMBER:1042:12025550123
...&action=getStatus&id=1042                                   → STATUS_WAIT_CODE | STATUS_OK:48213
...&action=setStatus&id=1042&status=8                          → ACCESS_CANCEL
...&action=setStatus&id=1042&status=6                          → ACCESS_ACTIVATION
...&action=getPrices&service=tg                                → {"12":{"tg":{"cost":0.45,"count":3120}}}

کدهای سرویس و شناسه کشورها همان متدهای services و countries است.