إنشاء صندوق بريد جديد

يتضمن مركز مساعدة زيتون افتراضيًا صندوقي بريد: الصندوق الوارد والصندوق المزعج، ويمكنك إضافة صناديق بريد أخرى إلى المركز بالعدد الذي تسمح به خطة اشتراكك، سنشرح في هذا المقال عدة طرق لإنشاء صندوق بريد جديد في مركز المساعدة.

إنشاء صندوق بريد جديد

توفر لك الواجهة البرمجية لزينون إمكانية إنشاء صناديق البريد وتخصيصها بالطريقة التي تناسبك باستخدام إحدى نقطتي الاتصال التاليتين:

  • inboxes/ تساعدك على إنشاء صندوق بريد جديد، وضبط إعداداته الأساسية مثل: الاسم، والوصف، ورسالتي الرد التلقائي والتقييم كمرحلة أولى، ثم ستحتاج بعدها نقاط اتصال endpoints أخرى لضبط بقية الإعدادات ومنها: عناوين البريد المرتبطة بالصندوق، وفرق العمل التي تملك صلاحيات عليه وغير ذلك (سنذكرها بالتفصيل في فقرة "تعديل إعدادات صندوق البريد وتخصيصه").
  • inboxes/save/ تساعدك على إنشاء صندوق بريد جديد، وضبط كافة إعداداته بطلب POST واحد دون الحاجة لأي نقطة اتصال أخرى، كما تُسَتخدَم نقطة الاتصال هذه لغرض آخر وهو تعديل إعدادات صندوق بريد موجود باستخدام رقمه التعريفي كما سنشرح لاحقًا.

ملاحظة: سيأخذ كل صندوق بريد جديد تُنشئه جميع حالات المحادثات المُعَرَّفة في مركز المساعدة من دون الحاجة لأي إعدادات خاصة، علمًا أنه يتوفر في مراكز مساعدة زيتون حالتين افتراضيتين للمحادثات هما: مفتوحة open ومغلقة closed ويمكنك إنشاء حالات إضافية (مثل: قيد المعالجة أو بانتظار الرد أو غيرها) وضبطها كما تريد باستخدام نقطة الاتصال conversation-statuses/.

أمثلة

سنطبق جميع أمثلتنا على مركز مساعدة تجريبي يدعى "المناسب al-munasib" له النطاق الفرعي al-munasib.zaetoon.com.

مثال1: سننشئ صندوق بريد بواسطة نقطة الاتصال inboxes/ وبالرجوع للتوثيق الرسمي لنقطة الاتصال يتبين لنا التالي:

  • عنوان URL:
    https://al-munasib.zaetoon.com/api/agent/v1/inboxes
  • نوع الطلب: POST.
  • جسم الطلب Body: يُكتب بصيغة JSON ويتضمن المُعاملات التالية:
    • name: معامل إجباري، نوعه سلسلة نصية string، يُحَدِّد اسم صندوق البريد الجديد.
    • description: معامل اختياري، نوعه سلسلة نصية string، تكتب ضمنه وصفًا مختصرًا لصندوق البريد الجديد، مثلًا الغاية منه أو نوع الرسائل التي تود تخصصه لها.
    • slug: معامل إجباري، نوعه سلسلة نصية string، يساعدك على إنشاء رابط سهل القراءة والفهم للوصول إلى صندوق البريد الجديد، فعلى سبيل المثال إذا كانت قيمة slug لصندوق بريدنا الجديد على مركز مساعدة "المناسب" هي "new-inbox" فيمكنك الوصول إلى صفحة إعداداته مباشرةً من الرابط: https://al-munasib.zaetoon.com/dashboard/settings/inboxes/new-inbox/edit
    • send_autoresponse: معامل اختياري، نوعه منطقي boolean، بإعطائه القيمة true فإنك تُفَعِّل ميزة الرد التلقائي على الرسائل التي ترد لصندوق البريد الجديد، وبإعطائه القيمة false تُلغي هذه الميزة.
    • autoresponse_text: نوعه سلسلة نصية string، ويُحَدِّد نص رسالة الرد التلقائي التي ستصل للعميل عند فتحه محادثة جديدة مع مركز المساعدة سواء عبر البريد الإلكتروني أو في المحادثات المباشرة.
    • sort: معامل اختياري، نوعه عدد صحيح integer، يساعدك على إعطاء رقم مميز لصندوق البريد الجديد يُحَدِّد تسلسله ضمن صناديق بريد مركز المساعدة، وإذا لم تضبط قيمة المعامل sort عند إنشاء الصندوق فإن زيتون ستمنحه قيمةً تلقائية تلي آخر قيمة sort موجودة، وبالتالي تجعله في نهاية ترتيب صناديق البريد، ويُساعدك هذا المُعَامِل على التحكم بترتيب عرض صناديق البريد وفرزها تصاعديًّا أو تنازليًّا تبعًا لقيمة sort.
    • send_rating_request: معامل اختياري، نوعه منطقي boolean، بإعطائه القيمة true فإنك تُفَعِّل ميزة إرسال رسالة تطلب من العميل تقييم محادثته مع فريق مركز المساعدة، وبإعطائه القيمة false تُلغي هذه الميزة.
    • rating_message: نوعه سلسلة نصية string، ويُحَدِّد نص رسالة التقييم التي ستصل للعميل بعد إغلاق محادثته مع مركز المساعدة وذلك عبر البريد الإلكتروني أو في المحادثات المباشرة.

لنكتب الآن مثالًا عن أمر إنشاء صندوق بريد جديد بواسطة الأداة cURL:

