مرخصون من هيئة الاتصالات تحدث معنا

ClickLink Developer Platform

ابنِ على خدمات ClickLink

اربط تطبيقاتك ومنصاتك بخدمات ClickLink عبر واجهات API مصممة لتكاملات الأعمال. المرجع العام الحالي هو واجهة الرسائل.

POST /api/v1/sms/send
X-ClickLink-Key: YOUR_API_KEY

{
  "to": "05xxxxxxxx",
  "senderId": "ClickLink",
  "message": "مرحباً من ClickLink",
  "registeredDelivery": true
}
HTTP 202
{
  "ok": true,
  "status": "ACCEPTED",
  "messages": [{
    "messageId": "9f1a5ba3-…",
    "status": "QUEUED"
  }]
}

ماذا يمكنك أن تبني؟

واجهة الرسائل العامة تغطي الإرسال، الرصيد، حالة الرسالة، Webhooks للـDLR، وSandbox بدون إرسال حقيقي.

رسائل الأعمال

أرسل SMS من تطبيقك عبر POST /api/v1/sms/send.

App
API
SMS

OTP / Notifications

نفس مسار الإرسال لرسائل تحقق أو إشعار تشغيلي. قوالب معتمدة مطلوبة للحملات التسويقية أو الإرسال الجماعي.

Event
Send
Customer

حالة التسليم

GET /api/v1/sms/messages/{messageId} أو Webhook event message.dlr.

ACCEPTED
QUEUED
delivered

ابدأ التكامل

  1. احصل على مفتاح API من مدير الحساب أو لوحة الإدارة (Generate API key).
  2. أرسل المفتاح في X-ClickLink-Key أو Authorization: Bearer.
  3. جرّب Sandbox: POST /api/v1/sms/sandbox/send — بلا رسوم وبلا إرسال حقيقي.
  4. أرسل Live: POST /api/v1/sms/send — الاستجابة 202 مع status ACCEPTED وmessageId.
  5. تابع الحالة عبر GET /api/v1/sms/messages/{id} أو Webhook DLR.

Authentication

استخدم واحدًا من هذه الهيدرز في كل طلب. لا تضع المفتاح في الواجهة الأمامية العامة.

X-ClickLink-Key: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY
X-Api-Key: YOUR_API_KEY

Base path: /api/v1
Host example: https://clicklink.com.sa

Send SMS

POST /api/v1/sms/send → HTTP 202

curl -sS -X POST "https://clicklink.com.sa/api/v1/sms/send" \
  -H "Content-Type: application/json" \
  -H "X-ClickLink-Key: YOUR_API_KEY" \
  -d '{"to":"05xxxxxxxx","senderId":"ClickLink","message":"Hello from ClickLink"}'

الحقول الأساسية: to، senderId (معتمد للحساب)، message. registeredDelivery افتراضيًا true.

Message status

GET /api/v1/sms/messages/{messageId}

{
  "ok": true,
  "message": {
    "messageId": "…",
    "status": "delivered",
    "dlrStatus": "delivered"
  }
}

Balance: GET /api/v1/sms/balance

دورة التسليم

ACCEPTED
QUEUED
submitted
delivered

عند الفشل تُحدَّث الحالة عبر DLR. الاستعلام أو Webhook message.dlr يعيد status وisFinal.

Webhooks (DLR)

اضبط عنوان HTTPS عبر PUT /api/v1/billing/webhook. نوقّع كل نداء.

X-ClickLink-Signature: sha256=<HMAC_SHA256(secret, timestamp + "." + rawBody)>
X-ClickLink-Timestamp: <unix seconds>
X-ClickLink-Event: message.dlr

{
  "event": "message.dlr",
  "messageId": "…",
  "status": "delivered",
  "isFinal": true,
  "refunded": false,
  "destAddr": "9665xxxxxxxx"
}

Sandbox

بدون رسوم وبدون إرسال حقيقي. نفس جسم طلب الإرسال. الاستجابة status: SANDBOX_ACCEPTED وsandbox: true.

  • GET /api/v1/sms/sandbox/ping
  • POST /api/v1/sms/sandbox/send
  • POST /api/v1/sms/sandbox/webhook-verify

Errors

{ "ok": false, "error": { "code": "DEST_INVALID", "message": "…" } }
HTTPCode
400DEST_INVALID / VALIDATION_ERRORطلب غير صالح أو حد إرسال
401AUTH_MISSING / AUTH_INVALIDمصادقة
402INSUFFICIENT_BALANCEالرصيد
403SENDER_NOT_ALLOWED / ACCOUNT_INACTIVEصلاحية المرسل أو الحساب
404NOT_FOUNDالرسالة غير موجودة
503QUEUE_FULLضغط على الطابور
500INTERNAL_ERRORخطأ خدمة

Built with security in mind

  • HTTPS
  • API key / Bearer authentication
  • Approved sender IDs
  • HTTP send throttling (VALIDATION_ERROR)
  • Webhook HMAC signature

الأمن والثقة

الخطوة التالية

المرجع الكامل في /docs.html. للحصول على مفتاح ابدأ من البوابة أو راسل الدعم التقني.