أنشئ مفتاحًا، اعرض المحادثات، أرسل ردًا، سجّل ويبهوك. بلا تثبيت SDK. الـ SDK سكّر.
افتح الإعدادات → API Keys، انقر مفتاح جديد، أعطه تسمية، اختر النطاقات. انسخ مرّة واحدة. المفاتيح التي تبدأ بـ ir_live_ ترسل رسائل حقيقية. المفاتيح التي تبدأ بـ ir_test_ لا تفعل أبدًا.
# .env
IR_API_KEY=ir_live_3f2a...كل endpoint قائمة يستخدم cursor pagination. مرّر ?cursor= للصفحة التالية. 100 كحدّ أقصى لكل نداء.
curl https://api.instantreply.co/v1/conversations \
-H "Authorization: Bearer $IR_API_KEY"POST رسالة إلى محادثة. مع مفتاح test يُرجع النداء 201 وهميًا ولا يلمس Meta أبدًا. مع مفتاح live تتعامل المنصّة مع التسليم وإعادة المحاولات والامتثال.
curl -X POST https://api.instantreply.co/v1/conversations/$ID/messages \
-H "Authorization: Bearer $IR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "content": "Thanks for reaching out." }'يتضمّن الردّ سرّ توقيع (whsec_...). تحقّق من X-InstantReply-Signature على كل payload باستخدام HMAC_SHA256(secret, timestamp + "." + rawBody). التسليم at-least-once مع ثلاث محاولات؛ استخدم X-InstantReply-Delivery لمنع التكرار وراجع GET /v1/webhooks/:id/deliveries.
curl -X POST https://api.instantreply.co/v1/webhooks \
-H "Authorization: Bearer $IR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://yourapp.com/webhooks/ir",
"events": [
"message.received",
"message.sent",
"conversation.created",
"conversation.closed",
"conversation.assigned",
"contact.updated",
"template.status_update",
"message.delivery_failed"
]
}'