عرض كافة المحادثات

نشرح في هذا المقال عرض محادثات مركز المساعدة وترتيبها وتصفيتها بناء على عدة عوامل.

طلب GET لعرض المحادثات

تساعدك نقطة الاتصال conversations/ على عرض محادثات مركز المساعدة وترتيبها وتصفيتها تبعًا لعدة عوامل مثل التاريخ، وحالة المحادثة مفتوحة open أو مغلقة closed، وصندوق البريد الذي تنتمي له المحادثة وغيرها من الخيارات.

عنوان URL لنقطة الاتصال

https://{your_subdomain}/api/agent/v1/conversations

معاملات الاستعلام

after

نوعه مصفوفة array، يساعد على عرض المحادثات التي يتجاوز رقم تعريفي معين فيها قيمة محددة.

before

نوعه مصفوفة array، يساعد على عرض المحادثات التي يقل رقم تعريفي معين فيها عن قيمة محددة.

agent_ids

نوعه مصفوفة array، يساعدك على عرض المحادثات التي يتابعها وكلاء أو موظفون معينون في مركز المساعدة بناءً على الرقم التعريفي للوكيل.

archived

نوعه منطقي boolean، بإعطائه القيمة true تُعرض المحادثات المؤرشفة فقط، وبإعطائه القيمة false تُعرض كافة المحادثات ما عدا المحادثات المؤرشفة.

assign_to

نوعه مصفوفة array، تكتب ضمنه الأرقام التعريفية للوكلاء agents الذين تود عرض المحادثات المُسندة إليهم.

contact_ids

نوعه مصفوفة array، تكتب ضمنه الأرقام التعريفية للأشخاص contacts الذين تواصلوا مع مركز المساعدة، ويساعدك على عرض المحادثات المتعلقة بأشخاص محددين.

conversation_status_ids

نوعه مصفوفة array، تكتب ضمنه الأرقام التعريفية لحالات المحادثات، ويساعدك على تصفية المحادثات المعروضة تبعًا لحالة معينة أو مجموعة حالات معينة.

expand

نوعه مصفوفة array، يساعد على تحديد المعلومات التي تود عرضها عن كل محادثة، ويقبل القيم التالية:

  • inbox صندوق البريد الذي تتبع له المحادثة.
  • conversation_status حالة المحادثة.
  • created_by مُنشئ المحادثة.
  • last_message أحدث رسالة في المحادثة.
  • tags الوسوم التي تندرج تحتها المحادثة.
  • assigned_agent الوكيل المُسندة إليه المحادثة.
  • reviews تقييمات المحادثة.

form_date

نوعه سلسلة نصية string، يساعدك على عرض المحادثات ابتداءً من تاريخ معين.

to_date

نوعه سلسلة نصية string، يساعدك على عرض المحادثات لغاية تاريخ معين، وباستخدامه مع المعامل from_date السابق يمكنك إظهار المحادثات بين تاريخين.

inbox_ids

نوعه مصفوفة array، يساعدك على عرض المحادثات التابعة لصناديق بريد معينة فقط، إذ تكتب ضمنه الأرقام التعريفية لصناديق البريد، علمًا أنك تستطيع الحصول عليها بإرسال طلب GET إلى نقطة الاتصال

inboxes/

.

last_reply_by

نوعه سلسلة نصية string، يقبل إحدى قيمتين فقط contact أو agent، بإعطائه القيمة contact ستظهر لك المحادثات التي كانت آخر رسالة فيها من الشخص المُرسِل، وبإعطائه القيمة agent ستحصل على المحادثات التي كانت آخر رسالة فيها من أحد الوكلاء.

limit

نوعه عدد صحيح integer، يساعدك على التحكم بعدد المحادثات المعروضة في الاستجابة response، قيمته الافتراضية 6 ما لم تعطه قيمة مغايرة.

query

نوعه سلسلة نصية string، وهو مخصص للبحث في الحقول النصية، مثل: اسم الشخص، أو نص الرسالة أو غيره، ويساعدك على اظهار المحادثات التي تتضمن كلمات معينة

replied_agent_ids

