1. All Collections >
  2. القنوات >
  3. قناة مخصصة >
  4. قناة مخصصة للبدء السريع

قناة مخصصة للبدء السريع

Avatar
JQ Lee
2 min read

يتيح هذا التكامل لفريقك الدردشة مع عملائك عبر أي قناة مراسلة من خلال تنفيذ مخصص.

ربط قناة مخصصة

الخطوة 1: انتقل إلى الإعدادات > القنوات

الخطوة 2: انقر فوق إضافة قناة > قناة مخصصة > اتصال

الخطوة 3: أدخل عنوان URL لـ Webhook الوجهة حيث سيتم إرسال الرسائل الصادرة.

الخطوة 4: حدد نوع المعرف للقناة > انقر فوق التالي

يتم استخدام أنواع المعرفات لتحديد هوية المستخدم ويتم استخدامها للتواصل مع خادم التكامل المخصص لديك.

هناك نوعان من المعرفات المتاحة:

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

    1. نموذج التنسيق: +60177872890

  2. معرف مخصص: استخدم هذا إذا كان مزود خدمة المراسلة يتعرف على جهات الاتصال استنادًا إلى معرف تم إنشاؤه خصيصًا.

    1. الحد الأقصى لطول الأحرف هو 50.

    2. AZ,az,0-9,_,=,+و/و@مسموح بها.

الخطوة 5: سيوفر مربع الحوار التالي معرف القناةورمز واجهة برمجة التطبيقاتوعنوان URL لـ Webhookعلى سبيل المثال

  1. معرف القناة:gfd8g7fd89dgfd

  2. الرمز المميز لواجهة برمجة التطبيقات:aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd

  3. رابط الويب هوك:https://app.respond.io/custom/channel/webhook/

    يتيح لك استخدام نوع معرف رقم الهاتف بدء محادثة وإرسال الرسالة الأولى إلى جهة اتصال.

مرر الرسائل إلى response.io

يتم استخدام عنوان URL لـ Webhook لنشر الرسائلوصدى الرسائلوإيصالات الرسائلعلى منصة response.io.

سوف يؤدي الكود المقدم إلى تشغيل webhook على response.io، وإنشاء جهة اتصال إذا لزم الأمر وحفظ الرسالة تحت جهة الاتصال تلك.

عينة للرسائل

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'التفويض: الناقل aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'التحكم في ذاكرة التخزين المؤقت: لا ذاكرة تخزين مؤقت' \\  
  -H 'نوع المحتوى: application/json' \\  
  -d '{  
  "معرف القناة": "gfd8g7fd89dgfd"،  
  "معرف جهة الاتصال": "+60177872890"،  
  "الأحداث": \[  
    {  
      "النوع": "رسالة"،  
      "معرف الرسالة": "xcvzzxcxczxczxc"،  
      "الطابع الزمني": 2132131321000،  
      "الرسالة": {  
        "النوع": "نص"،  
        "النص": "مرحبًا بالعالم"  
      }  
    }  
  \]،  
  "جهة الاتصال": {  
    "الاسم الأول": "جون"،  
    "اسم العائلة": "دو"،  
    "صورة الملف الشخصي": "",  
    "رمز البلد": "MY"،  
    "البريد الإلكتروني": "john@respond.io"،  
    "الهاتف": "+60177872890"،  
    "اللغة": "en"  
  }  
}'

عينة لأصداء الرسائل

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'authorization: Bearer aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'cache-control: no-cache' \\  
  -H 'content-type: application/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd" ،  
  "contactId": "+60177872890" ،  
  "events": \[  
    {  
      "type": "message_echo" ،  
      "mId": "xcvzzxcxczxczxc" ،  
      "timestamp": 2132131321000 ،  
      "message": {  
        "type": "text" ،  
        "text": "مرحبًا بالعالم"  
      }  
    }  
  \] ،  
  "contact": {  
    "firstName": "جون" ،  
    "lastName": "دو" ،  
    "profilePic": "" ،  
    "countryCode": "MY" ،  
    "email": "john@respond.io" ،  
    "phone": "+60177872890" ،  
    "language": "en"  
  }  
}'

