Saltmarsh Funds شركة صناديق استثمار مشتركة وهمية. وصل للتو طلب استرداد بقيمة $20,000، إلى حساب مصرفي جرى تغييره قبل ستة أيام. تنص قاعدة Saltmarsh على أن دفعة كهذه تبقى معلّقة إلى أن يتصل أحدهم بالمستثمر على رقم الهاتف المسجَّل.
اليوم تُعدّ هذه المكالمة تذكرة في طابور. هذا الدليل يستبدل الانتظار، لا الفريق: يرسل Omni Octo إلى المستثمر رسالة نصية تمهيدية، ثم يتصل به، ويطرح سؤالًا واحدًا، ويعيد الإجابة إلى نظام المدفوعات في صورة حقول ثابتة التنسيق يستطيع النظام التصرف على أساسها. يحتفظ نظام المدفوعات بالقرار، وكل ما ليس «نعم» واضحة يذهب إلى شخص.
تبنيه بوصفه لـOcto: دون سحب وإفلات، ودون مهارات تقنية في هذا الجزء. بناء كهذا يستغرق عادةً أيامًا، ويستغرق Octo نحو عشر دقائق. أما توجيه نظام المدفوعات الخاص بك إليه وإجراء مكالمات الاختبار فهو باقي ساعة، وهذا الجزء يحتاج إلى شخص يستطيع تغيير نظامك.
ما ستحصل عليه في النهاية
تدفق واحد، من أربع خطوات:
| الخطوة | ما الذي يحدث |
|---|---|
| Webhook in | يرسل نظام المدفوعات الحالة: المستثمر، والمبلغ، والصندوق، ورقم الهاتف |
| Text | يتلقى المستثمر رسالة تمهيدية من رقمك، فيها المبلغ ورقم مرجعي |
| Call, and wait | يتصل به وكيل الذكاء الاصطناعي لديك. ينتظر التدفق انتهاء المكالمة وتحليلها |
| Signed result out | تعود إلى نظامك رسالة موقَّعة بالحقول ثابتة التنسيق |
لا يحرّك Omni Octo الأموال أبدًا. ليس له أي اتصال بقنوات الدفع لديك. كل ما يرسله هو إجابة.
قبل أن تبدأ: ما الذي تحتاج إليه
- رقم يستطيع إرسال الرسائل النصية والاتصال معًا. الرقم المجاني (toll-free) هو الخيار المعتاد. راجع كيف تحصل على رقم للرسائل النصية لعملك. يجب أن تظهر عليه الحالة Cleared to send ضمن /phone-numbers قبل أن تخرج الرسالة النصية.
- مكان تصل إليه النتيجة. وهو عنوان على نظام المدفوعات أو العمليات لديك يستطيع استقبال طلب POST والتحقق من توقيع.
- سر توقيع، يتشاركه الطرفان. لا يستطيع Octo حفظ الأسرار، لذلك تحفظ هذا السر بنفسك في الخطوة التالية.
الخطوة ١ — احفظ سر التوقيع
اذهب إلى Integrations ← Add integration واختر Webhook signing secret. أعطه اسمًا ستتعرف عليه، مثل Saltmarsh payments system. الصق السر، وتحت How the sender uses it اختر Signs each webhook (HMAC). ثم اضغط Save.
يؤدي التكامل نفسه المهمتين في هذا التدفق. فهو يتحقق من الحالة الواردة، ويوقّع النتيجة الصادرة.
لا حاجة إلى إضافة عنوان نظامك يدويًا. يقترحه Octo في الخطوة التالية، على بطاقة توافق عليها أنت.
الخطوة ٢ — اطلب من Octo أن يبنيه
افتح محادثة جديدة مع Octo وصف المهمة. الفقرة الأولى أدناه هي الطلب. أما التفاصيل فهي لكي لا يضطر Octo إلى تخمين أسماء حقولك:
ابنِ خط تحقق بالاتصال العكسي لشركة Saltmarsh Funds، وهي شركة صناديق استثمار مشتركة. عندما يرسل نظام المدفوعات لدينا حالة إليك، أرسل إلى المستثمر رسالة نصية تمهيدية ثم اتصل به. تأكد من أنك تتحدث مع المستثمر بالاسم، واقرأ عليه الطلب، واسأله إن كان قد قدّمه. إذا كانت الإجابة نعم فتُدفع اليوم؛ وإذا كانت لا، أو غير متأكد، أو أراد التحدث مع شخص، فتبقى معلّقة ويتصل به متخصص في الاحتيال خلال ساعة. ثم أرسل النتيجة إلى نظام المدفوعات لدينا.
التفاصيل
- تدفق واحد. المشغّل: ويبهوك يتحقق من
X-Signature-256باستخدام التكامل “Saltmarsh payments system”. تبدو الحالة هكذا:{"case_id":"SF-20931","investor_name":"Jordan Lee","fund":"Saltmarsh Growth Fund","amount":"$20,000","bank_last4":"7731","bank_changed_on":"October 27","phone":"+1…"}- رسالة نصية ثم مكالمة، من رقمنا المجاني. الرسالة: “Saltmarsh Funds: نتصل بك الآن من هذا الرقم بشأن طلب استرداد بقيمة {amount}، المرجع {case_id}. لن نطلب منك كلمة المرور أبدًا.” انتظر حتى تنتهي المكالمة (بحد أقصى 10 دقائق)، واحمل رقم الحالة في المكالمة. يجب أن تُجري كل حالة مكالمة جديدة، حتى مع رقم الحالة نفسه. فعّل ساعات الهدوء في الخطوتين.
- الوكيل: تحية محايدة بلا أي اسم. السؤال الأول: “هل أتحدث مع {investor_name}؟” إن لم يكن هو، فاعتذر، ولا تشارك أي شيء، وأنهِ المكالمة. وإن كان هو، فاقرأ المبلغ والصندوق وآخر أرقام الحساب المصرفي وتاريخ تغيير البيانات المصرفية، واسأل “هل قدّمتَ أنت هذا الطلب؟” أعطه الرقم المرجعي، وودّعه، وأنهِ المكالمة بنفسك. لا تطلب أبدًا كلمات مرور أو أرقام حسابات أو أرقام الضمان الاجتماعي. لا تقدّم نصيحة مالية.
- Dialog Insight على الوكيل، بهذه الحقول بالضبط:
case_id(نص)،outcome(released أو held)،request_recognized(yes أو no أو unsure)،hold_reason(none أو not_recognized أو wants_specialist أو no_answer)،summary.- بعد المكالمة، في التدفق نفسه: طلب POST موقَّع إلى
https://payments.saltmarsh.example/hooks/octoيحمل هذه الحقول وحالة المكالمة. إذا لم تُجَب المكالمة أو جرى تخطيها، فأرسلoutcome: "held"وhold_reason: "no_answer".- وافق على هذا العنوان في التكامل، وتحقق، واترك التدفق غير مفعّل، وأعطني عنوان الويبهوك الخاص به.
يبني Octo الوكيل والـDialog Insight والتدفق من هذه الرسالة الواحدة. وقد يسألك عن المنطقة الزمنية أو عمّا يفعله بالمكالمات خارج ساعات الاتصال.
يتوقف Octo ويسأل قبل أن ينشئ أي شيء أو يوافق عليه أو يشغّله. اقرأ كل بطاقة وأكّدها، ومنها بطاقة Approve address. هذه البطاقة هي الطريقة الوحيدة التي يُسمح بها للتدفق بالإرسال إلى نظامك.
الخطوة ٣ — وجّه نظامك إليه
يعطيك Octo عنوان الويبهوك. ويمكنك أيضًا أن تجده في تبويب Overview الخاص بالتدفق، في بطاقة Webhook endpoint، مع زر Copy وحالة:
- Ready: يعمل، وسر التوقيع محفوظ
- Inactive: لم يُشغَّل بعد، لذلك تُرفض رسائل نظامك
- Setup incomplete: ما زال هناك شيء ناقص
اضبط نظام المدفوعات لديك ليرسل كل حالة معلّقة بطلب POST إلى هذا العنوان، موقَّعة بالسر من الخطوة ١. ثم قل لـOcto “فعّله”.
الخطوة ٤ — اختبر على هاتفك أنت
أرسل حالة اختبار فيها رقمك أنت، وأجب، وجرّب كل إجابة قد يعطيها مستثمر:
| ما تقوله | ما ينبغي أن يقوله الوكيل | ما ينبغي أن يصل نظامك |
|---|---|---|
| ”نعم، كان ذلك أنا” | ستُدفع اليوم، مع الرقم المرجعي | released، yes، none |
| ”لا، لم أقدّم هذا الطلب” | هي معلّقة، وسيتصل بك متخصص في الاحتيال خلال ساعة | held، no، not_recognized |
| ”هل يمكنني التحدث مع شخص؟“ | رسالة التعليق نفسها | held، wants_specialist |
| دعها تذهب إلى البريد الصوتي | لا شيء عن الحالة | held، no_answer |
تصل النتيجة بعد انتهاء المكالمة بثوانٍ قليلة، بمجرد أن يكتمل التحليل.
هل تختبر خارج ساعات الاتصال؟ لا تُطفئ ساعات الهدوء. اطلب من Octo أن يشغّل التدفق مرة واحدة على رقمك أنت. هذا التشغيل يستطيع الاتصال بك وحدك، ويبقى الإعداد كما كان. وتُتخطى الرسائل النصية في هذا التشغيل أيضًا، لذلك اختبر الرسالة النصية خلال ساعات الاتصال.
إذا بدا شيء خاطئًا، فاطلب من Octo أن يعرض عليك آخر تشغيل ويشرحه. وتجد الخطوات ونتائجها أيضًا ضمن Runs في التدفق.
وحدة التحكم في هذا الدليل وفي الفيلم
بنينا وحدة تحكم صغيرة للعمليات لنُظهر كيف يبدو هذا من مقعد فريق المدفوعات. وهي بديل عن نظامك أنت: Saltmarsh Funds وهمية، وكذلك حالاتها وأشخاصها. وقد تكون شاشتك أنت أي شيء يستطيع إرسال طلب POST والتحقق من توقيع.
الضغط على الزر لا يفعل سوى إرسال الحالة إلى عنوان الويبهوك الخاص بالتدفق. يستطيع نظام المدفوعات لديك إرسال الحالة نفسها من تلقاء نفسه فور أن يضع علامة على دفعة، دون أن يضغط أحد على شيء.
هذه هي النتائج الثلاث التي قد تعود بها الحالة. وفي الثلاث، تتحقق وحدة التحكم من التوقيع قبل أن تقرأ أي حقل.
المستثمر لم يقدّم الطلب. تبقى الدفعة معلّقة وتذهب الحالة إلى فريق الاحتيال.
المستثمر أكّد الطلب. يستطيع نظامك الإفراج عن الدفعة.
لم يرد أحد. يُحتسب البريد الصوتي على أنه دون إجابة، فيبقى المال حيث هو.
ما الذي يعود
النتيجة ليست نصًّا مفرَّغًا للمكالمة. إنها الحقول التي سمّيتها، موقَّعة:
{
"case_id": "SF-20931",
"outcome": "held",
"request_recognized": "no",
"hold_reason": "not_recognized",
"summary": "المستثمر لم يقدّم الطلب ولم يغيّر حسابه المصرفي. أُبلغ بأن متخصصًا في الاحتيال سيتصل خلال ساعة.",
"status": "completed"
}
تحقق من التوقيع قبل أن تقرأ أي شيء آخر. ثم عامل كل ما ليس outcome: "released" على أنه معلّق، بما في ذلك حقل مفقود أو نتيجة لا تصل أبدًا. التدفق الذي يفشل ينبغي أن يترك المال حيث كان.
الحقول هي Dialog Insight، لذلك يمكنك رؤيتها على المكالمة نفسها أيضًا. افتح المكالمة في Conversations لتجد الـDialog Insight بجانب النص الكامل للمحادثة. هذا ما يقرأه المتخصص في الاحتيال قبل أن يعاود الاتصال.
إبقاء شخص في الحلقة
يشارك شخص في ثلاث نقاط:
- قبل أن يبدأ العمل فعليًا. لا يبني Octo شيئًا ولا يشغّل شيئًا دون بطاقة أكّدها أحدهم.
- بعد كل مكالمة ليست «نعم» واضحة. يوجّه نظامك الحالات المعلّقة إلى فريق الاحتيال. وقد قيل للمستثمر إن متخصصًا سيتصل به، فلا بد أن يتصل أحد.
- قبل الإفراج، إن أردت. اطلب من Octo أن يضيف خطوة موافقة بعد المكالمة. ينتظرها التدفق، ويجيب الموافق المحدد بـ Approve أو Reject على صفحة التشغيل الخاصة بالتدفق. وفي المبالغ الكبيرة، تستحق هذه الدقيقة الإضافية.
ويمكنك أيضًا تغيير التدفق بوصف التغيير. مثلًا: “عندما يُعلَّق طلب استرداد، أرسل أيضًا بريدًا إلكترونيًا إلى مكتب الاحتيال يتضمن رقم الحالة والسبب والملخص.”
ما لا يفعله هذا
- ليس تحققًا من الهوية. يسأل الوكيل إن كان يتحدث مع الشخص المذكور في الحالة، ويصدّق كلمته. وما يجعله اتصالًا عكسيًا هو أنك تتصل بالرقم المسجَّل، فلا تتصل برقم وصل مع الطلب.
- تأتي الإجابة بعد المكالمة، لا أثناءها. لا يصل شيء إلى نظامك إلى أن تنتهي المكالمة ويجري تحليلها.
- تسري ساعات الاتصال. افتراضيًا تحترم الخطوتان ساعات الاتصال: من 9 صباحًا إلى 8 مساءً في كل منطقة زمنية من بلد المستثمر، وهو ما يعادل للولايات المتحدة وكندا من 9 صباحًا إلى 4 عصرًا بتوقيت المحيط الهادئ في الشتاء. وخارج هذه الساعات تُتخطى الخطوة ولا تُؤجَّل، فتعود الحالة بالقيمة
no_answer. - يُحتسب البريد الصوتي دون إجابة، ويعود بالقيمة
no_answer. ولا ينبغي للوكيل أن يترك تفاصيل الحالة في رسالة. - الحقول هي قراءة ذكاء اصطناعي لمحادثة. وهي صحيحة في الغالب، وقد تكون خاطئة. ولهذا يُعلَّق كل ما ليس «نعم» واضحة، ولهذا توجد خطوة الموافقة.
- نص الوكيل تعليمة. “لا تطلب كلمة مرور أبدًا” شيء تقوله للوكيل وتختبره في مكالماتك، وليس حاجزًا تقنيًا.
- الردود على الرسالة النصية تذهب إلى أي وكيل يجيب على ذلك الرقم. تحقق من هذا قبل أن تبدأ العمل فعليًا. اطلب من Octo أن يوجّه الردود إلى وكيل التحقق أو إلى شخص، وإلا فقد تصل عبارة المستثمر “هل كان هذا أنتم فعلًا؟” إلى وكيل الدعم العام لديك.