الرسائل المعاملاتية
أرسِل OTP والإيصالات وتنبيهات الشحن عبر WhatsApp، نصاً وقوالب وسائط أو PDF، مباشرة من أنظمتك.
Amargi Reach هو منصة رسائل متعددة القنوات مبنية على WhatsApp Business Cloud API، حيث Amargi هي Meta Tech Provider، إضافة إلى Messenger وInstagram وTelegram والدردشة على الويب والبريد الإلكتروني، كلها في صندوق وارد واحد. أرسِل القوالب والوسائط، وشغّل الحملات، وصُغ ردود AI مع تسليم للإنسان، واستقبل webhooks موقّعة.
منصة واحدة للرسائل المعاملاتية والتسويق والدعم والأتمتة، كلها تصل إلى صندوق الوارد المشترك نفسه.
أرسِل OTP والإيصالات وتنبيهات الشحن عبر WhatsApp، نصاً وقوالب وسائط أو PDF، مباشرة من أنظمتك.
شغّل حملات لجماهير مُجزّأة عبر البث والإرسال الجماعي، مربوطة بقالب مُعتمَد وجمهور.
ادعم العملاء في صندوق وارد واحد عبر كل القنوات، مع التعيين ومِلكية المحادثة وملاحظات داخلية.
يصوغ AI أو يُرسل تلقائياً من قاعدة معرفتك ويُسلّم لإنسان لحظة أن يتولّى شخص المحادثة.
أرسِل رسائل تفاعلية وWhatsApp Flows: أزرار وقوائم ونماذج داخل الدردشة، مع ردود تلقائية بالقواعد.
تستهلك أنظمتك أحداث الرسائل الواردة وتغييرات حالة التسليم بصيغة webhooks موقّعة وفي الوقت الفعلي.
كل قناة تصل إلى صندوق الوارد نفسه ومحرّر الكتابة نفسه. تُختار القناة عبر channel_kind على API.
WhatsApp Business Cloud API مباشرة عبر Meta: قوالب ووسائط ورسائل تفاعلية وFlows ونافذة الخدمة 24 ساعة.
اربط صفحة فيسبوك. تنطبق نافذة 24 ساعة، مع وسوم HUMAN_AGENT لردود الوكيل خارجها.
رسائل DM لحساب Instagram للأعمال، إضافة إلى ردود خاصة على التعليقات، مُقيّدة بمراجعة Meta.
وضع بوت عبر رمز BotFather، ووضع حساب الأعمال الذي يردّ باسم حساب شخصي عبر business_connection_id.
دردشة مباشرة من موقعك أو تطبيقك تُوجَّه عبر Reach، مع إشعار a human joined the chat عند التسليم من AI للإنسان.
الإرسال والاستقبال عبر IMAP/SMTP. يصل البريد إلى نفس الصندوق بجوار قنواتك الفورية.
خمس خطوات من التسجيل إلى صندوق وارد فعّال مع webhooks موصولة.
سجّل في Amargi Workspace (راجع وثائق Workspace) وافتح Reach من المُشغّل.
اربط WABA الخاص بك عبر Meta Embedded Signup: Settings ثم Channels ثم WhatsApp ثم Connect. الحوار يعالج كل شيء، مصادقة Facebook واختيار البورتفوليو واختيار رقم الهاتف وإنشاء مستخدم النظام.
أرسِل أول رسالة من Send. لرسائل WhatsApp خارج نافذة الخدمة 24 ساعة، يجب أن تستخدم قالباً مُعتمَداً (UTILITY / AUTHENTICATION / MARKETING).
أنشئ webhook في Webhooks ثم New subscription. تتلقّى أحداثاً مثل message.inbound وmessage.delivered وmessage.read على عنوان URL الخاص بك، كلٌّ موقّع بـ HMAC-SHA256.
افتح صندوق وارد المشغّل في Conversations. تظهر الرسائل الواردة في الوقت الفعلي عبر SignalR.
حساب WhatsApp Business (WABA) يملك واحداً أو أكثر من أرقام الهواتف. كل رقم يحمل تقييم جودة (GREEN / YELLOW / RED) وطبقة رسائل (من TIER_NEW إلى TIER_UNLIMITED)، يديرها Meta بناءً على ملاحظات المستخدم. القوالب مطلوبة لأي رسالة خارج نافذة 24 ساعة، وكل قالب يجب أن يُعتمَد من Meta أولاً (UTILITY عادة في دقيقة، MARKETING في نحو 30 دقيقة).
بعد أن يُرسل المستخدم رسالة لـ WABA الخاص بك، يحقّ لك إرسال أي نوع من الرسائل لمدة 24 ساعة بلا رسوم لكل رسالة. بعد إغلاق النافذة يجب أن تستخدم قالباً مُعتمَداً، ويُحصَّل سعر القالب لكل منطقة. يفرض Reach هذا تلقائياً: الرسائل خارج CSW بلا قالب تُرفَض على API.
UTILITY للإشعارات المعاملاتية (تأكيد طلب، تحديث شحن، تذكيرات) وهي الأرخص. AUTHENTICATION لرموز OTP والتحقّق، مُسعّرة بشكل منفصل ومُحسّنة للتسليم السريع. MARKETING للعروض والحملات، الأغلى، وتتطلّب موافقة صريحة من المُستلِم (opt-in).
يفرض Reach اكتشاف STOP/UNSUBSCRIBE على الرسائل الواردة عبر 7 لغات، كلمات مفردة وعبارات متعددة الكلمات. عندما يُرسل المستخدم STOP، يُضاف opt_out إلى سجل موافقة جهة الاتصال وتُحظَر رسائل MARKETING المستقبلية على API. تبقى UTILITY وAUTHENTICATION مسموحة على أساس الضرورة المعاملاتية.
هناك حدّان: حدّ Meta لكل رقم هاتف (يتدرّج مع الطبقة، مثلاً نحو 80 رسالة/ثانية على TIER_1K)، وحارس Reach الخاص لكل مؤسسة (نافذة منزلقة، افتراضي 60 رسالة/دقيقة) يحميك من الاندفاعات. الردود 429 من Meta تُعاد محاولتها تلقائياً مع backoff، تحترم رأس Retry-After ثم أسّي مع jitter بمقدار زائد أو ناقص 20%.
إلى جانب النص والقوالب، يُرسل Reach رسائل WhatsApp تفاعلية: أزرار ردّ وقوائم اختيار ورسائل منتج واحد أو متعدد (كتالوج)، تُمرَّر مباشرة إلى Meta. نقرة المستخدم تعود كرسالة واردة عادية يمكنك التفرّع عليها. كما يُرسل Reach تفاعلات الإيموجي والملصقات ورسائل المواقع، ويستطيع تقصير الروابط وتتبّع النقرات عليها.
الـ Flows نماذج داخل الدردشة (تسجيل، حجز موعد، التقاط عملاء محتملين، استبيانات، تواصل معنا). يأتي Reach بنظام Flows من الدرجة الأولى: منشئ مرئي يُولّد Flow JSON، مع دورة الحياة الكاملة (إنشاء، تحديث JSON، نشر، إيقاف) ومعاينة قصيرة العمر من Meta. الـ Flows بلا نقطة نهاية تُعيد الإجابات عبر webhook إكمال، والـ Flows الديناميكية تستطيع استدعاء نقطة نهاية في خادمك. تُدار تحت /api/v1/wabas/:id/flows. ملاحظة: نشر Flow يتطلّب Meta Business Verification على الـ WABA.
تكامل شائع جداً: نظامك يُرسل للعميل ملفاً عبر WhatsApp تلقائياً لحظة حدوث شيء ما، تأكيد طلب، فاتورة أو إيصال (PDF)، صورة، فيديو توضيحي قصير، أو كشف. مع Reach يكون ذلك باستدعاء API واحد من خادمك، آلي بالكامل وبلا وكيل بشري وفي الوقت الفعلي.
ارفع ملفاً مرة واحدة عبر POST /api/v1/media، ثم أشِر إلى معرّف الوسائط المُعاد عند الإرسال. يدعم Reach رسائل الصور والفيديو والصوت والمستندات (بما فيها PDF)، مع تعليق اختياري واسم ملف للمستندات.
وللإرسال الاستباقي في أي وقت (خارج نافذة 24 ساعة)، تحمل القوالب رأس وسائط: أرسِل قالب UTILITY برأس IMAGE / VIDEO / DOCUMENT، ثم أرسِله بمعرّف الوسائط المرفوع. يحلّ Reach معرّف الوسائط الداخلي إلى كائن وسائط المزوّد تلقائياً، فيُرسل نظامك مثلاً إيصال PDF كقالب UTILITY يتجاوز نافذة 24 ساعة. هذا بالضبط ما يتيح الإرسال الآلي في أي وقت، لا فقط داخل محادثة قائمة.
لدى Reach عقل AI مدمج، مدعوم بـ Amargi Agents، يقرأ سجل المحادثة (بذاكرة عبر الخيط) وقاعدة معرفتك. يعمل بنمطين: مُساعِد (يصوغ اقتراحاً في محرّر الكتابة ليقبله الوكيل أو يعدّله أو يتجاوزه) أو مستقل (يردّ من تلقاء نفسه على القنوات التي تفعّلها).
لحظة أن يتولّى إنسان المحادثة، يتوقّف البوت: تُرفَض ردود AI وسير العمل أثناء التسليم البشري، حتى على webhooks الواردة الجديدة. يستأنف AI تلقائياً بعد 24 ساعة بلا تدخّل بشري (تُحسَب من آخر ردّ بشري) أو عند حلّ المحادثة. على دردشة الموقع، تُظهر الأداة إشعار a human joined the chat عند الانتقال.
تستطيع الرسائل الواردة تشغيل سير عمل مرئي (Amargi Workflow Builder): مُشغّل، ثم تشغيل وكيل AI، ثم الردّ على نفس القناة أو التسليم لإنسان أو فتح تذكرة. الردّ واعٍ بالقناة: Messenger وInstagram وTelegram ودردشة الموقع والبريد تمرّ عبر منفذ ردّ داخلي، ويبقى WhatsApp على مسار إرسال Meta المُراجَع.
هذان أمران مختلفان، وصندوق الوارد يفصل بينهما. الرسائل التي يُرسلها نظامك عبر API (OTP، إيصالات، إشعارات، type=template بمفتاح wk_) تظهر بشارة محايدة Automated. أما شارة AI فتظهر فقط لردود عقل AI المدمج، فإن لم تُفعّل أي AI في مؤسستك لن ترى شارة AI إطلاقاً. أبقِ رسائل المعاملات الآلية بصيغة type=template لتُنسَب كـ Automated.
مساحة عمل واحدة لكل قناة. إلى جانب الردّ، يمنح الصندوق فريقك الأدوات لإدارة المحادثات كفريق.
عيّن محادثة، أو تولَّها، أو حوّلها. محرّر كتابة مُشاهِد افتراضياً يمنع وكيلَين من الردّ على نفس الدردشة معاً.
كل رسالة صادرة موسومة بالمُرسِل: اسم زميل بشري، أو شارة AI للبوت، أو شارة Automated للإرسال البرمجي عبر API، مع خط زمني للتسليم بين AI والإنسان.
ملاحظات نصية بإشارات @mention (إشعار داخل التطبيق وبريد)، تفاعلات إيموجي، وحذف ناعم للتدقيق.
مفتوحة أو معلّقة أو محلولة أو مؤجّلة، إضافة إلى تمييز بنجمة وتثبيت وحقول مخصّصة يكتبها المشغّل.
انقل محادثة عبر جديد، تواصَل، مؤهَّل، عرض، ثم مكسوب أو مفقود، مع قيمة للعميل المحتمل.
الرسائل الواردة وحالة التسليم والكتابة والحضور تتدفّق مباشرة عبر SignalR.
الـ OTP يُرسَل عبر قالب AUTHENTICATION مُعتمَد. ولأن القوالب تتجاوز نافذة 24 ساعة، يمكنك إرسال رمز لمستخدم جديد تماماً بلا أي رسالة سابقة وبلا opt-in (فئة AUTHENTICATION مُعفاة من الموافقة ومن حظر STOP). باستدعاء API واحد: POST /api/v1/messages
{
"phone_number_id": "YOUR_PHONE_NUMBER_ID",
"to": "962790802310",
"type": "template",
"template": {
"name": "otp_verification",
"language": "ar",
"components": [
{ "type": "body", "parameters": [
{ "type": "text", "text": "483920" }
]},
{ "type": "button", "sub_type": "url", "index": 0, "parameters": [
{ "type": "text", "text": "483920" }
]}
]
}
}phone_number_id هو معرّف الرقم الداخلي في Reach بصيغة UUID (من GET /api/v1/wabas/:id/phone-numbers)، وليس المعرّف الرقمي من Meta.to بصيغة E.164 بلا + في البداية (مثل 962790802310).sub_type: url, index: 0 يجعل الرمز يظهر مرتين، مرة في الـ body ومرة في زر النسخ، ليعمل زر Copy code بنقرة واحدة.name + language يجب أن يطابقا تماماً قالب AUTHENTICATION المُعتمَد لديك. القوالب قابلة للفوترة، فتحتاج المؤسسة رصيد رسائل.المتطلبات: رقم WhatsApp مُسجَّل ومتّصل (Settings ثم Channels ثم فعّل الرقم)، وقالب AUTHENTICATION مُعتمَد من Meta. الإرسال غير متزامن، 202 Accepted، ثم تابِع التسليم عبر webhooks (message.sent، delivered، read). مرّر رأس Idempotency-Key حتى لا تُسبّب إعادة محاولة إرسالاً مزدوجاً.
هذا إرسال آلي، وليس AI. يظهر في صندوق الوارد بشارة Automated، لا AI أبداً.
المهام اليومية، كل منها وصفة قصيرة في اللوحة أو استدعاء API واحد.
Settings ثم API keys ثم New key. اختر الصلاحيات (الافتراضي الأقل امتيازاً هو messages:send، وFull access يعني كل الصلاحيات) وصلاحية انتهاء اختيارية (30 / 90 / 365 يوماً / أبداً). يُعرَض السر (wk_live_...) مرة واحدة عند الإنشاء فانسخه حينها، ويخزّن Reach تجزئته فقط. أرسِله بترويسة Authorization: Bearer wk_.
عندما يصبح الملف جاهزاً في نظامك، ارفعه بـ POST /api/v1/media لتحصل على media id، ثم أرسِله بـ POST /api/v1/messages. داخل نافذة 24 ساعة أرسِل الوسائط مباشرة، وللإرسال الاستباقي في أي وقت استخدم قالب UTILITY مُعتمَداً برأس DOCUMENT / IMAGE / VIDEO يشير إلى الـ media id. مرّر Idempotency-Key وتابِع التسليم عبر webhooks.
Templates ثم New template. اختر اللغة والفئة (UTILITY / MARKETING / AUTHENTICATION)، وابنِ المكوّنات (header، body، buttons). يحقّق Reach من المكوّنات محلياً قبل الإرسال إلى Meta لتجنّب رفض على API الخاص بهم. الحالة تنتقل PENDING ثم APPROVED أو REJECTED، وتصل التحديثات عبر webhook من Meta في الوقت الفعلي.
حدِّد جمهوراً في Audiences (تجزئة على صفات جهة الاتصال أو رفع CSV). أنشئ حملة في Campaigns ثم New campaign، مربوطة بقالب وجمهور. جدوِل (schedule_at مستقبلي) أو أطلق فوراً (/start)، ثم راقب التقدّم (queued / sent / delivered / read / failed).
Webhooks ثم New subscription. أدخِل عنوان URL بصيغة HTTPS، اختر أنواع الأحداث، وانسخ سر التوقيع المُولَّد إلى تكوين خادمك. تحقّق من رأس X-Amargi-Signature-256 (بالصيغة sha256=<hex>) بـ HMAC-SHA256 من نص الحمولة الخام، وأعِد 2xx خلال 5 ثوانٍ. الفشل يضع الحدث في طابور إعادة المحاولة (backoff أسّي، أقصى 5 محاولات).
Conversations يفتح صندوق وارد المشغّل. رسائل WhatsApp وEmail وMessenger وInstagram وTelegram ودردشة الموقع تظهر بفلاتر القناة في الأعلى. اختر محادثة واكتب في المُؤلِّف، وإن كانت داخل CSW فالإرسال مباشر وإلا فاختر قالباً معتمداً. حالة التسليم (sent، delivered، read) تتدفّق إلى الفقاعة في الوقت الفعلي.
كل نقاط نهاية Reach تحت https://reach.amargicreative.com/api/v1/
تُصادَق طلبات API بمفتاح في رأس Authorization: Bearer wk_live_... (تبدأ مفاتيح Reach بـ wk_). جلسات المتصفّح داخل لوحة Reach تستخدم كوكي amargi_workspace_access بدلاً من ذلك.
POST /api/v1/messagesإرسال رسالة (نص، وسائط، قالب، تفاعلي). مفتاح idempotency في رأس Idempotency-Key.GET /api/v1/messages/:idاسترجاع رسالة بـ id.POST /api/v1/messages/batchإرسال جماعي، حتى 5,000 رسالة في الطلب الواحد.POST /api/v1/messages/:id/resendإعادة إرسال رسالة فاشلة.POST /api/v1/mediaرفع ملف (صورة / فيديو / صوت / مستند) للإرسال أو لرؤوس القوالب.GET /api/v1/conversationsسرد المحادثات. تصفية حسب state وchannel_kind وassignedUserId.GET /api/v1/conversations/:id/messagesالرسائل في محادثة.GET /api/v1/wabasسرد WABAs المرئية.GET /api/v1/wabas/:id/templatesالقوالب لـ WABA معيَّن.POST /api/v1/wabas/:id/templatesإرسال قالب جديد للموافقة من Meta.GET /api/v1/wabas/:id/phone-numbersأرقام الهاتف على WABA (المعرّف الداخلي، e164، الاسم الظاهر، الحالة).POST /api/v1/wabas/:id/phone-numbers/:phoneId/registerتسجيل أو تفعيل رقم على Cloud API (مطلوب قبل أن يُرسِل).POST /api/v1/templates/:id/archiveأرشفة قالب (إخفاؤه دون حذفه)، مع /unarchive للعكس.GET/POST /api/v1/wabas/:id/flowsسرد أو إنشاء WhatsApp Flows (مع نشر / إيقاف / معاينة).GET /api/v1/campaignsسرد الحملات.POST /api/v1/campaignsإنشاء حملة (draft أو scheduled).POST /api/v1/campaigns/:id/startإطلاق الحملة فوراً.GET/POST /api/v1/audiencesسرد أو إنشاء شرائح الجمهور (للحملات).GET /api/v1/webhook-subscriptionsسرد اشتراكات webhook.POST /api/v1/webhook-subscriptionsإنشاء اشتراك webhook جديد.POST /api/v1/contacts/importاستيراد جهات الاتصال دفعةً (CSV، حتى 10,000 صف، وسوم وحقول مخصّصة).POST /api/v1/contacts/:id/consentsتسجيل تحديث الموافقة يدوياً.GET/POST /api/v1/admin/api-keysسرد أو إنشاء مفاتيح API (بصلاحيات وانتهاء اختياري، يُعرَض السر مرة واحدة).POST /api/v1/admin/api-keys/:id/rotateتدوير أو إبطال مفتاح (DELETE للإبطال).GET /api/v1/reports/messagingتقرير حجم الرسائل (group_by=day|week).GET /api/v1/reports/billingتقرير تكلفة الفوترة (group_by=day|category).كل الأحداث الصادرة موقّعة بـ HMAC-SHA256 في رأس X-Amargi-Signature-256، والسر يدور لكل اشتراك، ويمكنك تدويره يدوياً في أي وقت.
message.inboundوصلت رسالة من المستخدم النهائي.message.queued / sent / delivered / read / failedدورة حياة تسليم الرسالة الصادرة، حدث منفصل لكل مرحلة.template.status_changedPENDING ثم APPROVED أو REJECTED.phone_number.quality_changedGREEN / YELLOW / RED مع تغيير الطبقة.phone_number.status_changedتغيّرت حالة اتصال الرقم.waba.account_updatedتحديث على مستوى حساب WABA من Meta.campaign.started / campaign.completedانتقالات دورة حياة الحملة.invoice.issued / invoice.paidأحداث الفوترة.عملاء رسميون، مع لغات أخرى مُخطَّطة.
@amargi/reachTypeScript / Node.js. العميل الرسمي، وصول مبكر (متاح عند الطلب، لم يُنشَر بعد على سجل npm العام).
Pythonمُخطَّط لـ Q3 2026.
.NETمُخطَّط لـ Q3 2026.
الأدلة التفصيلية خطوة بخطوة توجد داخل المنتج بجوار كل ميزة. أخبِرنا بما تريد بناءه وسنوجّهك إلى الإعداد المناسب، أو اطلب الوصول ونجهّزك للبدء.