نموذج لإيصالات الرسائل

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'التفويض: الناقل aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'التحكم في ذاكرة التخزين المؤقت: لا ذاكرة تخزين مؤقت' \\  
  -H 'نوع المحتوى: application/json' \\  
  -d '{  
  "معرف القناة": "gfd8g7fd89dgfd"،  
  "معرف جهة الاتصال": "+60177872890"،  
  "الأحداث": \[  
    {  
      "النوع": "رسالة\_الحالة"،  
      "معرف الرسالة": "xcvzzxcxczxczxc"،  
      "الطابع الزمني": 2132131321000،  
      "الحالة": {  
        "القيمة": "أُرسلت|تم التسليم|قُرئت|فشلت"،  
        "الرسالة": "خطأ: فشل الإرسال بسبب رمز غير صالح"  
      }  
    }  
  \]  
}'

مجال

وصف

تصديق

معرف القناة

معرف القناة الفريد

مطلوب. مجال فريد من نوعه. تم إنشاؤه بواسطة response.io.

معرف جهة الاتصال

معرف جهة اتصال فريد

مطلوب. معرف جهة اتصال فريد لـ response.io. الحد الأقصى 50 حرفًا.

الأحداث.النوع

نوع الحدث

مطلوب. النوع المتوفر: الرسالة، وصدى الرسالة، وحالة الرسالة.

الأحداث.mld

معرف الرسالة

مطلوب. معرف الرسالة الفريد. الحد الأقصى 50 حرفًا.

الأحداث.الطابع الزمني

وقت عصر UNIX (مللي ثانية)

مطلوب. وقت الحدث الذي أدى إلى استدعاء المكالمة.

الأحداث.الرسالة.النوع

نوع الرسالة

مطلوب. أنواع الرسائل المتاحة: نص، مرفق، موقع، و رد سريع. راجع قسم نوع الرسالة للحصول على عينات أخرى لأنواع الرسائل.

الأحداث.الرسالة.النص

نص الرسالة

مطلوب. الحد الأقصى للطول 7000 حرف.

الأحداث.الحالة.القيمة

نص

مطلوب إذا كان event.type هو message_status. قيم الحالة المتاحة: تم الإرسال، والتسليم، والقراءة، والفشل.

الأحداث.الحالة.الرسالة

نص

مطلوب إذا فشلت events.status.value.

جهة الاتصال.الاسم الأول

الاسم الأول

خياري. الحد الأقصى 50 حرفًا.

جهة الاتصال.الاسم الأخير

اسم العائلة

خياري. الحد الأقصى 50 حرفًا.

صورة الملف الشخصي

رابط صورة الملف الشخصي

خياري. يجب ألا يتجاوز حجم الصورة الرمزية 100 كيلوبايت. يوصى بـ 720x720.

الاتصال المحلي

رمز الموقع

خياري. يرجى الرجوع هنا للحصول على قائمة القيم.

رمز البلد

رمز الدولة

خياري. رمز الدولة المكون من حرفين - رمز ISO ALPHA-2.

جهة الاتصال.المنطقة الزمنية

المنطقة الزمنية

خياري. (الحد الأدنى: -24) (الحد الأقصى: 24).

الاتصال بالبريد الإلكتروني

عنوان البريد الإلكتروني

خياري. الحد الأقصى 50 حرفًا.

الاتصال بالهاتف

رقم التليفون

خياري. الحد الأقصى 18 حرفًا.

لغة الاتصال

لغة

خياري. ايزو 639-1.

الاستجابة - النجاح (حالة HTTP → 200)

"حسنًا"

التعامل مع الرسائل الصادرة من response.io

سوف يقوم response.io باستدعاء نقطة النهاية<API Base URL>/message

تأكد من تطبيق الكودOutgoing Messageعلى مسار/messageالخاص بخادم الويب الخاص بك.

فيما يلي مثال cURL لـ response.io الذي يستدعي نقطة النهاية:

