قبل البدء
أنشئ مفتاح API محدود النطاق من الحساب ← واجهة المطور معcontacts:read للقائمة والبحث
وقراءة جهة الاتصال. تتطلب الملفات الموحدة والنشاط والجداول الزمنية وعروض
العملاء المتقدمة أيضًا deals:read لأنها تحتوي بيانات الصفقات والمهام. أضف
contacts:write للإنشاء والتحديث والدمج. ويتطلب الدمج أن يكون المالك الحالي
للمفتاح مديرًا للحساب.
تستخدم مسارات /cdp (العملاء والجماهير والتفضيلات والعضوية والوصول والرحلات)
النطاقين cdp:read وcdp:write. وتستمر المفاتيح التي تملك contacts:* (أو
workflows:* للرحلات) في العمل.
إنشاء جهة اتصال
استخدمidentifier كمعرّف العميل الثابت في نظامك. يفرض HueChat تفرده داخل
الحساب الواحد.
contact.created معًا.
الجنس
gender قيمة اختيارية في ملف العميل يرسلها العميل أو المشغّل المخوّل. يقبل
HueChat القيم male أو female أو other فقط (مع تجاهل حالة الأحرف)، ويعيد
القيمة بحروف صغيرة أو سلسلة فارغة عند عدم توفيرها. لا يستنتجها من الاسم أو
المحادثة أو الموعد، ولا يجوز استخدامها لقرارات الرعاية أو الأهلية أو الإعلان
أو توقع الحضور.
عند الإنشاء، احذف الحقل إذا لم تكن القيمة معروفة. عند التحديث، احذف الحقل
للحفاظ على القيمة الحالية أو أرسل "gender": "" لمسحها. تُحفظ القيمة أيضًا
في additional_attributes.gender للتوافق مع عملاء CDP الأقدم؛ وإذا أُرسلت
القيمتان فيجب أن تتطابقا.
الاسم الأول والأوسط والأخير
يمكن لجهة الاتصال أيضًا حفظ اسمها فيfirst_name وmiddle_name (اختياري)
وlast_name. ويبقى name هو الاسم الكامل المعروض.
- إرسال أي جزء يجعل
nameهو الأجزاء المعبأة مفصولة بمسافة واحدة بترتيب الأول ثم الأوسط ثم الأخير. ويُتجاهلnameالمرسل في الطلب نفسه. - الجزء الذي لا ترسله أو ترسله
nullيحتفظ بقيمته المحفوظة، و""يمسحه. إذا أصبحت كل الأجزاء فارغة تُمسح الأجزاء ويبقىnameكما هو، أو يصبحnameالذي أرسلته. - في جهة اتصال بلا أجزاء، تُملأ الأجزاء التي لم ترسلها من اسمها: إرسال
{"last_name": "العتيبي"}إلى “سارة محمد” يعطي سارة، بلا اسم أوسط، والعتيبي. ولا يُقسَّم اسم بلا حروف، مثل رقم هاتف. - إرسال
nameوحده يعيد تسمية جهة الاتصال ولا يغيّر الأجزاء، ولا يُقسَّم الاسم إلى أجزاء أبدًا. - الحد الأقصى لكل جزء، ولـ
name، وللاسم الذي تكوّنه الأجزاء 255 حرفًا. تعيد القيمة الأطول422، ويعيد الجزء الذي ليس نصًا400.
null عند عدم تعيينه. وتكون null أيضًا بعد إعادة تسمية
جهة الاتصال بـname وحده، لأن الأجزاء المحفوظة لم تعد تكوّن name. وتتضمنها
استجابات قائمة المحادثات وتفاصيلها وتصفيتها في meta.sender. كما تحملها أحداث
contact.created وcontact.updated الناتجة عن إنشاء جهات الاتصال وتحديثها
ودمجها عبر الواجهة، وتسلّم webhooks الحساب هذه الأحداث باسم contact_created
وcontact_updated.
عنوان التوصيل
additional_attributes.address هو عنوان توصيل العميل: كائن واحد بهذه
المفاتيح، وكل قيمة فيه نص من سطر واحد.
country_code رمز دولة من حرفين يُحفظ بأحرف
كبيرة، وهو دولة التوصيل، وقد تختلف عن دولة إقامة العميل في
additional_attributes.country_code.
يستبدل إرسال address العنوان المحفوظ كله، وتُدمج الخصائص الأخرى كالمعتاد.
أرسل "address": null أو عنوانًا كل حقوله فارغة لمسحه. يرفض HueChat الطلب
بالرمز 400 ولا يحفظ شيئًا إذا احتوى العنوان مفتاحًا غير معروف، أو قيمة ليست
نصًا من سطر واحد، أو قيمة تتجاوز حدها، أو country_code غير صالح، أو محتوى بلا
line1 وcity:
POST /api/v2/accounts/{accountId}/payments/requests (النطاق messages:write)
إلى دولة التوصيل. عندما يحتوي delivery_address (بالمفاتيح نفسها أعلاه) على
line1 وcity دون country_code، يعيد HueChat 422 قبل التواصل مع أي مزود
دفع، ولا يحفظ شيئًا:
القائمة والبحث
استخدمGET /api/v2/accounts/{accountId}/contacts مع page وper_page
(بحد أقصى 100) وsort. أضف q أو استخدم /contacts/search?q=… للبحث في
الاسم والبريد والهاتف والمعرّف والشركة والموقع والنطاق. ينطبق الفرز على
القائمة العادية ولا يمكن جمعه مع q.
id الرقمي من النتيجة للطلبات اللاحقة.
القراءة والتحديث
يعيدGET /contacts/{contactId} السجل ونسخة updated_at. يغيّر
PATCH /contacts/{contactId} الحقول المرسلة فقط، وتُدمج كائنات الخصائص. لا
يعيد تحديث الملف توجيه هويات صناديق الوارد التي تملكها قنوات المراسلة.
ولا يقبل سطح إنشاء/قراءة جهة الاتصال روابط صناديق الوارد أو يكشفها؛ استخدم
ملف CDP لسياق المصدر المقيد بعضوية صندوق الوارد.
إذا أزيل المعرّف بدمج مُراجع، يحل HueChat الاسم المستعار داخل الحساب إلى
السجل المحتفظ به ويعيد merged_from_contact_id.
دمج العملاء المكررين
اقرأ السجلين قبل الدمج مباشرة، ثم أرسل قيمتيupdated_at. السجل الأساسي هو
المحتفظ به، والسجل المدموج هو المكرر الذي سيزال.
base أو mergee. المفاتيح المدعومة: name وemail
وphone_number وidentifier وcompany_name وlocation وcity وcountry
وcountry_code وnotes وwebsite وdomain.
يتم الدمج في معاملة واحدة مع حفظ المحادثات وأدلة الموافقة والتصنيفات
والمرفقات والصفقات والمواعيد والرحلات والعضويات. تُرفض النسخ القديمة والعمل
الجاري وتعارضات العضوية. إعادة الدمج المكتمل نفسه آمنة وتعيد replayed: true.
ملف CDP الموحّد
للحسابات التي فُعّل فيها Customer CDP، وبنطاقيcontacts:read وdeals:read:
GET /contacts/{contactId}/profileيعيد العميل والمصادر والموافقات والنشاط والصفقات والعضويات والتصنيفات وأول صفحة من الخط الزمني.GET /contacts/{contactId}/timeline?cursor=…يعيد الرسائل والأحداث والصفقات والمهام بترقيم يعتمد مؤشرًا آمنًا.
402 من دون التأثير في عمليات جهات الاتصال الأساسية.
وتتضمن سجلات قائمة العملاء وملف CDP الحقل gender في المستوى الأعلى، مع
الإبقاء على additional_attributes.gender للتوافق.
مزامنة دليل الموافقة
يمكن للمدير استدعاءPOST /contacts/{contactId}/consent مع channel
وpurpose وstatus وevidence الواضح وexpected_version الحالي. يرتبط
الدليل بعنوان البريد أو الهاتف الحالي ولا يمنح إذنًا لعنوان مستقبلي. تعيد
النسخة القديمة 409. كما يحدّث إلغاء موافقة تسويق واتساب قائمة منع البث
الدائمة في HueChat.
واجهة Customer CDP المتقدمة
يبدأ السطح الكامل من/api/v2/accounts/{accountId}/cdp. يعيد كل طلب التحقق
من أن مالك المفتاح ما زال عضوًا في الحساب. تعيد المسارات المتخصصة 402 إذا
لم تكن ميزة Customer CDP أو Audiences أو Journeys أو Membership مفعلة في
الخطة.
دليل العملاء والإعدادات
يتطلب تعديل الإعدادات مديرًا. استخدم
/contacts للمزامنة المعتادة، واستخدم
/cdp/customers عند الحاجة إلى عروض CDP والملخصات المجمعة.
شرائح الجمهور
تتطلب Audiences تفعيل الميزة في الخطة. تدعم الشريحة الديناميكية 12 قاعدة متحققًا منها، والثابتة 5,000 معرّف جهة اتصال متاح كحد أقصى. يُرفض أي معرّف من حساب آخر أو صندوق وارد خاص لا يستطيع مالك المفتاح الوصول إليه.
يتطلب الإنشاء والتحديث والحذف مديرًا. يسرد مخطط API التفاعلي جميع الحقول
والعوامل المسموحة.
رحلات العملاء
تتطلب الرحلاتworkflows:read أو workflows:write مع تفعيل Journeys. لا
يرسل إنشاء المسودة أو المعاينة أي رسالة. يؤدي النشر إلى تفعيل انضمام الأحداث
المستقبلية وقد يؤدي إلى إرسال واتساب فعلي بعد إعادة التحقق من الموافقة والمنع
وصندوق الوارد والقالب المعتمد وجاهزية المزود.
تتطلب كل تعديلات الرحلات
workflows:write ومديرًا.
برامج العضوية
تتطلب المسارات تفعيل Membership. تستخدم القراءةcontacts:read، وتستخدم
الكتابة العادية contacts:write وتتطلب مديرًا.
تمنح أنظمة التجارة الخارجية النقاط عبر
POST /cdp/membership/members/{membershipId}/events. امنح التكامل مفتاحًا
مخصصًا بنطاق membership:events فقط، مع بقاء شرط أن يكون مالكه الحالي مديرًا.
يشكل provider + event_id مفتاح تكرار على مستوى الحساب، ولذلك يعيد التكرار
المتعارض 409 بدل منح النقاط مرتين.

