تعديل الملف الشخصي للوكيل
محتويات الصفحة
نشرح في هذا المقال خطوات تعديل الملف الشخصي للوكيل أو موظف مركز المساعدة.
طلب تعديل الملف الشخصي
يمكنك تعديل إعدادات حساب وكيل من خلال عدة نقاط اتصال:
1.النقطة account/profile/
أرسل طلب POST لنقطة account/profile/ لتعديل إعدادات الحساب الشخصية للوكيل الحالي الذي سجل دخول لمركز المساعدة، يمكنك تعديل الاسم، وكلمة المرور، والصورة الشخصية، والبريد الإلكتروني، وحالة الظهور وغيرها وفق ما يلي:
عنوان URL
support.example.com/api/agent/v1/account/profile
جسم الطلب Body
يُكتب بصيغة JSON ويتضمن المعاملات التالية:
first_name | معامل إجباري، نوعه سلسلة نصية string، يحدد الاسم الأول للوكيل. |
last_name | معامل إجباري، نوعه سلسلة نصية string، يحدد اسم عائلة الوكيل |
معامل إجباري، نوعه سلسلة نصية string، يحدد البريد الإلكتروني للوكيل. | |
password | معامل اختياري، نوعه سلسلة نصية string، تضبط بواسطته كلمة المرور الجديدة للوكيل إذا رغبت بتغييرها. |
password_confirmation | معامل اختياري، نوعه سلسلة نصية string، يستعمل لتأكيد كلمة المرور الجديدة. |
avatar | معامل اختياري، نوعه سلسلة نصية string، يُحَدِّد مسار تخزين الصورة الشخصية للوكيل على خادمك. |
notify_after | معامل اختياري، نوعه عدد صحيح integer، لا يقبل القيمة الفارغة null، ويدل على المدة الزمنية بالساعات التي سترسل بها زيتون إشعارات الوكيل غير المقروءة برسالة واحدة إلى بريده الإلكتروني، ويأخذ إحدى القيم التالية حصرًا: 2 أو 4 أو 6 أو 8 أو 12 أو 24. |
current_password | معامل إجباري في حالة واحدة فقط عند استخدام نقطة الاتصال لتغيير كلمة مرور الوكيل، نوع المعامل سلسلة نصية string، وهو يشير إلى كلمة المرور الحالية. |
locale | معامل اختياري، نوعه سلسلة نصية string، يحدد الإعدادات المحلية لحساب الوكيل ويقبل إحدى القيمتين ar أو en. |
online_status | معامل اختياري، نوعه سلسلة نصية string، يُحَدِّد حالة ظهور الوكيل ، ويقبل القيمة online أو away أو invisible أو inactive. |
مثال
لتعديل الاسم الأول، ومدة استلام رسالة الإشعارات للوكيل Ahmad Ali ذي الرقم 1434 من خلال كتابة اسمه الأول كاملًا بالحروف الإنجليزية الصغيرة، وتعديل مدة استلامه للإشعارات لتصبح 12 ساعة بدلًا من 6 ساعات، فسنكتب عندها التالي:
curl --header 'Content-Type: application/json' --header 'Authorization: Bearer your_token' -X POST --data '{
"first_name": "ahmad",
"last_name": "Ali",
"email": "Ahmad@exampel.com",
"notify_after": "12"
}' 'https://support.example.com/api/agent/v1/account/profile'
لاحظ أننا نمرر دائمًا في جسم الطلب المعاملات الإجبارية الثلاثة (وهي الاسم الأول واسم العائلة والبريد الإلكتروني) مع أي معاملات أخرى نرغب بتعديلها.
2. النقطة {agents/{id/
أرسل طلب PUT لنقطة الاتصال {agents/{id/ لتعديل إعدادات حساب أي وكيل في مركز المساعدة بالاعتماد على رقمه التعريفي id مثل الاسم، والحالة نشط active أو غير نشط inactive أو محذوف deleted، والبريد الإلكتروني، والصورة الشخصية، والنماذج وصناديق البريد الخاصة بالوكيل، وفرق العمل التي ينتمي إليها، وفئات الأشخاص الذين يستطيع العمل معهم، والحقول المخصصة التي لديه صلاحيات عليها وغير ذلك.
عنوان URL
https://support.example.com/api/agent/v1/agents/{id}
معاملات المسار
معامل واحد إجباري، هو الرقم التعريفي للوكيل id، نوعه عدد صحيح integer.
جسم الطلب Body
يُكتب بصيغة JSON ويتضمن المعاملات التالية:
first_name | معامل إجباري، نوعه سلسلة نصية string، يحدد الاسم الأول للوكيل. |
last_name | معامل إجباري، نوعه سلسلة نصية string، يحدد اسم عائلة الوكيل. |
معامل إجباري، نوعه سلسلة نصية string، يُحَدِّد البريد الإلكتروني للوكيل. | |
status | معامل إجباري، نوعه سلسلة نصية string، يُحَدِّد حالة حساب للوكيل، إذا كان فعّالًا أم لا، ويقبل القيمة active أو inactive أو deleted. |
password | معامل اختياري، نوعه سلسلة نصية string، تضبط بواسطته كلمة المرور الجديدة للوكيل إذا رغبت بتغييرها. |
password_confirmation | معامل اختياري، نوعه سلسلة نصية string، يستعمل لتأكيد كلمة المرور الجديدة. |
inbox_ids | معامل اختياري، نوعه مصفوفة أعداد صحيحة array، يُحَدِّد الأرقام التعريفية لصناديق البريد التي ترغب بأن يكون للوكيل صلاحية عليها، علمًا أنك تستطيع معرفة الأرقام التعريفية لصناديق البريد بإرسال طلب GET إلى نقطة الاتصال inboxes/. |
team_ids | معامل اختياري، نوعه مصفوفة أعداد صحيحة array، يُحَدِّد الأرقام التعريفية لفرق العمل التي ترغب بأن ينتمي إليها الوكيل، علمًا أنك تستطيع معرفة الأرقام التعريفية لفرق العمل بإرسال طلب GET إلى نقطة الاتصال teams/. |
form_ids | معامل اختياري، نوعه مصفوفة أعداد صحيحة array، يُحَدِّد الأرقام التعريفية لنماذج التواصل التي ترغب بأن يكون للوكيل صلاحية عليها، علمًا أنك تستطيع معرفة الأرقام التعريفية للنماذج بإرسال طلب GET إلى نقطة الاتصال forms/. |
locale | معامل اختياري، نوعه سلسلة نصية string، يُحَدِّد الإعدادات المحلية لحساب الوكيل ويقبل إحدى القيمتين ar أو en. |
custom_fields | يستخدم فقط في الحالات التي تنشئ فيها حقولًا مخصصة زيادة على الحقول التي توفرها زيتون افتراضيًا لتعريف الوكلاء فقد ترغب مثلًا بإضافة حقل لكتابة رقم هاتف الوكيل أو ربما لرفع صورة وثيقة تخصه أو غير ذلك. نوع المعامل مصفوفة array تتألف من عدة عناصر objects يمثل كل منها أحد الحقول المخصصة. |
segment_ids | معامل اختياري، نوعه مصفوفة أعداد صحيحة array، يُحَدِّد الأرقام التعريفية لفئات جهات الاتصال التي ترغب بأن يكون للوكيل صلاحية عليها، علمًا أنك تستطيع معرفة الأرقام التعريفية لفئات جهات الاتصال بإرسال طلب GET إلى نقطة الاتصال segments/. |
field_group_ids | معامل اختياري، نوعه مصفوفة أعداد صحيحة، تكتب ضمنه الأرقام التعريفية لمجموعة الحقول المخصصة الخاصة بتعريف الشركات وجهات الاتصال التي ترغب بأن يكون للوكيل صلاحية عليها، علمًا أنك تستطيع معرفة الأرقام التعريفية لمجموعات الحقول المخصصة وتبعيتها للموارد بإرسال طلب GET إلى نقطة الاتصال custom-fields/. |
مثال
لتعديل بعض خصائص الوكيل Ahamad Ali، مثل تعديل كلمة المرور الخاصة به، وصناديق البريد التي يمكنه العمل عليها، ونمنحه صلاحية الوصول إلى مجموعة معينة من مجموعات الحقول المخصصة لتكن على سبيل المثال المجموعة رقم 2053 . فسيكون الطلب كالتالي:
curl -X PUT --header 'Content-Type: application/json' --header 'Authorization: Bearer your_token' --data '{
"first_name": "ahmad",
"last_name": "Ali",
"email": "Ahmad@exampel.com",
"status": "active",
"password": "new_password",
"password_confirmation": "new_password",
"inbox_ids": [2019, 2058],
"field_group_ids": [2053]
}' 'https://support.example.com/api/agent/v1/agents/1434'
يجب الانتباه لأن أي صناديق بريد لا تذكر أرقامها التعريفية ضمن المصفوفة inbox_ids لن يعود للوكيل صلاحية عليها حتى لو كان يملك صلاحية عليها قبل تنفيذ الأمر، والقاعدة نفسها تنطبق على فرق العمل والنماذج والحقول المخصصة وأي مصفوفات أخرى تخص إعدادات الوكيل.
كما تجدر الإشارة إلى أنك تستطيع هنا تعديل كلمة مرور الوكيل من دون معرفة كلمة مروره الحالية بعكس نقطة الاتصال السابقة account/profile/ التي تتطلب تمرير كلمة المرور الحالية عند التعديل.
3. النقطة agents/{agent_id}/permissions/
أرسل طلب PUT لنقطة الاتصال agents/{agent_id}/permissions/ لتعديل صلاحيات وكيل معين بناءً على معرف الوكيل agent_id خاصة الذي لا ينتمي لأي فريق عمل.
عنوان URL
https://support.example.com/api/agent/v1/agents/{agent_id}/permission
معاملات المسار
معامل واحد إجباري هو الرقم التعريفي للوكيل agent_id، نوع المعامل عدد صحيح integer.
جسم الطلب Body
يُكتب بصيغة JSON ويتضمن المعاملات التالية
permission | معامل إجباري، نوعه سلسلة نصية string، يشير إلى اسم الصلاحية التي تريد منحها للوكيل أو سحبها منه، ويحمل مثلًا القيم التالية:
|
value | معامل إجباري، نوعه سلسلة نصية string، يأخذ إما القيمة true لمنح الوكيل صلاحية معينة أو false لسحب الصلاحية منه. |
مثال
لمنح صلاحية إدارة جهات الاتصال للوكيل رقم 1440 والذي لا ينتمي لأي فريق عمل نكتب التالي:
curl -X PUT --header 'Content-Type: application/json' --header 'Authorization: Bearer your_token' --data '{
"permission": "contacts.admin",
"value": "true"
}' 'https://support.example.com/api/agent/v1/agents/1440/permissions'