curl -X POST \\  
  /message \\  
  -H 'التفويض: الناقل aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'التحكم في ذاكرة التخزين المؤقت: لا ذاكرة تخزين مؤقت' \\  
  -H 'نوع المحتوى: application/json' \\  
  -d '{  
	"معرف القناة": "gfd8g7fd89dgfd"،  
	"معرف جهة الاتصال": "+60177872890"،  
	"الرسالة": {  
		"النوع": "نص"،  
		"النص": "مرحبًا بالعالم"  
	}  
}'

الاستجابة - النجاح (حالة HTTP → 200)

{  
	"معرف المستخدم": "1640141607842"  
}

يجب أن تتم عملية المصادقة في نقطة النهاية قبل إرسال الرسالة إلى مزود خدمة المراسلة.

إليك مثال عن استخدام وسائط سريعة لهذا الغرض:

ثابت {validationResult} = يتطلب ('مُحقق التعبير');

ثابت رمز التحقق = (طلب، res، التالي) => {
    ثابت رمز واجهة برمجة التطبيقات = <<API Token>>
    ثابت رمز الحامل = req.headers.authorization؛

    إذا لم يكن (رمز الحامل)
        إرجاع res.send(401)

    ثابت رمز = رمز الحامل. سلسلة فرعية (7، رمز الحامل. الطول)؛

    إذا (apiToken !== token) {
        return res.send(401)
    }
    next();
};

module.exports = {
    validateToken
};

لقد قمنا بتضمين مثال على قناة مخصصة يمكنك اختبارها على خادمك. قم بإلقاء نظرة على مشروع GitHub الخاص بنا هنا.

نوع الرسائل

عينة للنص

{  
  "نوع": "نص"،  
  "نص": "مرحبًا بك في response.io"،  
}

مجال

وصف

تصديق

يكتب

نوع الرسالة

مطلوب. نص

نص

نص الرسالة

مطلوب. الحد الأقصى للطول 7000 حرف.

عينة لملف الوسائط

{  
  "نوع": "مرفق"،  
  "مرفق": {  
    "نوع": "صورة|فيديو|صوت|ملف"،  
    "رابط": "https://abc/japan.png"،  
    "نوع MIME": "صورة/png",  
    "اسم الملف":"شعار الشركة.png",  
    "الوصف": "أحدث شعار للشركة"  
  }  
}

مجال

وصف

تصديق

يكتب

نوع الرسالة

مطلوب. مرفق.

نوع المرفق

نوع المرفق

مطلوب. أنواع المرفقات المتاحة: الصورة والفيديو والصوت والملف.

المرفق.url

عنوان URL

مطلوب. الحد الأقصى 2000 حرف. تأكد من أن الرابط عام حتى يتمكن المستخدمون أو جهات الاتصال من رؤية المحتوى.

نوع المرفق

نوع الميم للمرفق

خياري

اسم الملف المرفق

اسم الملف

خياري. ينبغي أن يتضمن اسم الملف ملحقًا. الحد الأقصى 256 حرفًا (بما في ذلك امتداد الملف). قد يؤدي إرسال ملف بدون ملحق أو بالملحق الخاطئ إلى عدم تمكن جهة الاتصال أو المستخدم من فتح الملف.

المرفق.الوصف

وصف الملف

خياري. الحد الأقصى 256 حرفًا. ينطبق فقط على المرفق.نوع الصورة = الصورة.

تأكد من أن رابط المرفق لا يتم تنزيله قسريًا بواسطة المتصفح. يجب أن تحتوي استجابة HTTP's Content-Disposition على القيمة الافتراضية، وهي inline.

عينة للموقع

{  
  "اكتب": "الموقع"،  
  "خط العرض": 0.123456 ،  
  "خط الطول": -0.1234،  
  "العنوان": "Sky Suites, Jalan P. Ramlee, Kuala Lumpur, 50250 Kuala Lumpur, Wilayah Persekutuan Kuala Lumpur"  
}

مجال

وصف

تصديق

يكتب

