متوافق مباشر

توافق API الموروث

إذا كنت تستخدم sms-activate.org أو خدمة مشابهة بالفعل، فانتقل إلى SMSBulk بتغيير عنوان URL الأساسي فقط. جميع النقاط والإجراءات وتنسيقات الاستجابة تبقى متطابقة.

التبديل بسطر واحد

https://sms-activate.org/stubs/handler_api.php
https://smsbulk.net/stubs/handler_api.php

السكربتات والمكتبات والتكاملات الحالية تعمل دون تعديل. معرفات الدول تطابق التعيين القانوني (TR=187، US=12، RU=0، إلخ).

المصادقة

كما في SMS-Activate: مرر مفتاح API كمعامل query string.

# Query string (sms-activate convention)
curl "https://smsbulk.net/stubs/handler_api.php?api_key=YOUR_KEY&action=getBalance"

# Response (plain text)
ACCESS_BALANCE:42.50

مرجع الإجراءات

جميع الإجراءات السبعة مدعومة. أسماء الإجراءات والمعاملات وتنسيقات الاستجابة متطابقة مع SMS-Activate.

getBalance

يعيد رصيد محفظتك الحالي بالدولار.

الطلب
GET /stubs/handler_api.php?api_key=KEY&action=getBalance
الاستجابة
ACCESS_BALANCE:42.50

getNumber

يحجز رقم هاتف افتراضي. المطلوب: كود الخدمة (wa/tg/ig/إلخ) والدولة (معرف رقمي أو ISO أو slug).

الطلب
GET /stubs/handler_api.php?api_key=KEY&action=getNumber&service=wa&country=187
الاستجابة
ACCESS_NUMBER:12345678:79991234567

getStatus

يستعلم حالة التفعيل. يعيد STATUS_WAIT_CODE أو STATUS_OK:<code> أو STATUS_CANCEL.

الطلب
GET /stubs/handler_api.php?api_key=KEY&action=getStatus&id=12345678
الاستجابة
STATUS_OK:123456

setStatus

يحدّث حالة التفعيل. status=1 (إرسال SMS)، 3 (طلب SMS آخر)، 6 (اكتمال)، 8 (إلغاء).

الطلب
GET /stubs/handler_api.php?api_key=KEY&action=setStatus&id=12345678&status=6
الاستجابة
ACCESS_ACTIVATION

getNumbersStatus

يعيد عدد المخزون لكل تركيبة خدمة-دولة. dict JSON بمفاتيح مثل 'wa_187'.

الطلب
GET /stubs/handler_api.php?api_key=KEY&action=getNumbersStatus&country=187
الاستجابة
{"wa_187":1234,"tg_187":567}

getPrices

يعيد الأسعار والمخزون لتركيبات service+country. JSON متداخل حسب معرف الدولة.

الطلب
GET /stubs/handler_api.php?api_key=KEY&action=getPrices&service=wa&country=187
الاستجابة
{"187":{"wa":{"cost":0.5,"count":1234}}}

getCountries

يعيد القائمة القانونية للدول المدعومة بمعرفات SMS-Activate ورموز ISO.

الطلب
GET /stubs/handler_api.php?api_key=KEY&action=getCountries
الاستجابة
[{"id":187,"iso":"TR"},...]

قيم setStatus

ما يفعله كل كود حالة والاستجابة التي تحصل عليها.

القيمةالإجراءالاستجابة
1الإبلاغ عن إرسال SMS (لا شيء)ACCESS_READY
3طلب SMS آخرACCESS_RETRY_GET
6وضع علامة اكتمال التفعيلACCESS_ACTIVATION
8إلغاء التفعيلACCESS_CANCEL

معرفات الدول

معرفات SMS-Activate القانونية محفوظة. أهم الدول:

Turkey
ID: 187 · ISO: TR
Russia
ID: 0 · ISO: RU
USA
ID: 12 · ISO: US
United Kingdom
ID: 16 · ISO: GB
Germany
ID: 42 · ISO: DE
France
ID: 77 · ISO: FR
India
ID: 22 · ISO: IN
Brazil
ID: 72 · ISO: BR

دعم ثلاثي التنسيق: معامل country يقبل المعرف الرقمي (187) أو رمز ISO (TR) أو slug (turkey).

أكواد الأخطاء

جميع الأخطاء تعيد أكواد نصية عادية (text/plain). غير مترجمة أبداً — توافق مع مكتبات البوتات.

الكودالمعنى
BAD_KEYمفتاح API غير صالح أو مفقود
BAD_ACTIONمعامل action مفقود أو خاطئ
BAD_SERVICEكود الخدمة غير معروف
BAD_COUNTRYمعامل country غير معروف
BAD_STATUSقيمة status غير صالحة لـ setStatus
WRONG_ACTIONاسم الإجراء غير مدعوم
NO_BALANCEرصيد المحفظة غير كافٍ
NO_NUMBERSلا توجد أرقام متاحة لهذه service+country
NO_ACTIVATIONمعرف التفعيل غير موجود أو ليس ملكك
RATE_LIMITEDتم تجاوز الحصة اليومية لـ API — راجع رأس Retry-After
ERROR_SQLخطأ خادم داخلي
توافق مكتبات البوتات: أكواد الأخطاء معرفات مستقرة، غير مترجمة أبداً. السكربتات الحالية التي تطابق هذه السلاسل تعمل دون تعديل.

جاهز للترحيل؟

احصل على مفتاح API وابدأ بأمر curl واحد. لا تثبيت SDK، لا تغييرات في الكود.