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

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

Обновление информации об учетной записи партнера

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

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

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

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

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

Как партнер RCS for Business вы можете создавать агентов от имени брендов.

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

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

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

Редактировать бренд

Чтобы редактировать бренд:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для безопасной аутентификации вызовов API вам также понадобится инструмент командной строки oauth2l .

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

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

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

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

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

Если вы хотите использовать другой вебхук для любого из своих агентов, вы можете настроить вебхук на уровне агента, который переопределит вебхук партнёра. Подробнее см. в разделе «Настройка вебхука агента» .

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

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

  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. В консоли разработчика нажмите «Проверить» . После того как RCS for Business проверит ваш вебхук, диалоговое окно закроется.

Инструкции по асинхронной обработке веб-перехватчиков для предотвращения сбоев доставки см. в разделе Обработка сообщений .

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

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

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

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

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

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

,

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

Обновление информации об учетной записи партнера

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

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

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

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

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

Как партнер RCS for Business вы можете создавать агентов от имени брендов.

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

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

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

Редактировать бренд

Чтобы редактировать бренд:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для безопасной аутентификации вызовов API вам также понадобится инструмент командной строки oauth2l .

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

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

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

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

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

Если вы хотите использовать другой вебхук для любого из своих агентов, вы можете настроить вебхук на уровне агента, который переопределит вебхук партнёра. Подробнее см. в разделе «Настройка вебхука агента» .

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

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

  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. В консоли разработчика нажмите «Проверить» . После того как RCS for Business проверит ваш вебхук, диалоговое окно закроется.

Инструкции по асинхронной обработке веб-перехватчиков для предотвращения сбоев доставки см. в разделе Обработка сообщений .

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

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

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

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

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

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

,

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

Обновление информации об учетной записи партнера

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

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

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

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

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

Как партнер RCS for Business вы можете создавать агентов от имени брендов.

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

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

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

Редактировать бренд

Чтобы редактировать бренд:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для безопасной аутентификации вызовов API вам также понадобится инструмент командной строки oauth2l .

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

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

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

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

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

Если вы хотите использовать другой вебхук для любого из своих агентов, вы можете настроить вебхук на уровне агента, который переопределит вебхук партнёра. Подробнее см. в разделе «Настройка вебхука агента» .

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

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

  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. В консоли разработчика нажмите «Проверить» . После того как RCS for Business проверит ваш вебхук, диалоговое окно закроется.

Инструкции по асинхронной обработке веб-перехватчиков для предотвращения сбоев доставки см. в разделе Обработка сообщений .

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

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

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

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

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

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

,

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

Обновление информации об учетной записи партнера

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

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

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

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

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

Как партнер RCS for Business вы можете создавать агентов от имени брендов.

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

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

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

Редактировать бренд

Чтобы редактировать бренд:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для безопасной аутентификации вызовов API вам также понадобится инструмент командной строки oauth2l .

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

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

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

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

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

Если вы хотите использовать другой вебхук для любого из своих агентов, вы можете настроить вебхук на уровне агента, который переопределит вебхук партнёра. Подробнее см. в разделе «Настройка вебхука агента» .

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

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

  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. В консоли разработчика нажмите «Проверить» . После того как RCS for Business проверит ваш вебхук, диалоговое окно закроется.

Инструкции по асинхронной обработке веб-перехватчиков для предотвращения сбоев доставки см. в разделе Обработка сообщений .

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

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

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

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

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

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