نوع الرسالة

مطلوب. موقع.

خط العرض

الإحداثيات

مطلوب. خط العرض (±90 درجة) ضمن النطاقات الصالحة.

خط الطول

الإحداثيات

مطلوب. خط الطول (±180 درجة) ضمن النطاقات الصالحة.

عنوان

عنوان الموقع

خياري. الحد الأقصى 256 حرفًا.

نموذج للرد السريع

{  
  "نوع": "رد سريع"،  
  "عنوان": "اختر لغتك المفضلة"،    
  "ردود": \[  
    "الملايو"،  
    "الإنجليزية"  
  \]  
}

مجال

وصف

تصديق

يكتب

نوع الرسالة

مطلوب. الرد السريع.

عنوان

عنوان الرد السريع

مطلوب. الحد الأقصى 256 حرفًا.

الردود

نص الرد

مطلوب. الحد الأقصى 10 ردود بحد أقصى 256 حرفًا لكل رد.

رموز الخطأ

خطأ (حالة HTTP → 4xx)

تكوين القناة

الخطوة 1: انقر فوق الإعدادات > القنوات

الخطوة 2: حدد القناة المخصصة > انقر فوق إدارة

الخطوة 3: في صفحة تكوين القناة المخصصة سترى التكوينات التالية:

  • رمز القناة - قم بتحميل صورة تعمل كرمز لقناتك المخصصة.

  • اسم القناة - يمكن تغيير اسم القناة ويُستخدم داخليًا لتحديد القناة.

  • عنوان URL لـ Webhook للرسائل الصادرة — عنوان URL لـ Webhook للرسائل الصادرة إلى هذه القناة.

  • عنوان URL لـ Webhook للرسائل الواردة — عنوان URL لـ Webhook للرسائل الواردة إلى هذه القناة.

  • نوع المعرف — تُستخدم هذه لتحديد هوية المستخدم وتُستخدم للتواصل مع خادم التكامل المخصص لديك.

  • معرف القناة — معرف قناة فريد لتحديد قناتك المخصصة.

  • رمز API — معرف فريد يستخدم للتحقق من هوية المستخدم للوصول إلى واجهة برمجة التطبيقات.

الخطوة 4: انقر فوق حفظ التغييرات لتحديث تكوين القناة المخصصة.

الأسئلة الشائعة واستكشاف الأخطاء وإصلاحها

هل يمكنني ربط الدردشات من منصات أخرى باستخدام قناة مخصصة؟

نعم يمكنك ذلك. فيما يلي ثلاث خطوات يجب اتباعها:

  1. في respond.io، أدخل عنوان URL الخاص بـ webhook من المنصة الأخرى في حقل عنوان URL الويب الخاص برسالة واردة.

  2. في النظام الأساسي الآخر، قم بإعداد عنوان URL لـ webhook يشير إلى response.io، مما يسمح لجهات الاتصال بإرسال رسائل إليك.

  3. ستحتاج إلى خادم تكامل مخصص لتفسير واجهات برمجة التطبيقات من كل من respond.io والمنصة الأخرى، مما يمكّن من تبادل الرسائل بينهما.

تأكد من التأكد من المنصة الأخرى من إمكانية تنفيذ الخطوتين الأوليين.

الأسئلة الشائعة حول خطافات الويب المخصصة للقنوات

لماذا يعيد webhook الحالة 200 حتى لو فشلت الرسالة في التسليم إلى response.io؟

عند توصيل قناة مخصصة، ستعيد الرسائل المرسلة إلى response.io عبر خطافات الويب دائمًا رمز الحالة 200 على الفور، بغض النظر عما إذا كانت الرسالة قد تم تمريرها بنجاح إلى response.io. يرجع ذلك إلى طبيعة خطافات الويب، والتي تم تصميمها لإرجاع استجابة فورية دون التحقق من نجاح تسليم الرسالة.

مشاركة هذه المقالة
Telegram
Facebook
Linkedin
Twitter

لا يمكن العثور على ما تبحث عنه؟ 🔎