После регистрации в качестве партнера RBM у вас появится партнерская учетная запись. Чтобы получить доступ к настройкам партнерской учетной записи, откройте консоль разработчика Business Communications и нажмите «Настройки партнерской учетной записи» . Отсюда вы можете сделать следующее:
- Обновите информацию о своей партнерской учетной записи
- Добавляйте, редактируйте и удаляйте бренды, связанные с вашей учетной записью.
- Управление пользователями аккаунта
- Создайте учетную запись службы и ключ для аутентификации вызовов API.
Обновить информацию партнерского аккаунта
На странице настроек вы можете просмотреть свой идентификатор партнера и обновить следующую информацию:
Поле | Описание |
---|---|
Имя партнера | Имя вашего партнерского аккаунта |
Отображаемое имя | Имя будет отображаться в отчетах о выставлении счетов RBM , которые получают операторы связи (в виде поля owner_name ). Операторы связи будут использовать это, чтобы идентифицировать вас как доверенного партнера и гарантировать, что они генерируют правильную информацию для выставления счетов за использование вами RBM для связи со своими подписчиками. Имя, которое вы указываете здесь, должно совпадать с именем, используемым в договорах обмена сообщениями с вашим оператором связи. |
Техническое контактное лицо | Человек, с которым Google свяжется, если возникнут какие-либо технические проблемы с вашими агентами. Вы можете обновить их
|
Вебхук | Это URL-адрес конечной точки вашего веб-перехватчика. Нажмите «Настроить», чтобы обновить его. Когда вы настраиваете партнерский веб-перехватчик , он применяется ко всем вашим агентам. Если вы хотите использовать другой веб-перехватчик для отдельного агента, вы можете настроить веб-перехватчик агента , который будет применяться только к этому агенту. |
Управление брендами
Будучи партнером RBM, вы можете создавать агентов от имени брендов.
Используйте страницу «Бренды» в настройках учетной записи, чтобы добавлять, редактировать и удалять бренды, связанные с вашей партнерской учетной записью.
Добавить бренд
Чтобы добавить бренд, введите его название в поле ввода и нажмите «Добавить» .
Изменить бренд
Чтобы изменить бренд:
- Установите флажок рядом с названием бренда.
- Нажмите кнопку и выберите «Изменить имя» .
- Внесите изменения и нажмите «Готово» .
Удалить бренд
Бренд невозможно удалить, если он связан с агентом, даже если агент не запущен.
Чтобы удалить бренд, установите флажок рядом с названием бренда и нажмите «Удалить» .
Управление пользователями
На странице «Пользователи» в настройках учетной записи вы можете управлять пользователями своей партнерской учетной записи. Пользователь, создавший партнерскую учетную запись, имеет роль Владельца. Новые пользователи могут иметь роль менеджера или читателя.
- Менеджеры могут получить доступ ко всем возможностям консоли разработчика для управления любыми агентами, принадлежащими партнерской учетной записи.
- Читатели имеют доступ только для чтения к консоли разработчика, чтобы просматривать всех агентов, принадлежащих партнерской учетной записи.
Добавить пользователя
Чтобы добавить пользователя, введите его адрес электронной почты в поле ввода и выберите его роль .
Когда вы добавляете нового пользователя, он получает электронное письмо с уведомлением о том, что у него есть доступ к партнерской учетной записи.
Удаление пользователя
Чтобы удалить пользователя:
- Найдите пользователя, которого хотите удалить, и нажмите кнопку в его строке таблицы.
- Выберите Удалить пользователя .
- Подтвердите удаление.
Пользователь, которого вы удалили, получит электронное письмо с уведомлением о том, что у него больше нет доступа к партнерской учетной записи.
Вы не можете удалить пользователя с ролью владельца. Чтобы изменить или удалить владельца, вам необходимо обратиться в службу поддержки .
Изменение роли пользователя
Чтобы обновить роль пользователя:
- Найдите пользователя, которого хотите обновить, и нажмите кнопку в строке его таблицы.
- Выберите Изменить роль .
- Выберите новую роль из раскрывающегося списка.
- Нажмите Сохранить .
Настройка учетной записи службы для аутентификации вызовов API
Когда вы совершаете вызовы к RBM API , вы аутентифицируете вызовы с помощью ключа учетной записи службы. Этот ключ позволяет вам создавать бренды и агентов и управлять ими, а также отправлять сообщения и запросы в качестве агента. Учетная запись службы может иметь до 10 ключей.
Для безопасной аутентификации вызовов API вам также понадобится инструмент командной строки oauth2l .
Выполните следующие действия, чтобы создать ключ учетной записи службы:
- В настройках учетной записи перейдите на страницу учетной записи службы .
- Нажмите «Создать ключ» , затем нажмите «Создать» . Ваш браузер загружает ключ сервисной учетной записи.
Храните ключ своей сервисной учетной записи в безопасном и конфиденциальном месте. Не делитесь своим ключом публично. Этот ключ понадобится вам позже для доступа к API RBM.
Настройте партнерский вебхук
Вебхук — это созданный партнером обратный вызов HTTPS, который определяет, как ваш агент должен реагировать на сообщения и события. Настроив вебхук, вы сможете начать получать сообщения и события .
Если вы хотите использовать другой веб-перехватчик для любого из ваших агентов, вы можете настроить веб-перехватчик на уровне агента, который будет переопределять партнерский веб-перехватчик. Дополнительные сведения см. в разделе Настройка веб-перехватчика агента .
Чтобы настроить партнерский вебхук, выполните следующие действия:
Откройте консоль разработчика Business Communications и войдите в свою учетную запись Google партнера RBM.
Откройте настройки учетной записи .
Для URL-адреса веб-перехватчика RCS Business Messaging нажмите «Настроить» .
В качестве 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); });
В консоли разработчика нажмите «Подтвердить» . Когда RBM проверит ваш веб-перехватчик, диалоговое окно закроется.
Сведения об обработке ошибок доставки веб-перехватчиков и обеспечении надежной обработки сообщений см. в разделе Обработка сообщений .
Проверка входящих сообщений
Поскольку веб-перехватчики могут получать сообщения от любых отправителей, вам следует убедиться, что Google отправил входящие сообщения, прежде чем обрабатывать их содержимое.
Чтобы убедиться, что Google отправил полученное вами сообщение, выполните следующие действия:
- Извлеките заголовок
X-Goog-Signature
сообщения. Это хешированная копия полезных данных тела сообщения в кодировке Base64. - Base-64-декодирует полезную нагрузку RBM в элементе
message.body
запроса. - Используя клиентский токен вашего веб-перехватчика (который вы указали при настройке веб-перехватчика) в качестве ключа, создайте SHA512 HMAC из байтов полезной нагрузки декодированного сообщения в формате Base64 и закодируйте результат в формате Base64.
- Сравните хэш
X-Goog-Signature
с созданным вами хешем.- Если хеши совпадают, вы подтверждаете, что сообщение отправлено Google.
Если хэши не совпадают, проверьте процесс хеширования на заведомо исправном сообщении.
Если ваш процесс хеширования работает правильно и вы получили сообщение, которое, по вашему мнению, было отправлено вам обманным путем, свяжитесь с нами .
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);
Следующие шаги
Теперь, когда ваша партнерская учетная запись настроена, пришло время создать своего первого агента .