التعديل المتعدد لحالات النماذج

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

التعديل المتعدد لحالات النماذج في مركز المساعدة

تساعدك نقطة الاتصال forms/{form_id}/statuses/bulk-save/ على تعديل مجموعة من حالات النماذج دفعةً واحدة (أي بطلب POST واحد)، وقد يشمل هذا الطلب إنشاء حالات جديدة، وتعديل أو حذف حالات موجودة مسبقًا، وذلك وفق التالي:

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

https://{your_subdomain}/api/agent/v1/forms/{form_id}/statuses/bulk-save.

  • نوع الطلب: POST.
  • معاملات المسار Path Parameters: معامل واحد هو form_id، يُحَدِّد الرقم التعريفي للنموذج الذي تتبع له الحالات المُراد تعديلها، وهو معامل إجباري لتنفيذ الطلب.
  • جسم الطلب Body: يكتب بصيغة JSON ويتضمن معامل وحيد هو المصفوفة statuses التي تتألف من مجموعة عناصر objects. يمثل كل عنصر منها حالة status معينة، إما حالة جديدة نرغب بإنشائها، أو حالة موجودة ونرغب بتعديلها، أما الحالات التي لا تُذكر ضمن المصفوفة statuses فيجري حذفها. ويتألف كل عنصر (حالة) في المصفوفة statuses من عدة معاملات:
    • id: الرقم التعريفي للحالة، نوعه عدد صحيح integer، وهو معامل اختياري يستخدم للدلالة على الحالات التي نرغب بتعديلها، ولا حاجة له عند إنشاء حالات جديدة.
    • name: اسم الحالة، نوعه سلسلة نصية string، وهو معامل إجباري.
    • color: اللون المميز للحالة، نوعه سلسلة نصية string، وهو معامل إجباري.
    • sort: ترتيب الحالة بين حالات النموذج، نوعه عدد صحيح integer، وهو معامل إجباري.

مثال

لنوضح الأمر بمثالٍ عملي على مركز مساعدة تجريبي باسم "المناسب" له النطاق الفرعي al-munasib.zaetoon.com والذي يتضمن ثلاث حالات لنموذج "تواصل معنا" هي: الحالات الافتراضية "مفتوحة" و "مؤرشفة"، والحالة "بانتظار رد الفريق التقني" التي أنشأناها بنفسنا.

والآن إذا رغبنا بإرسال طلب تعديل جماعي (متعدد) لحالات النماذج يتضمن ما يلي:

إضافة حالة جديدة إلى النموذج رقم "1048" باسم "حالة تجريبية" مثلًا.

حذف حالة "بانتظار رد الفريق التقني" وتعديل ترتيب الحالات المتبقية ليصبح كما يلي:

  • "حالة تجريبية" بالترتيب الأول أي "sort=0".
  • "مفتوحة" بالترتيب الثاني "sort=1".
  • "مؤرشفة" بالترتيب الثالث "sort=2".

فسنكتب عندها الطلب على النحو التالي:

curl -X POST --header 'Content-Type: application/json' --header 'Authorization: Bearer your_token' --data '{
"statuses": [
{"name": "حالة تجريبية","color": "#f44336","sort":0},
{"id":2362, "name": "مفتوحة", "color": "#009688", "sort": 1},
{"id": "2363", "name": "مؤرشفة", "color": "#4caf50", "sort": 2}
]
}' 'https://al-munasib.zaetoon.com/api/agent/v1/forms/1048/statuses/bulk-save'