بدلاً من الاستعلام المستمر عن حالة كل رسالة، استقبل إشعارات Webhook عند وقوع الأحداث المدعومة.
استقبل تحديثات حالات الرسائل عبر Webhook، دون الحاجة إلى إرسال طلبات متكررة للتحقق من حالتها.
استخدم الإشعارات الواردة لتحديث السجلات والتقارير أو تشغيل الإجراءات المناسبة داخل نظامك.
تابع تغيّرات حالات الرسائل والرسائل الواردة من خلال الإشعارات التي ترسلها TurkeySMS إلى نظامك.
ترسل رسالة نصية عبر TurkeySMS باستخدام لوحة التحكم أو API، أو تصل رسالة إلى رقم 0850 الخاص بك.
عند وقوع حدث مدعوم، مثل تحديث حالة الرسالة، يُسجّل النظام الحدث ويوقّع الإشعار إذا كان مفتاح التوقيع معرَّفاً.
ترسل TurkeySMS بيانات الحدث إلى عنوان HTTPS الذي حددته.
يتحقق نظامك من الإشعار، ويعيد استجابة 2xx، ثم يعالج البيانات لتنفيذ الإجراء المناسب.
المخطط للتوضيح فقط، وليس تعهداً بزمن محدد. وطريقة معالجة الحدث داخل نظامك تعتمد على التكامل لديك.
تختار الأحداث التي تريد استقبالها من إعدادات Webhook.
sms.sentعند تسليم رسالتك إلى المشغّل.
sms.deliveredعند وصول تقرير تسليم ناجح من المشغّل.
sms.receivedعند وصول رسالة إلى رقم 0850 الخاص بك. ولأنه يتضمن نص الرسالة، لا يُرسل إلا إذا اخترته صراحةً في الإعدادات.
inbound.matchedعند تنفيذ إجراء "استدعاء Webhook" في إحدى قواعد أتمتة الرسائل الواردة. ويُرسل إلى أول Webhook مفعّل في حسابك. الرسائل الواردة
key.testعند الضغط على زر «اختبار» في اللوحة؛ لتجربة الاتصال بعنوانك.
لا يُرسل نص الرسالة في أحداث الرسائل الصادرة؛ أما أحداث الرسائل الواردة فتتضمن نص الرسالة ورقم المرسل.
اختر حدثاً، واستعرض ترويسات الطلب ومحتوى JSON، ثم جرّب بنفسك كيف يتكوّن التوقيع.
البيانات المعروضة للتوضيح، وقد استُخدمت قيم تجريبية. تعمل هذه التجربة داخل متصفحك، ولا يُرسل أي طلب.
{
"id": "27f38025030d060f3e3b760b318b406e",
"event": "sms.delivered",
"created_at": "2026-10-01T15:30:03+03:00",
"timestamp": 1790857803,
"data": {
"message_id": 518431556,
"bulk_id": "1259383818",
"to": "905xxxxxxxxx",
"sender_id": "BASLIGIM",
"parts": 1,
"source": "api",
"key_id": 1001,
"sent_at": "2026-10-01T15:28:31+03:00",
"done_at": "2026-10-01T15:28:33+03:00",
"operator_status": "Message delivered to handset",
"status": "delivered"
}
}مفتاح التوقيع في حسابك (الذي يوقّع الإشعار): demo-secret
جارٍ الحساب…
هذه التجربة لا تفحص النافذة الزمنية (300 ثانية)؛ أما نظامك الفعلي فيجب أن يفحص قيمة t= في التوقيع أيضاً.
ملاحظة: استجابة HTTP 2xx تعني أن الحدث استُلم، ولا تعني أن العملية في نظامك اكتملت بنجاح. عالج كل حدث مرة واحدة بالاعتماد على معرّف الإرسال.
عند تعريف مفتاح التوقيع تُوقَّع الإشعارات بـ HMAC من نوع SHA‑256 أو SHA‑512، فتتحقق من مصدر الإشعار وسلامة محتواه. وإذا لم يُعرَّف المفتاح فلا تُرسل ترويسات التوقيع.
يشمل توقيع V2 الطابعَ الزمني أيضاً. ويستطيع نظامك، بفحص الوقت في التوقيع، منع إعادة استخدام الطلبات القديمة.
معرّف كل حدث لا يتغير بين المحاولات؛ وبه تستبعد الأحداث المكررة.
لا تُقبل localhost وعناوين الشبكات الخاصة كعنوان Webhook.
إذا تعذّر تسليم الإشعار إلى خادمك، يتعامل النظام مع المحاولة غير الناجحة وفق آلية إعادة المحاولة التالية.
قد يصلك الإشعار نفسه أكثر من مرة. لذلك ننصح باستخدام معرّف الحدث لتجنّب معالجة الإشعارات المكررة. استجب أولاً ثم عالج: سجّل الحدث وأعد 2xx فوراً؛ ويجب أن يستجيب خادمك خلال 10 ثوانٍ تقريباً.
راجع إشعارات Webhook وحالات إرسالها ونتائج المحاولات من مكان واحد، لتسهيل متابعة التكامل واكتشاف المشكلات.
اربط تحديثات حالات الرسائل بسجلات العملاء داخل نظام إدارة علاقات العملاء.
sms.deliveredاستخدم حالات الرسائل لتحديث معلومات التواصل المرتبطة بالطلبات.
sms.sentsms.deliveredأرسل بيانات حالات الرسائل إلى نظام التقارير والتحليلات لديك.
sms.sentsms.deliveredانقل ردود العملاء إلى نظام الدعم أو الطلبات لديك كسجلات. الرسائل الواردة
sms.receivedجهّز عنوان HTTPS في تطبيقك لاستقبال إشعارات Webhook، ومفتاح API في حسابك ليرتبط به Webhook.
من حسابي ← مركز API ← الأمان و IP ← Webhook: اختر مفتاح API، وأضف عنوان الاستقبال ومفتاح التوقيع، وحدّد الأحداث التي تريدها.
جرّب الاتصال بزر «اختبار» أو بمحاكي Webhook، ثم تحقّق من استقبال البيانات والتوقيع ومعالجة الأحداث داخل نظامك، وتابع الإرسال من مركز الـ Webhook.
هل تحتاج مساعدة في الإعداد؟ نتصل بك
مع SMS API ترسل أنت الطلب إلى TurkeySMS (مثل إرسال رسالة أو الاستعلام عن حالتها). أما في Webhook فالاتجاه معاكس: عند وقوع حدث ترسل TurkeySMS إشعاراً إلى العنوان الذي حددته. وهكذا لا تحتاج إلى الاستعلام من API باستمرار لمعرفة الحالة.
sms.sent (عند تسليم الرسالة إلى المشغّل)، وsms.delivered (عند وصول تقرير التسليم)، وsms.received (عند وصول رسالة إلى رقم 0850 الخاص بك، إذا اخترته صراحةً)، وinbound.matched (عند تنفيذ إجراء "استدعاء Webhook" في أتمتة الرسائل الواردة)، وkey.test (زر الاختبار).
بعد وقوع الحدث يدخل قائمة الانتظار ثم يُرسل إلى عنوانك. لا نتعهد بزمن محدد لوصول الإشعار؛ إذ يتأثر الزمن بتقرير المشغّل وإعادة المحاولات واستجابة خادمك. ويمكنك دائماً معرفة الحالة النهائية للرسالة من تقارير الرسائل.
إذا أعاد خادمك استجابة 5xx أو انتهت المهلة، يُعاد إرسال الحدث على فترات متزايدة. أما الاستجابة 400 فتُعدّ خطأً نهائياً ولا يُعاد الإرسال بعدها. ويجب أن يستجيب خادمك خلال 10 ثوانٍ تقريباً.
نعم، مثلاً عند إعادة المحاولة بعد انتهاء المهلة. معرّف كل حدث (X-TurkeySMS-Delivery) لا يتغير بين المحاولات؛ فإذا وصلك معرّف سبق أن عالجته فأعد استجابة 2xx دون معالجته مجدداً.
عند تعريف مفتاح التوقيع يصل كل طلب مع الترويسة X-TurkeySMS-Signature-V2؛ وإذا لم يُعرَّف المفتاح فلا تُرسل ترويسات التوقيع. احسب قيمة HMAC من المحتوى كما وصل ومن الطابع الزمني في التوقيع، ثم قارن بينهما؛ التفاصيل وأمثلة الأكواد في توثيق API.
استخدم زر «اختبار» في حسابي ← مركز API ← الأمان و IP ← Webhook: يرسل الحدث key.test ويعرض رمز HTTP والمدة. أما محاكي Webhook فيرسل الحدث الذي تختاره بتوقيع حقيقي ومع العلامة "simulated": true. ثم راجع سجلات التسليم في مركز الـ Webhook.
لا، لا توجد رسوم إضافية لاستخدام Webhook. وتحتاج أحداث الإرسال إلى إرسال رسائل (باقة رسائل)، وأحداث الرسائل الواردة إلى رقم 0850 مخصّص لحسابك.
لا تُرسل الأحداث إلى Webhook الموقوف. وعند إعادة تفعيله لا تُرسل أحداث فترة الإيقاف؛ ويمكنك معرفة حالات تلك الفترة من تقارير الرسائل.
يُرسل إجراء "استدعاء Webhook" في أتمتة الرسائل الواردة الحدث "inbound.matched" إلى أول Webhook مفعّل في حسابك.
لا يُرسل نص الرسالة في أحداث الرسائل الصادرة (sms.sent، sms.delivered). أما أحداث الرسائل الواردة (sms.received، inbound.matched) فتتضمن نص الرسالة ورقم المرسل؛ فاحفظ هذه البيانات وفق قانون حماية البيانات الشخصية (KVKK).
استكشف تكامل Webhook من TurkeySMS، وتعرّف على طريقة استقبال إشعارات حالات الرسائل ومعالجتها داخل تطبيقك. إنشاء الحساب مجاني.