تخطَّ إلى المحتوى
المحتويات
الإرسال والاستقبال

الردود السريعة

الرد السريع مقطع محفوظ يُدرجه الموظف في صندوق الكتابة. وهو ليس قالبًا: لا شيء يُرسَل للاعتماد، ولا شيء يُرسَل من هذا القسم، والنص نص حر عادي.

الرد السريع

يحمل العنصر الواحد نصَّي اللغتين معًا، ويجب وجود أحدهما على الأقل. وهذا مقصود: الخادم لا يختار لغة أبدًا، لأن صندوق الكتابة يعرف لغة جهة الاتصال والواجهة البرمجية لا تعرفها. أما قوالب الرسائل المعتمدة فشيء مختلف تمامًا — انظر القوالب.

الحقلالنوعالوصف
shortcutstringما يكتبه الموظف بعد الشرطة المائلة. فريد داخل مساحة العمل.
titlestringالتسمية البشرية في المكتبة.
body_en, body_arstring | nullالنصّان الإنجليزي والعربي. يجوز أن يكون أحدهما null لا كلاهما.
sort_ordernumberترتيب المشغّل. الخادم يملك القيمة، فلا تحسبها بنفسك.
use_count, last_used_atnumber, string | nullكم مرة أُدرج، ومتى كان آخر إدراج.

اختر اللغة في العميل

اقرأ locale لجهة الاتصال، وخذ النص المقابل، وارجع إلى اللغة الأخرى لا إلى لا شيء — فرد بلغة غير مناسبة أنفع من صندوق كتابة فارغ. ولاحظ أن حقل contact المضمّن في المحادثة لا يحمل locale، فمعرفتها تتطلب قراءة جهة الاتصال.

المصادقة والنطاقات

لم يُستحدث تصريح خاص بالردود السريعة، بل تعيد استخدام ثلاثة تصاريح قائمة. ولذلك يستطيع دور agent قراءتها واستخدامها ولا يستطيع إدارتها.

الصلاحيةتُستخدم في
messages.readالعرض والقراءة.
templates.manageالإنشاء والتعديل والحذف وإعادة الترتيب.
messages.sendتسجيل الاستخدام.

نقاط النهاية

GET/v1/quick-repliesPOST/v1/quick-repliesGET/v1/quick-replies/{quickReplyId}PATCH/v1/quick-replies/{quickReplyId}DELETE/v1/quick-replies/{quickReplyId}POST/v1/quick-replies/{quickReplyId}/usePATCH/v1/quick-replies/order
curl
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_FOUND404لا يوجد رد سريع بهذا المعرّف في مساحة العمل هذه.
QUICK_REPLY_SHORTCUT_TAKEN409هناك رد سريع آخر يستخدم هذا الاختصار.
VALIDATION_ERROR422كان النصّان فارغين، أو أحد الحقول بصيغة خاطئة.
RATE_LIMITED429عدد كبير من عمليات الإنشاء أو الاستخدام أو إعادة الترتيب في النافذة.

كل رمز وحالته في صفحة الأخطاء.