سطح API بإصدار واضح
مسارات REST العامة تعمل تحت /v1. مسارات التوافق تحت /api/v1 تصل إلى نفس API.
ابنِ على REST API الإنتاجية لمحادثات واتساب وإنستغرام وماسنجر. ستجد هنا المصادقة، pagination، الرسائل، journeys، templates، webhooks الموقعة، تتبع التسليم، وendpoints المطورين.
استخدم InstantReply كطبقة الرسائل لمنتجك أو أدواتك الداخلية. يستطيع backend قراءة المحادثات، إرسال الردود، تحديث contacts، توجيه leads، تشغيل journeys واتساب، التحقق من templates، والتفاعل مع رسائل العملاء فوريا.
مسارات REST العامة تعمل تحت /v1. مسارات التوافق تحت /api/v1 تصل إلى نفس API.
هذا هو نفس سطح الإنتاج الذي يستخدمه dashboard والautomations وردود AI وإرسال journeys.
سجل endpoint webhook واحدا واستقبل POSTs موقعة عند رد العميل أو تغير حالة التسليم.
صادق الطلبات باستخدام API key محددة النطاق في Authorization: Bearer $IR_API_KEY. افصل keys الإنتاج عن test. يمكن تدوير keys من developer settings بدون تغيير secret توقيع webhook.
curl https://api.instantreply.co/v1/conversations \
-H "Authorization: Bearer $IR_API_KEY"curl -X POST https://api.instantreply.co/v1/conversations/$ID/messages \
-H "Authorization: Bearer $IR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Thanks for reaching out - how can we help?"}'كل endpoint قائمة يقبل ?cursor= ويرجع cursor التالي عند وجود سجلات إضافية. اعتبر cursor قيمة opaque وأعد إرسالها كما وصلت.
الأخطاء ترجع JSON envelope فيه code وmessage وdoc_url وrequest_id. احتفظ ب X-Request-Id عندما تحتاج من الدعم تتبع الطلب.
هذه أكثر المسارات التي يستخدمها المطورون. الكتالوج REST يحتوي المخزون الكامل، أما هذه الصفحة فتشرح وظيفة كل مجموعة وكيف تدخل في التكامل.
اقرأ محادثات العملاء، أرسل الردود، وزامن سجل الرسائل.
/v1/conversationsيعرض المحادثات مع فلاتر للحالة والقناة والمسؤول وcursor pagination.
/v1/conversations/:idيقرأ محادثة واحدة مع العميل والقناة والمرحلة والوسوم وآخر نشاط.
/v1/conversations/:idيحدّث التعيين أو الحالة أو الوسوم أو حقول التوجيه للمحادثة.
/v1/conversations/:id/messagesيقرأ سجل الرسائل داخل محادثة محددة.
/v1/conversations/:id/messagesيرسل ردا عبر القناة الصحيحة: واتساب أو إنستغرام أو ماسنجر.
/v1/messagesيعرض الرسائل عبر كل المحادثات للمراجعة أو المزامنة أو التحليلات.
/v1/messagesينشئ رسالة صادرة عندما يعرف تكاملك سياق القناة مسبقا.
/v1/messages/:idيجلب تفاصيل المحتوى والتسليم لرسالة واحدة.
حافظ على سجل العميل متزامنا واجلب المقاييس التشغيلية التي يحتاجها تطبيقك.
/v1/contactsيعرض contacts مع المرحلة والscore والowner وهوية القناة.
/v1/contacts/:idيقرأ ملف contact وسياق المحادثات المرتبطة به.
/v1/contacts/:idيحدّث حقول contact من lead capture أو CRM.
/v1/channelsيعرض قنوات واتساب وإنستغرام وماسنجر المتصلة.
/v1/analytics/summaryيعرض ملخص السرعة والحجم والتحويل.
/v1/usageيعرض استخدام الخطة للرسائل وAI وwebhooks وAPI calls.
أدر API keys واشترك بأحداث موقعة تصل إلى خادمك فوريا.
/v1/keysيعرض API keys النشطة والنطاقات.
/v1/keysينشئ key محددة النطاق لbackend أو agent أو بيئة test.
/v1/keys/:id/rotateيدور key بدون downtime.
/v1/keys/:idيلغي key فورا.
/v1/webhooksيعرض endpoints الخاصة بالwebhooks.
/v1/webhooksيسجل endpoint webhook موقع.
/v1/webhooks/:idيعطل endpoint webhook.
/v1/webhooks/:id/deliveriesيفحص محاولات التسليم الأخيرة والفشل.
شغّل journeys واتساب، افحص نتائج التسليم، وزامن أحداث العمل.
/v1/journeysيعرض journey templates المتاحة لحسابك.
/v1/triggerيدخل contact في journey أو template workflow.
/v1/trigger/status/:idيشرح نتيجة التسليم الحالية لtrigger.
/v1/trigger/validateيتحقق من payload قبل الإرسال.
/v1/trigger/batchيشغل دفعة contacts مع نتيجة لكل صف.
/v1/eventsيرسل event خارجي من عملك إلى InstantReply.
/v1/campaigns/:id/sendيبدأ إرسال حملة معتمدة.
تحقق، أرسل، وdebug templates واتساب بدون تخمين سياسة Meta.
/v1/templatesيعرض templates وحالتها من InstantReply وMeta.
/v1/templatesينشئ مسودة template.
/v1/templates/:id/validateيفحص category fit ويقدم coaching لفئة UTILITY.
/v1/templates/:id/submitيرسل template إلى مراجعة Meta.
/v1/developer/capabilitiesيعرض scopes والميزات المفعلة والحدود.
/v1/developer/onboardingيعرض checklist التكامل.
/v1/developer/limitsيعرض rate limits والحصص.
/v1/developer/troubleshooting/errors/:codeيبحث عن خطأ معروف من provider.
سجل POST /v1/webhooks مرة واحدة وسيقوم InstantReply بدفع الأحداث إلى خادمك فوريا. التسليم at-least-once، لذلك عالج X-InstantReply-Delivery بطريقة idempotent.
كل webhook لديه signing secret يبدأ ب whsec_. تحقق من X-InstantReply-Signature باستخدام HMAC-SHA256 على timestamp.rawBody قبل الوثوق بالpayload. محاولات التسليم الأخيرة في GET /v1/webhooks/:id/deliveries.
app.post("/webhooks/instantreply", express.raw({ type: "application/json" }), (req, res) => {
const timestamp = req.header("X-InstantReply-Timestamp")
const signature = req.header("X-InstantReply-Signature")
const rawBody = req.body.toString("utf8")
verifyHmacSha256({
secret: process.env.IR_WEBHOOK_SECRET,
payload: timestamp + "." + rawBody,
signature,
})
res.sendStatus(204)
})| Event | متى يحدث |
|---|---|
message.received | يرسل العميل رسالة عبر واتساب أو إنستغرام أو ماسنجر. |
message.sent | يخرج message من AI أو dashboard أو API أو automation أو journey. |
conversation.created | تفتح محادثة جديدة من inbound أو coexistence أو journey. |
conversation.closed | تغلق محادثة يدويا أو عبر automation. |
conversation.assigned | يتغير owner عبر تعيين يدوي أو rules للتوجيه. |
contact.updated | يقوم lead extraction أو CRM sync بتحديث contact. |
template.status_update | ترسل Meta تحديث مراجعة أو جودة لtemplate. |
message.delivery_failed | يفشل provider أو يرفض التسليم بعد المحاولات. |
تساعد endpoints الخاصة بالtemplates الفرق على نشر templates واتساب ملتزمة. تحقق من category fit، أرسل إلى Meta، افحص provider outcomes، واشرح الأخطاء المعروفة قبل التخمين.
Swagger/OpenAPI المولد متاح في بيئات غير إنتاجية للتحقق الداخلي. الإنتاج لا يعرض /openapi.json عمدا. استخدم هذا المرجع وكتالوج REST والدليل السريع كسطح المطورين العام.
يكون التكامل جاهزا للإنتاج عندما تتحقق هذه النقاط.