نوعه مصفوفة array، يساعدك على عرض المحادثات التي رد عليها وكيل في مركز مساعدة بناءً على الرقم التعريفي.

sort

نوعه سلسلة نصية string، يساعدك على ترتيب المحادثات تصاعديًا أو تنازليًا تبعًا لعدة عوامل.

  • لترتيبها من أقدم محادثة إلى أحدث محادثة أو العكس استخدم created_at.desc أو created_at.asc.
  • لترتيبها من أقدم رسالة إلى أحدث رسالة أو العكس استخدم send_message_at.asc أو send_message_at.desc.
  • لترتيبها حسب عدد الرسائل ضمن كل محادثة من الأكثر إلى أقل أو العكس استخدم messages_count.desc أو messages_count.asc.

status

نوعه سلسلة نصية string، يساعدك على عرض المحادثات التي تتصف بحالة محددة، وذلك بكتابة اسم الحالة مثل opened أو closed وليس رقمها التعريفي كما في المعامل conversation_status_ids ويمكنك تصفية المحادثة هنا وفق عدة حالات.

tags

نوعه مصفوفة array يساعد على عرض المحادثات التي لها وسوم معينة حيث تمرر للمصفوفة أسماء هذه الوسوم.

أمثلة

لنطبق بعض الأمثلة باستخدام الأداة cURL على مركز مساعدة له النطاق support.example.com.

عرض جميع المحادثات

أرسل طلب GET إلى نقطة الاتصال conversations/ دون كتابة أي معامل كما يلي:

curl --header 'Authorization: Bearer your_token' 'https://support.example.com/api/agent/v1/conversations'

عرض المحادثات المرسلة بعد تاريخ معين

للحصول على المحادثات التي أرسلت آخر رسالة فيها بعد تاريخ محدد نعطي المعامل after قيمة تشبه T07:00:00‎‏2024-08-01‏ كما في المثال التالي:

curl --globoff --header 'Authorization: Bearer your_token' 'https://support.example.com/api/agent/v1/conversations?after[send_message_at]=01-08-2024T07%3A00%3A00' 

تفيد الراية globoff-- في تعطيل ميزة globbing ضمن curl وهذا ضروري لكون الطلب يتضمن أقواس ونريد معاملتها كمحارف دون تفسير الأقواس وتوسعتها كمجموعة من الروابط.

عرض المحادثات التي يتابعها وكيل

لعرض المحادثات التي يتابعها الوكيل رقم 1434 والوكيل رقم 1423 نكتب الطلب على النحو التالي:

curl --globoff --header 'Authorization: Bearer your_token' 'https://support.example.com/api/agent/v1/conversations?agent_ids[]=1434&agent_ids[]=1423'

عرض المحادثات المسندة لوكيل

لعرض المحادثات المسندة إلى الوكيل رقم 1434 نكتب الطلب على النحو التالي:

curl --globoff --header 'Authorization: Bearer your_token' 'https://support.example.com/api/agent/v1/conversations?assign_to[]=1434' 

عرض المحادثات المفتوحة التابعة لصندوق بريد

لعرض المحادثات المفتوحة التي تتبع لصندوق البريد رقم 2139 سنكتب:

curl --globoff --header 'Authorization: Bearer your_token' 'https://support.example.com/api/agent/v1/conversations?status=opened&inbox_ids[]=2139'

عرض المحادثات التي لها وسم معين

لعرض المحادثات التي تندرج تحت الوسم vip نكتب التالي:

curl --globoff --header 'Authorization: Bearer your_token' 'https://support.example.com/api/agent/v1/conversations?tags[]=vip'

عرض المحادثات المؤرشفة

يعرض الطلب التالي كافة المحادثات التي تمت أرشفتها:

curl --header 'Authorization: Bearer your_token' 'https://support.example.com/api/agent/v1/conversations?archived=1'

عرض المحادثات التي تتضمن كلمة محددة

يعرض الطلب التالي جميع المحادثات التي تتضمن كلمة test:

curl --header 'Authorization: Bearer your_token' 'https://support.example.com/api/agent/v1/conversations?query=test'