sms.tcsms.tc

توثيق API

قم بأتمتة شراء الأرقام والتحقق عبر الرسائل القصيرة على sms.tc. واجهتان: REST API حديثة ونقطة نهاية متوافقة مع SMS-Activate يمكن استخدامها مباشرة — وجّه برنامج SMS-Activate الحالي لديك إلى sms.tc دون أي تغيير في الكود.

نظرة عامة

sms.tc منصة تجميع متعددة المزودين: واجهة API واحدة تمنحك الوصول إلى أرقام من عدة مزودين، مع تطبيق أسعارنا. يمكنك استخدام الواجهة التي تناسب بيئة عملك.

REST API

JSON عبر HTTP. موصى بها للتكاملات الجديدة.

https://sms.tc/api/v1
SMS-Activate

بروتوكول نصي بسيط متوافق مع عملاء SMS-Activate.

https://sms.tc/stubs/handler_api.php

الحصول على مفتاح API

  1. 1سجّل الدخول وافتح صفحة الملف الشخصي → API.
  2. 2أنشئ مفتاحًا. يُعرض مرة واحدة فقط — انسخه واحفظه بشكل آمن.
  3. 3إعادة الإنشاء تُلغي المفتاح القديم وترسل المفتاح الجديد عبر البريد الإلكتروني. يمكنك اختياريًا تقييد المفتاح بعناوين IP محددة وتعيين تاريخ انتهاء صلاحية.
احصل على مفتاح API

المصادقة

يجب أن يتضمن كل طلب مفتاح API الخاص بك. تقرأه REST API من الترويسة (header)، بينما تقرأه نقطة نهاية SMS-Activate من معامل الاستعلام api_key.

REST

Authorization: Bearer smstc_live_xxxX-Api-Key: smstc_live_xxx

SMS-Activate

?api_key=smstc_live_xxx

المفاهيم الأساسية

الرموز القياسية

تستخدم الدول المعرّفات الرقمية لـ SMS-Activate (0=روسيا، 1=أوكرانيا…) وتستخدم الخدمات رموزًا قصيرة (tg، wa، ig…). اكتشفها عبر نقاط النهاية catalog / getCountries / getServicesList.

العملة

جميع الأسعار والأرصدة بعملة USD (ISO 840).

الرصيد

تُخصم المشتريات من رصيدك في sms.tc. يتم استرداد قيمة التفعيلات الفاشلة أو منتهية المهلة تلقائيًا.

نسبة نجاح SMS (rate)

قد تتضمن استجابات العروض الحقل rate: نسبة التفعيلات المكتملة لدينا التي استقبلت رسالة SMS (%، أو null). تُحسب لكل مزود + خدمة + دولة، وتُعرض فقط عند وجود 10 تفعيلات مكتملة على الأقل، وتُحدَّث مرة واحدة يوميًا. استخدم /activations/offers/providers للحصول على تفصيل حسب كل مزود.

REST API

عنوان URL الأساسي https://sms.tc/api/v1. قم بالمصادقة عبر ترويسة Bearer / X-Api-Key. الاستجابات بصيغة JSON.

GET/activations/offersList available numbers (service → country → price/count/rate).
GET/activations/offers/providersPer-provider offers (provider, operator, price, stock, SMS success rate). Requires service + country.
POST/activationsBuy a number. Body: { service, country, operator? }.
GET/activations/{id}Get activation status + received SMS code.
GET/emailsList email activations.
POST/emailsBuy an email activation. Body: { site, domain }.
POST/emails/batchBuy email activations in bulk (count 1–10).
GET/emails/{id}Check an email activation.
DELETE/emails/{id}Cancel an email activation.
POST/emails/{id}/reorderReorder an email activation.
GET/emails/domainsList available email domains.
GET/catalog/countriesCanonical country list (SMS-Activate ids).
GET/catalog/servicesCanonical service list (short codes).
GET/catalog/pricesPrices by country/service, incl. SMS success rate (rate).
GET/rent/offersRentable services for a country + duration.
POST/rentRent a number. Body: { service, country, duration }.
GET/rent/{id}Get a rent order + its SMS.
POST/rent/{id}/prolongExtend a rent. Body: { duration }.
مثال · cURL
# 1) عرض الأرقام المتاحة
curl https://sms.tc/api/v1/activations/offers \
  -H "Authorization: Bearer smstc_live_xxx"