curl -X POST --header 'Content-Type: application/json' --header 'Authorization: Bearer your_token' --data '{
"name": "your_inbox_name",
"description": "your_inbox_description",
"slug" :"your-inbox-slug",
"send_autoresponse": true,
"autoresponse_text": "your_autoresponse_text",
"send_rating_request": true,
"rating_message": "your_rating_message"
}' 'https://al-munasib.zaetoon.com/api/agent/v1/inboxes'

مثال2: لننشئ صندوق بريد بواسطة نقطة الاتصال inboxes/save/ بناءً على التوثيق الرسمي لنقطة الاتصال تتضح لنا مواصفات الطلب:

  • عنوان URL:
    https://al-munasib.zaetoon.com/api/agent/v1/inboxes/save
  • نوع الطلب: POST.
  • جسم الطلب Body: يُكتب بصيغة JSON ويتضمن المعاملات التالية:
    • id: نوع المعامل عدد صحيح integer. يُطلب هذا المُعَامِل فقط عندما تستخدم نقطة الاتصال لتعديل بيانات أحد صناديق البريد، فهو يُحَدِّد الصندوق المطلوب تعديله، أما عندما تستخدمها لإنشاء صندوق بريد جديد فلا حاجة لاستخدامه إذ يُمنح الرقم التعريفي للصندوق الجديد آليًّا. مع التذكير أنك تستطيع معرفة أرقام id لصناديق البريد بإرسال طلب GET إلى inboxes/.
    • name: معامل إجباري، نوعه سلسلة نصية string، يُحَدِّد اسم صندوق البريد.
    • description: معامل اختياري، نوعه سلسلة نصية string، تكتب ضمنه وصفًا مختصرًا لصندوق البريد.
    • slug: معامل إجباري، نوعه سلسلة نصية string، يساعدك على إنشاء رابط سهل القراءة والفهم للوصول إلى صندوق البريد.
    • sort: معامل اختياري، نوعه عدد صحيح integer، يساعدك على إعطاء رقم مميز لصندوق البريد يُحَدِّد تسلسله أو ترتيبه ضمن صناديق مركز المساعدة، وإذا لم تضبط قيمته عند إنشاء الصندوق فإن زيتون ستمنحه قيمةً تلقائية تلي آخر قيمة sort موجودة وبالتالي تجعله في نهاية ترتيب صناديق البريد.
    • send_autoresponse: معامل اختياري، نوعه boolean، يأخذ القيمة true أو false، بإعطائه القيمة true فإنك تُفَعِّل ميزة الرد التلقائي على الرسائل التي ترد لصندوق البريد، وبإعطائه القيمة false تُلغي هذه الميزة.
    • autoresponse_text: نوعه سلسلة نصية string، ويُحَدِّد نص رسالة الرد التلقائي التي ستصل للعميل عند فتحه محادثة جديدة مع مركز المساعدة سواء عبر البريد الإلكتروني أو في المحادثات المباشرة.
    • emails: معامل اختياري، يُحَدِّد عناوين البريد الإلكتروني المرتبطة بصندوق البريد، نوعه مصفوفة array مكونة من عدة عناصر objects يمثل كل عنصر بريد إلكتروني معين، نُحَدِّد فيه عنوان البريد الإلكتروني email والحالة status إذا كان بريد أساسي primary للصندوق أو ثانوي secondary.
    • team_ids: معامل اختياري، نوعه مصفوفة أعداد صحيحة array، تُمَرِّر فيه الأرقام التعريفية لفرق العمل التي ترغب بأن يكون لها صلاحيات على صندوق البريد.
    • agent_ids: معامل اختياري، نوعه مصفوفة أعداد صحيحة array، تُمَرِّر فيه الأرقام التعريفية للمستخدمين الذين ترغب بمنحهم صلاحيات على صندوق البريد.
    • send_rating_request: معامل اختياري، نوعه boolean، بإعطائه القيمة true فإنك تُفَعِّل ميزة إرسال رسالة إلى العميل لتقييم محادثته مع فريق مركز المساعدة، وبإعطائه القيمة false تُلغي هذه الميزة.
    • rating_message: نوعه سلسلة نصية string، ويُحَدِّد نص رسالة التقييم التي ستصل للعميل بعد إغلاق محادثته مع مركز المساعدة عبر البريد الإلكتروني أو المحادثات المباشرة.

ولنستعرض الآن مثالًا عمليًا عن استخدام نقطة الوصول هذه لإنشاء صندوق بريد جديد:

curl -X POST --header 'Content-Type: application/json' --header 'Authorization: Bearer your_token' --data
'{
"name": "new_inbox_name",
"description": "new_inbox_description",
"slug" :"new-inbox",
"sort": 6,
"send_autoresponse": true,
"autoresponse_text": "your_autoresponse_text",
"emails": [
{"email": "support1@al-munasib.zaetoonemail.com", "status": "primary"},
{"email": "support2@exampel.com", "status": "secondary"}
],
"send_rating_request": true,
"rating_message": "your_rating_message",
"team_ids": [2256, 2142],
"agent_ids": [1512]
}' 'https://al-munasib.zaetoon.com/api/agent/v1/inboxes/save'

انتبه: ينبغي أن يكون البريد الإلكتروني الأساسي لصندوق البريد على نطاق مركز المساعدة مثل: anything@{your_subdomain}.zaetoonemail.com أما البريد الإلكتروني الثانوي فيمكن أن يكون على أي نطاق فرعي مُعَرَّف على المركز.