البدء السريع
أرسل رسالة واتساب وتابع تسليمها خلال خمس دقائق تقريبًا، دون أن تصل إلى عميل حقيقي. كل ما يلي يستخدم مفتاح اختبار: المنصة تحاكي واتساب، فلا يُرسل شيء ولا يُحتسب شيء في الفوترة.
1. أنشئ مفتاح اختبار#
من البوابة افتح الإعدادات ← المطورون ← مفاتيح API، واختر اختبار، ثم أنشئ مفتاحًا. انسخه الآن، فهو يظهر مرة واحدة فقط.
export API_KEY="sk_test_..."تأكد أنه يعمل:
curl https://api.saei.automize.sa/v1/me -H "Authorization: Bearer $API_KEY"ستصلك بيانات مساحة عملك، و"livemode": false، وصلاحيات المفتاح.
2. أرسل رسالة#
أرسل نصًا إلى الرقم التجريبي +966500000001:
curl -X POST https://api.saei.automize.sa/v1/messages \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+966500000001",
"type": "text",
"text": { "body": "طلبك جاهز للاستلام 🎉" },
"reference": "order-10482"
}'يصلك الرد فورًا بحالة "status": "accepted" ومعرّف مثل msg_test_01j9…. وخلال ثوانٍ ينقلها المحاكي إلى sent ثم delivered ثم read:
curl https://api.saei.automize.sa/v1/messages/msg_test_01j9... -H "Authorization: Bearer $API_KEY"3. استقبل الأحداث بدل الاستعلام المتكرر#
الاستعلام يخبرك بالحالة عندما تسأل، أما الويب هوك فيخبرك لحظة تغيّرها. أضف نقطة استقبال لأحداث الرسائل:
curl -X POST https://api.saei.automize.sa/v1/webhook_endpoints \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/webhooks/whatsapp",
"enabled_events": ["message.sent", "message.delivered", "message.read", "message.failed", "message.received"]
}'احفظ قيمة secret من الاستجابة (whsec_…)، فهي تظهر مرة واحدة. أرسل رسالة أخرى وسيستقبل خادمك message.sent وmessage.delivered وmessage.read، كلٌّ منها موقّع. تحقّق من كل توقيع قبل أن تثق بالمحتوى.
4. انتقل للتشغيل#
عندما يتعامل تكاملك مع سيناريو الاختبار، أنشئ مفتاح تشغيل. الطلبات نفسها ستصل الآن إلى عملاء حقيقيين عبر رقم واتساب المربوط. وتنطبق قاعدتان من واتساب:
- الرسالة الحرة (مثل النص أعلاه) لا تُسلَّم إلا خلال 24 ساعة من آخر رسالة من العميل. لبدء محادثة أرسل قالبًا معتمدًا.
- القوالب التي تبدأها أنت تحتاج موافقة العميل. إذا لم توافق جهة الاتصال تُرجع الواجهة
recipient_not_consentedحتى تؤكد بـ"consent_confirmed": true.
اقرأ الانتقال للتشغيل لقائمة التحقق الكاملة.