# 2) شراء رقم (Telegram، الدولة 6)
curl -X POST https://sms.tc/api/v1/activations \
  -H "Authorization: Bearer smstc_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"service":"tg","country":6}'

# 3) التحقق من الكود
curl https://sms.tc/api/v1/activations/123456 \
  -H "X-Api-Key: smstc_live_xxx"

API متوافقة مع SMS-Activate

نقطة نهاية واحدة على /stubs/handler_api.php يتم توجيهها عبر معامل الاستعلام action — تحاكي بروتوكول SMS-Activate بحيث يعمل برنامج الشريك الحالي دون تغيير. الاستجابات نص عادي (أو JSON لإجراءات V2 / القوائم).

actionالقيمة المُرجعة
getBalanceACCESS_BALANCE:12.50
getNumberACCESS_NUMBER:<id>:<phone>
getNumberV2JSON (activationId, phoneNumber, …)
getStatusSTATUS_WAIT_CODE · STATUS_OK:<code>
getStatusV2JSON (sms, call, …)
setStatusACCESS_READY · ACCESS_RETRY_GET · ACCESS_ACTIVATION · ACCESS_CANCEL
getActiveActivationsJSON (active list)
getHistoryJSON (history)
getPricesJSON (prices by country/service)
getCountriesJSON (countries)
getServicesListJSON (services)
getOperatorsJSON (operators)
getAllSmsJSON (all SMS for an activation)
finishActivation204
cancelActivation204
reactivate / reactivateOptionsJSON · provider-dependent
getRentNumber / getRentServicesAndCountries / serviceCountRentJSON · provider-dependent
prolong / prolongOptions / prolongHistoryJSON · rent only

setStatus

1 الإبلاغ بالجاهزية3 طلب رسالة SMS أخرى6 إكمال التفعيل8 الإلغاء والاسترداد
مثال
# الحصول على رقم
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=getNumber&service=tg&country=6
→ ACCESS_NUMBER:123456:628712345678

# التحقق من الحالة / الكود
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=getStatus&id=123456
→ STATUS_OK:12345

# إكمال (6) أو إلغاء (8)
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=setStatus&id=123456&status=8
→ ACCESS_CANCEL

رموز الأخطاء

تُرجع نقطة نهاية SMS-Activate رموزًا نصية (HTTP 200). بينما تُرجع REST API استجابة JSON مع حالة HTTP ورمز خطأ.

NO_KEYمفتاح API مفقود.
BAD_KEYمفتاح API غير صالح أو منتهي الصلاحية أو غير مسموح به لعنوان IP الخاص بك.
BAD_ACTIONمعامل action غير معروف.
BAD_SERVICEرمز خدمة غير معروف.
NO_NUMBERSلا توجد أرقام متاحة لهذه الخدمة/الدولة.
NO_BALANCEالرصيد غير كافٍ.
WRONG_ACTIVATION_IDمعرّف التفعيل مفقود أو غير صحيح.
NO_ACTIVATIONلم يتم العثور على التفعيل في حسابك.
BAD_STATUSقيمة setStatus غير صالحة.
EARLY_CANCEL_DENIEDلا يمكن الإلغاء بعد (لم تنقضِ مدة الانتظار الدنيا).
ACTION_NOT_AVAILABLEهذا الإجراء غير متاح للمزود المحدد.

المواصفات

المواصفات الكاملة القابلة للقراءة آليًا ودليل البدء متاحة أدناه.