Настройте свою партнерскую учетную запись,Настройте свою партнерскую учетную запись

После регистрации в качестве партнера RBM у вас появится партнерская учетная запись. Чтобы получить доступ к настройкам партнерской учетной записи, откройте консоль разработчика Business Communications и нажмите «Настройки партнерской учетной записи» . Отсюда вы можете сделать следующее:

Обновить информацию партнерского аккаунта

На странице настроек вы можете просмотреть свой идентификатор партнера и обновить следующую информацию:

Поле Описание
Имя партнера Имя вашего партнерского аккаунта
Отображаемое имя Имя будет отображаться в отчетах о выставлении счетов RBM , которые получают операторы связи (в виде поля owner_name ). Операторы связи будут использовать это, чтобы идентифицировать вас как доверенного партнера и гарантировать, что они генерируют правильную информацию для выставления счетов за использование вами RBM для связи со своими подписчиками. Имя, которое вы указываете здесь, должно совпадать с именем, используемым в договорах обмена сообщениями с вашим оператором связи.
Техническое контактное лицо

Человек, с которым Google свяжется, если возникнут какие-либо технические проблемы с вашими агентами. Вы можете обновить их

  • Имя
  • Корпоративный адрес электронной почты
  • Номер телефона
Вебхук Это URL-адрес конечной точки вашего веб-перехватчика. Нажмите **Настроить**, чтобы обновить его. Когда вы настраиваете веб-перехватчик партнера , он применяется ко всем вашим агентам. Если вы хотите использовать другой веб-перехватчик для отдельного агента, вы можете настроить веб-перехватчик агента , который будет применяться только к этому агенту.

Управление брендами

Будучи партнером RBM, вы можете создавать агентов от имени брендов.

Используйте страницу «Бренды» в настройках учетной записи , чтобы добавлять, редактировать и удалять бренды, связанные с вашей партнерской учетной записью.

Добавить бренд

Чтобы добавить бренд, введите его название в поле ввода и нажмите «Добавить» .

Изменить бренд

Чтобы изменить бренд:

  1. Установите флажок рядом с названием бренда.
  2. Нажмите кнопку и выберите «Изменить имя» .
  3. Внесите изменения и нажмите «Готово» .

Удалить бренд

Бренд невозможно удалить, если он связан с агентом, даже если агент не запущен.

Чтобы удалить бренд, установите флажок рядом с названием бренда и нажмите «Удалить» .

Управление пользователями

На странице «Пользователи» в настройках учетной записи вы можете управлять пользователями своей партнерской учетной записи. Пользователь, создавший партнерскую учетную запись, имеет роль Владельца. Новые пользователи могут иметь роль Менеджера или Читателя.

  • Менеджеры могут получить доступ ко всем возможностям консоли разработчика для управления любыми агентами, принадлежащими партнерской учетной записи.
  • Читатели имеют доступ только для чтения к консоли разработчика, чтобы просматривать всех агентов, принадлежащих партнерской учетной записи.

Добавить пользователя

Чтобы добавить пользователя, введите его адрес электронной почты в поле ввода и выберите его роль .

Когда вы добавляете нового пользователя, он получает электронное письмо с уведомлением о том, что у него есть доступ к партнерской учетной записи.

Удаление пользователя

Чтобы удалить пользователя:

  1. Найдите пользователя, которого хотите удалить, и нажмите кнопку в его строке таблицы.
  2. Выберите Удалить пользователя .
  3. Подтвердите удаление.

Пользователь, которого вы удалили, получит электронное письмо с уведомлением о том, что у него больше нет доступа к партнерской учетной записи.

Вы не можете удалить пользователя с ролью владельца. Чтобы изменить или удалить владельца, вам необходимо обратиться в службу поддержки .

Изменение роли пользователя

Чтобы обновить роль пользователя:

  1. Найдите пользователя, которого хотите обновить, и нажмите кнопку в его строке таблицы.
  2. Выберите Изменить роль .
  3. Выберите новую роль из раскрывающегося списка.
  4. Нажмите Сохранить .

Настройка учетной записи службы для аутентификации вызовов API

Когда вы совершаете вызовы к RBM API , вы аутентифицируете вызовы с помощью ключа учетной записи службы. Этот ключ позволяет вам создавать бренды и агентов и управлять ими, а также отправлять сообщения и запросы в качестве агента.

Выполните следующие действия, чтобы сгенерировать ключ сервисной учетной записи:

  1. В настройках учетной записи перейдите на страницу учетной записи службы .
  2. Нажмите «Создать ключ» , затем нажмите «Создать» . Ваш браузер загружает ключ сервисной учетной записи.

Храните ключ своей сервисной учетной записи в безопасном и конфиденциальном месте. Не делитесь своим ключом публично. Этот ключ понадобится вам позже для доступа к API RBM.

Настройте партнерский вебхук

Вебхук — это созданный партнером обратный вызов HTTPS, который определяет, как ваш агент должен реагировать на сообщения и события. После настройки вебхука вы сможете начать получать сообщения и события .

Чтобы настроить партнерский вебхук, выполните следующие действия:

  1. Откройте консоль разработчика Business Communications и войдите в свою учетную запись Google партнера RBM.

  2. Откройте настройки учетной записи .

  3. Для URL-адреса веб-перехватчика RCS Business Messaging нажмите «Настроить» .

  4. В качестве URL-адреса конечной точки веб-перехватчика введите URL-адрес веб-перехватчика, начинающийся с https://.

  5. Обратите внимание на значение вашего clientToken . Он нужен вам, чтобы убедиться, что получаемые вами сообщения исходят от Google .

  6. Настройте веб-перехватчик для приема запроса 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);
    });
    
  7. В консоли разработчика нажмите «Подтвердить» . Когда RBM проверит ваш веб-перехватчик, диалоговое окно закроется.

Проверка входящих сообщений

Поскольку веб-перехватчики могут получать сообщения от любых отправителей, вам следует убедиться, что Google отправил входящие сообщения, прежде чем обрабатывать их содержимое.

Чтобы убедиться, что Google отправил полученное вами сообщение, выполните следующие действия:

  1. Извлеките заголовок X-Goog-Signature сообщения. Это хешированная копия полезных данных тела сообщения в кодировке Base64.
  2. Base-64-декодирует полезную нагрузку RBM в элементе message.body запроса.
  3. Используя клиентский токен веб-перехватчика (который вы указали при настройке веб-перехватчика) в качестве ключа, создайте SHA512 HMAC из байтов полезной нагрузки сообщения, декодированного в формате Base64, и закодируйте результат в формате Base64.
  4. Сравните хэш 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);
  

Следующие шаги

Теперь, когда ваша партнерская учетная запись настроена, пришло время создать своего первого агента .