الردّ التلقائي على الويب هو معاودة اتصال عبر HTTPS ينشئها الشريك وتحدّد كيفية استجابة وكيلك للرسائل والأحداث. بعد ضبط الرد التلقائي على الويب، يمكنك بدء استلام الرسائل والأحداث.
الردود التلقائية على الويب الخاصة بالشركاء والردود التلقائية على الويب للوكيل
يمكنك ضبط الرد التلقائي على الويب إما على مستوى الشريك أو على مستوى الوكيل.
- ينطبق الرد التلقائي على الويب الخاص بالشريك على كل وكيل تتعامل معه. إذا كان لدى موظفي الدعم سلوك مشابه أو إذا كان لديك وكيل واحد فقط، استخدِم الرد التلقائي على الويب الخاص بالشريك.
- تنطبق الردود التلقائية على الويب للوكيل على موظّفي الدعم الفرديين. إذا كنت تدير عدة موظّفي دعم يتميّزون بسلوك مختلف، يمكنك ضبط ردّ تلقائي على الويب مختلف لكل وكيل.
في حال ضبط كل من الرد التلقائي على الويب الخاص بالشريك والرد التلقائي على الويب الخاص بالوكيل، تكون الأولوية لالرد التلقائي على الويب الخاص بالوكيل على وكيله المحدّد، في حين ينطبق الردّ التلقائي على الويب الخاص بالشريك على جميع موظّفي الدعم الذين ليس لديهم ردّ تلقائي على الويب خاص بهم.
ضبط الرد التلقائي على الويب للوكيل
ستتلقّى الرسائل المُرسَلة إلى وكيلك عند الرد التلقائي على الويب الخاص بالشريك. إذا كنت تريد بدلاً من ذلك أن تصل رسائل وكيل معيّن إلى ردّ تلقائي على الويب مختلف، يمكنك ضبط ردّ تلقائي على الويب للوكيل.
- افتح وحدة تحكم مطوّر البرامج في Business Communications وسجِّل الدخول باستخدام حساب Google الذي يضم شريك RBM.
- انقر على الوكيل.
- انقر على عمليات الدمج.
- بالنسبة إلى الردّ التلقائي على الويب، انقر على ضبط.
- بالنسبة إلى عنوان URL لنقطة نهاية الردّ التلقائي على الويب، أدخِل عنوان URL للردّ التلقائي على الويب الذي يبدأ بـ "https://".
- دوِّن قيمة
clientToken
. ستحتاج إليه للتأكّد من أنّ الرسائل التي تتلقّاها واردة من Google. اضبط الرد التلقائي على الويب لقبول طلب
POST
باستخدام مَعلمةclientToken
المحدّدة وإرسال ردّ200 OK
مع قيمة النص العادي للمَعلمةsecret
باعتباره نص الاستجابة.على سبيل المثال، إذا تلقّى الرد التلقائي على الويب طلب
POST
يتضمن محتوى النص التالي{ "clientToken":"SJENCPGJESMGUFPY", "secret":"1234567890" }
بعد ذلك، يجب أن يؤكّد الردّ التلقائي على الويب قيمة
clientToken
، وإذا كانclientToken
صحيحًا، اعرض الردّ200 OK
مع تضمين1234567890
كنص الاستجابة:// clientToken from Configure const myClientToken = "SJENCPGJESMGUFPY"; // Example endpoint app.post("/rbm-webhook", (req, res) => { const msg = req.body; if (msg.clientToken === myClientToken) { res.status(200).send(msg.secret); return; } res.send(400); });
في Play Console، انقر على إثبات الملكية. عندما تتحقّق ميزة RBM من الردّ التلقائي على الويب، يتم إغلاق مربّع الحوار.
التحقُّق من الرسائل الواردة
بما أنّ الردود التلقائية على الويب يمكن أن تتلقّى رسائل من أي مُرسِلين، عليك التأكّد من أن Google أرسلت رسائل واردة قبل معالجة محتوى الرسائل.
للتحقّق من أنّ Google أرسلت رسالة تلقّيتها، اتّبِع الخطوات التالية:
- استخرِج عنوان
X-Goog-Signature
للرسالة. هذه نسخة مجزّأة بترميز base64 من حمولة نص الرسالة. - فك ترميز حمولة RBM في العنصر
message.body
ضمن الطلب استنادًا إلى ترميز Base-64. - باستخدام الرمز المميّز للعميل الخاص بالردّ التلقائي على الويب (الذي حدّدته عند إعداد الردّ التلقائي على الويب) كمفتاح، أنشِئ خوارزمية SHA512 HMAC بوحدات البايت الخاصة بحمولة الرسالة الأساسية التي تم فك ترميزها باستخدام base64 وترميز النتيجة باستخدام base64.
- قارِن تجزئة
X-Goog-Signature
بالتجزئة التي أنشأتها.- في حال تطابقت علامات التجزئة، يعني ذلك أنّك أكّدت أنّ Google أرسل الرسالة.
وإذا لم تتطابق التجزئات، تحقَّق من عملية التجزئة في رسالة معروفة بأنّها جيدة.
إذا كانت عملية التجزئة تعمل بشكل صحيح وتلقيت رسالة تعتقد أنّه تم إرسالها إليك بطريقة احتيالية، يُرجى التواصل معنا.
Node.js
if ((requestBody.hasOwnProperty('message')) && (requestBody.message.hasOwnProperty('data'))) { // Validate the received hash to ensure the message came from Google RBM let userEventString = Buffer.from(requestBody.message.data, 'base64'); let hmac = crypto.createHmac('sha512', CLIENT_TOKEN); let data = hmac.update(userEventString); let genHash = data.digest('base64'); let headerHash = req.header('X-Goog-Signature'); if (headerHash === genHash) { let userEvent = JSON.parse(userEventString); console.log('userEventString: ' + userEventString); handleMessage(userEvent); } else { console.log('hash mismatch - ignoring message'); } } res.sendStatus(200);
الخطوات التالية
بعد إعداد الرد التلقائي على الويب، يمكن لوكيلك استلام الرسائل من أجهزتك الاختبارية. يمكنك إرسال رسالة للتحقّق من صحة الإعداد.