يتضمّن سير عمل RBM الأساسي لمشغّلي شبكات الجوّال مراجعة المعلومات حول وكلاء جدد ومنحهم الإذن أو رفضه لإطلاق خدماتهم على شبكة مشغّل شبكة الجوّال وإرسال الرسائل إلى المشتركين.
تم أخذ مقتطفات الرموز البرمجية في هذه الصفحة من أمثلة Javascript وCurl.
عرض قائمة بجميع الوكلاء الذين تم إرسالهم إلى شركة النقل
يمكن لمشغّل شبكة الجوَّال الحصول على قائمة بجميع البرامج التي أرسلها المطوّرون لإطلاقها على شبكة مشغّل شبكة الجوَّال.
Node.js
const businessCommunicationsApiHelper = require('@google/rbm-businesscommunications'); const privateKey = require('../../resources/businesscommunications-service-account-credentials.json'); businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey); // Retrieve all agents targeting the carrier businessCommunicationsApiHelper.listAgents('brands/-').then((response) => { console.log('Current agents are:'); console.log(JSON.stringify(response.data, null, 2)); }).catch((err) => { console.log(err); });
cURL
curl -v "https://businesscommunications.googleapis.com/v1/brands/-/agents" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-messaging" \ -H "`oauth2l header --json serviceAccount.json businesscommunications`"
تم ضبط العلامة التجارية على - لأنّها غير مطلوبة عند استرداد قائمة بجميع الوكلاء.
يعرض هذا الرمز قائمة بجميع الوكلاء الذين تم إرسالهم إلى مشغّل شبكة الجوّال لإطلاقهم:
{
"agents": [
{
"name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_4fpd1psz_agent",
"displayName": "My new agent",
"rcsBusinessMessagingAgent": {
"description": "This is the agent description that will be displayed in the Agent info tab in Messages",
"logoUri": "https://agent-logos.storage.googleapis.com/_/kt90w53vzw2QSxK6PG1uCeJf",
"heroUri": "https://agent-logos.storage.googleapis.com/_/kt90vzob74GQcfeHoEQbVRTP",
"phoneNumbers": [
{
"phoneNumber": {
"number": "+12223334444"
},
"label": "Call support"
}
],
"privacy": {
"uri": "https://policies.google.com/privacy",
"label": "Our privacy policy"
},
"termsConditions": {
"uri": "https://policies.google.com/terms",
"label": "Our Terms and Conditions"
},
"color": "#0B78D0",
"billingConfig": {
"billingCategory": "NON_CONVERSATIONAL"
},
"agentUseCase": "MULTI_USE",
"hostingRegion": "NORTH_AMERICA"
}
},
{
"name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_7jo0trhw_agent",
"displayName": "My second agent",
"rcsBusinessMessagingAgent": {
"description": "Another agent description",
"logoUri": "https://agent-logos.storage.googleapis.com/_/kt90w53vzw2QSxK6PG1uCeJf",
"heroUri": "https://agent-logos.storage.googleapis.com/_/kt90vzob74GQcfeHoEQbVRTP",
"phoneNumbers": [
{
"phoneNumber": {
"number": "+12228885768"
},
"label": "Call support"
}
],
"privacy": {
"uri": "https://policies.google.com/privacy",
"label": "Our privacy policy"
},
"termsConditions": {
"uri": "https://policies.google.com/terms",
"label": "Our Terms and Conditions"
},
"color": "#0B78D0",
"billingConfig": {
"billingCategory": "CONVERSATIONAL"
},
"agentUseCase": "PROMOTIONAL",
"hostingRegion": "NORTH_AMERICA"
}
}
]
}
يمكن استرداد النتائج صفحة واحدة في كل مرة. يمكنك الاطّلاع على مرجع واجهة برمجة التطبيقات للحصول على التفاصيل.
الحصول على معلومات التأكّد من الوكيل
يمكن لشركة النقل الحصول على حالة التحقّق من العلامة التجارية للوكيل. لمزيد من التفاصيل، يمكنك الاطّلاع على brands.agents.getVerification.
Node.js
const businessCommunicationsApiHelper = require('@google/rbm-businesscommunications'); const privateKey = require('../../resources/businesscommunications-service-account-credentials.json'); businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey); businessCommunicationsApiHelper.getAgentVerification(agents[0].name).then((response) => { }).catch((err) => { console.log(err); });
cURL
curl -v "https://businesscommunications.googleapis.com/v1/brands/-/agents/AGENT ID/verification" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-messaging" \ -H "`oauth2l header --json serviceAccount.json businesscommunications`"
ليس بالضرورة أن يعرف المتصل اسم الوكيل بالكامل، بما في ذلك اسم العلامة التجارية.
يجب إدخال معرّف الوكيل فقط (قبل @rbm.goog)، مع ضبط اسم العلامة التجارية على -.
يعرض هذا الرمز حالة التحقّق ومعلومات الشريك:
{
"name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_ciymyd2b_agent/verification",
"verificationState": "VERIFICATION_STATE_UNVERIFIED",
"agentVerificationContact": {
"partnerName": "John Doe",
"partnerEmailAddress": "john.doe@gmail.com",
"brandContactName": "Bob",
"brandContactEmailAddress": "bob@brand.com",
"brandWebsiteUrl": "https://www.brand.com"
}
}
الحصول على حالة إطلاق الوكيل والاستبيان
يمكن لمشغّل شبكة الجوّال الحصول على حالة الإطلاق الحالية للوكيل واستبيان الإطلاق الخاص بالمطوّر.
Node.js
const businessCommunicationsApiHelper = require('@google/rbm-businesscommunications'); const privateKey = require('../../resources/businesscommunications-service-account-credentials.json'); businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey); businessCommunicationsApiHelper.getAgentLaunch(agents[0].name).then((response) => { console.log('Launch details are:'); console.log(JSON.stringify(response.data, null, 2)); }).catch((err) => { console.log(err); });
cURL
curl -v "https://businesscommunications.googleapis.com/v1/brands/-/agents/AGENT ID/launch" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-messaging" \ -H "`oauth2l header --json serviceAccount.json businesscommunications`"
ليس بالضرورة أن يعرف المتصل اسم الوكيل بالكامل، بما في ذلك اسم العلامة التجارية.
يجب إدخال معرّف الوكيل فقط (قبل @rbm.goog)، مع ضبط اسم العلامة التجارية على -.
تعرض هذه التعليمات البرمجية معلومات التشغيل:
{
"name": "brands/8b5c7f80-b025-486b-bc8a-2d0797559711/agents/my-agent-demo/launch",
"rcsBusinessMessaging": {
"questionnaire": {
"contacts": [
{
"name": "John Doe",
"title": "Mr",
"email": "johndoe@developer.com"
}
],
"optinDescription": "Messages are sent to known MSISDNs",
"triggerDescription": "We respond to any interaction",
"interactionsDescription": "Simple conversations with a chatbot",
"optoutDescription": "User sends stop"
},
"launchDetails": {
"/v1/regions/thecarrier": {
"launchState": "LAUNCH_STATE_LAUNCHED",
"updateTime": "2023-02-20T15:10:36.528669Z"
}
}
}
}
البحث عن تعريف وكيل
يمكن لمشغّل شبكة الجوّال استرداد معلومات الوكيل باستخدام المعرّف الفريد الخاص به (name).
Node.js
const businessCommunicationsApiHelper = require('@google/rbm-businesscommunications'); const privateKey = require('../../resources/businesscommunications-service-account-credentials.json'); businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey); businessCommunicationsApiHelper.getAgent(agent[0].name).then((response) => { console.log('Agent details are:'); console.log(JSON.stringify(response.data, null, 2)); }).catch((err) => { console.log(err); });
cURL
curl -v "https://businesscommunications.googleapis.com/v1/brands/-/agents/AGENT ID" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-messaging" \ -H "`oauth2l header --json serviceAccount.json businesscommunications`"
ليس بالضرورة أن يعرف المتصل اسم الوكيل بالكامل، بما في ذلك اسم العلامة التجارية.
يجب إدخال معرّف الوكيل فقط (قبل @rbm.goog)، مع ضبط اسم العلامة التجارية على -.
يعرض الرمز التالي معلومات الوكيل:
{
"name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_4fpd1psz_agent",
"displayName": "My new agent",
"rcsBusinessMessagingAgent": {
"description": "This is the agent description that will be displayed in the Agent info tab in Messages",
"logoUri": "https://agent-logos.storage.googleapis.com/_/kt90w53vzw2QSxK6PG1uCeJf",
"heroUri": "https://agent-logos.storage.googleapis.com/_/kt90vzob74GQcfeHoEQbVRTP",
"phoneNumbers": [
{
"phoneNumber": {
"number": "+12223334444"
},
"label": "Call support"
}
],
"privacy": {
"uri": "https://policies.google.com/privacy",
"label": "Our privacy policy"
},
"termsConditions": {
"uri": "https://policies.google.com/terms",
"label": "Our Terms and Conditions"
},
"color": "#0B78D0",
"billingConfig": {
"billingCategory": "NON_CONVERSATIONAL"
},
"agentUseCase": "MULTI_USE",
"hostingRegion": "NORTH_AMERICA"
}
}
تغيير حالة إطلاق الوكيل
يمكن لمشغّل شبكة الجوّال تعديل حالة إطلاق وكيل وإضافة تعليق يوضّح سبب تغيير الحالة.
يجب تغيير الحالة على النحو التالي:
-
LAUNCH_STATE_PENDINGإلىLAUNCH_STATE_LAUNCHEDأوLAUNCH_STATE_REJECTED - من
LAUNCH_STATE_LAUNCHEDإلىLAUNCH_STATE_SUSPENDED LAUNCH_STATE_SUSPENDEDإلىLAUNCH_STATE_LAUNCHEDأوLAUNCH_STATE_REJECTED
ليس بالضرورة أن يعرف المتصل اسم الوكيل بالكامل، بما في ذلك اسم العلامة التجارية.
يجب إدخال معرّف الوكيل فقط (قبل @rbm.goog)، مع ضبط اسم العلامة التجارية على -.
Node.js
const businessCommunicationsApiHelper = require('@google/rbm-businesscommunications'); const privateKey = require('../../resources/businesscommunications-service-account-credentials.json'); businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey); businessCommunicationsApiHelper .updateAgentLaunchState(agentId, 'LAUNCH_STATE_LAUNCHED').then((response) => { console.log('Updated launch details are:'); console.log(JSON.stringify(response.data, null, 2)); });
cURL
curl -v -X PATCH "https://businesscommunications.googleapis.com/v1/brands/-/agents/AGENT ID/launch" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-messaging" \ -H "`oauth2l header --json serviceAccount.json businesscommunications`" \ -d "{ 'rcsBusinessMessaging': { 'launchDetails': { '': { 'launchState': 'LAUNCH_STATE_LAUNCHED', } } } }"
يعرض هذا الرمز معلومات الإطلاق المعدَّلة مع تغيير حالة الإطلاق:
{
"name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_4fpd1psz_agent/launch",
"rcsBusinessMessaging": {
"questionnaire": {
"contacts": [
{
"name": "John Doe",
"title": "Contact manager",
"email": "john.doe@gmail.com"
}
],
"optinDescription": "Users accepted our terms of service online.",
"triggerDescription": "We are reaching pre-registered users",
"interactionsDescription": "This agent sends notifications and processes suggested replies.",
"optoutDescription": "Reply stop and we stop.",
"agentAccessInstructions": "This is a simple agent that reaches registered users.",
"videoUris": [
"https://www.google.com/a/video"
],
"screenshotUris": [
"https://www.google.com/a/screenshot"
]
},
"launchDetails": {
"/v1/regions/thecarrier": {
"launchState": "LAUNCH_STATE_REJECTED",
"comment": "We don't have a billing contract in place with you.", // Note: The field is optional only for launch approval; otherwise, required.
"updateTime": "2023-04-28T15:22:10.221191Z"
}
}
}
}
حذف وكيل
لأسباب تتعلّق بالأمان، لم يعُد بإمكانك حذف وكلاء RBM. يُرجى التواصل مع فريق دعم ميزة "مراسلة المؤسسات من خلال خدمات الاتصالات التفاعلية" للحصول على المساعدة.