الردود السريعة
الرد السريع مقطع محفوظ يُدرجه الموظف في صندوق الكتابة. وهو ليس قالبًا: لا شيء يُرسَل للاعتماد، ولا شيء يُرسَل من هذا القسم، والنص نص حر عادي.
الرد السريع
يحمل العنصر الواحد نصَّي اللغتين معًا، ويجب وجود أحدهما على الأقل. وهذا مقصود: الخادم لا يختار لغة أبدًا، لأن صندوق الكتابة يعرف لغة جهة الاتصال والواجهة البرمجية لا تعرفها. أما قوالب الرسائل المعتمدة فشيء مختلف تمامًا — انظر القوالب.
| الحقل | النوع | الوصف |
|---|---|---|
| shortcut | string | ما يكتبه الموظف بعد الشرطة المائلة. فريد داخل مساحة العمل. |
| title | string | التسمية البشرية في المكتبة. |
| body_en, body_ar | string | null | النصّان الإنجليزي والعربي. يجوز أن يكون أحدهما null لا كلاهما. |
| sort_order | number | ترتيب المشغّل. الخادم يملك القيمة، فلا تحسبها بنفسك. |
| use_count, last_used_at | number, string | null | كم مرة أُدرج، ومتى كان آخر إدراج. |
اختر اللغة في العميل
اقرأ locale لجهة الاتصال، وخذ النص المقابل، وارجع إلى اللغة الأخرى لا إلى لا شيء — فرد بلغة غير مناسبة أنفع من صندوق كتابة فارغ. ولاحظ أن حقل contact المضمّن في المحادثة لا يحمل locale، فمعرفتها تتطلب قراءة جهة الاتصال.
المصادقة والنطاقات
لم يُستحدث تصريح خاص بالردود السريعة، بل تعيد استخدام ثلاثة تصاريح قائمة. ولذلك يستطيع دور agent قراءتها واستخدامها ولا يستطيع إدارتها.
| الصلاحية | تُستخدم في |
|---|---|
| messages.read | العرض والقراءة. |
| templates.manage | الإنشاء والتعديل والحذف وإعادة الترتيب. |
| messages.send | تسجيل الاستخدام. |
نقاط النهاية
curl -X POST https://whats.azzamkh.sa/api/v1/quick-replies \
-H "Authorization: Bearer $WA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"shortcut": "hours",
"title": "Opening hours",
"body_en": "We reply Sunday to Thursday, 9am to 5pm.",
"body_ar": "نرد من الأحد إلى الخميس، 9 صباحًا حتى 5 مساءً."
}'
# 201 Created
# {
# "id": "qr_...",
# "shortcut": "hours",
# "title": "Opening hours",
# "body_en": "...",
# "body_ar": "...",
# "sort_order": 30,
# "use_count": 0,
# "last_used_at": null,
# ...
# }
# Search is a PREFIX match on the shortcut, not a search over titles:
curl "https://whats.azzamkh.sa/api/v1/quick-replies?q=hou" \
-H "Authorization: Bearer $WA_API_KEY"
# Clearing ONE language is an explicit null. Omitting the field leaves it.
curl -X PATCH https://whats.azzamkh.sa/api/v1/quick-replies/qr_... \
-H "Authorization: Bearer $WA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "body_en": null }'سلوك يستحق المعرفة
- المعامل
?q=مطابقة بادئة على الاختصار، لا بحث تقريبي في العناوين. والمطابقة بالبادئة هي ما يجعل الكتابة حتمية. - تعود القائمة بترتيب المشغّل، مُرقَّمة على
(sort_order, public_id). اعرضها كما وردت ولا ترتّبها في العميل. ويأخذPATCH /v1/quick-replies/orderمعرّفات مرتّبة لا مواضع، تحديدًا كي لا يحسب أي عميل ترتيبه الخاص. - في
PATCHتمسحnullلغة واحدة، ويترك غياب الحقل قيمته كما هي. والسلسلة الفارغة ليست نصًا مقبولًا، فإفراغ حقل يجب أن يُرسل كـnullوإلا أُسقط التعديل بصمت. - المسار
POST …/useللمحاسبة فقط — لا يرسل شيئًا. أرسل الرسالة عبر المحادثة كالمعتاد ثم سجّل الاستخدام. - الإنشاء والاستخدام محدودان لكل مساحة عمل: 120 إنشاءً في الدقيقة، و600 استخدام في الدقيقة، و60 إعادة ترتيب في الدقيقة.
الأخطاء المهمة هنا
| الرمز | HTTP | متى يحدث |
|---|---|---|
| QUICK_REPLY_NOT_FOUND | 404 | لا يوجد رد سريع بهذا المعرّف في مساحة العمل هذه. |
| QUICK_REPLY_SHORTCUT_TAKEN | 409 | هناك رد سريع آخر يستخدم هذا الاختصار. |
| VALIDATION_ERROR | 422 | كان النصّان فارغين، أو أحد الحقول بصيغة خاطئة. |
| RATE_LIMITED | 429 | عدد كبير من عمليات الإنشاء أو الاستخدام أو إعادة الترتيب في النافذة. |
كل رمز وحالته في صفحة الأخطاء.