Встраивание PACT Embed с помощью iframe

Содержание:

  • Общий обзор
  • Формирование ссылки iframe
  • Дополнительные параметры
  • Встраивание iframe

Общий обзор

Функция PACT Embed позволяет встраивать нашу страницу внутрь своей CRM или другого веб-решения. Это реализуется через iframe, ссылка на который формируется с учётом ряда обязательных и дополнительных параметров.

Формирование ссылки iframe

1. Основной маршрут:
Базовый URL: https://msg.pact.im/pact_embed
2. Обязательные параметры:
  • company_uuid (пример: 90cbceee-2d3a-4dfd-b021-489ead21b830): идентификатор компании. Его можно получить запросом к PACT API (создание или получение списка компаний). Пример запроса для списка компаний:
    GET https://api.pact.im/p1/companies
    Из ответа необходимо использовать external_uuid:
  • signature: Сигнатура для аутентификации, генерируется с помощью SHA512.
    • Ruby:
      require 'openssl'
      private_api_token = 'your_private_api_token'
      company_uuid = 'YOUR_COMPANY_UUID'
      hash = OpenSSL::HMAC.hexdigest(
          'SHA512',  
          private_api_token,  
          company_uuid)
      puts hash
                      
    • JavaScript:
      const crypto = require('crypto');
      const privateApiToken = 'your_private_api_token';
      const companyUuid = 'YOUR_COMPANY_UUID';
      const hmac = crypto.createHmac('sha512', privateApiToken);
      hmac.update(companyUuid);
      const hash = hmac.digest('hex');
      console.log(hash);
                      
    • Python:
      import hmac
      import hashlib
      private_api_token = 'your_private_api_token'
      company_uuid = 'YOUR_COMPANY_UUID'
      hash = hmac.new(
          private_api_token.encode(),    
          company_uuid.encode(),    
          hashlib.sha512
      ).hexdigest()
      print(hash)
      
    • PHP:
      <?php
      $privateApiToken = 'your_private_api_token';
      $companyUuid = 'YOUR_COMPANY_UUID';
      $hash = hash_hmac('sha512', $companyUuid, $privateApiToken);
      echo $hash;
      ?>
      
  • Сигнатура будет зашифрованным ключом (частный API токен) и UUID компании. Пример готовой ссылки с обязательными параметрами:
    https://msg.pact.im/pact_embed?company_uuid=1234a567-2d3a-4dfd-b021-489ead21b830&signature=d41d8cd98f00b204e9800998ecf8427e

Дополнительные параметры

  • scope: Указывает область взаимодействия. Так, scope=messages будет включать только отображение конкретной переписки, а scope=conversations будет открывать список переписок в переданной компании.
    Если не передан параметр scope, будет использоваться scope=conversations.
    Если не передан параметр scope, но передан phone, то будет попытка использовать scope=messages.
  • conversation_id: Позволяет открыть конкретный диалог по его ID при использовании scope=messages. Пример: conversation_id=12345. Обязателен при scope=messages и если не передан phone и provider.
  • phone: Номер телефона для автоматического поиска пользователя. Пример: phone=+1234567890. Обязателен при scope=messages.
  • provider: Указывает провайдера связи, если применимо. Пример: provider=whatsapp, provider=whatsapp_business, и т. д.

Полный пример ссылки с дополнительными параметрами:

Для загрузки списка чатов:

https://msg.pact.im/pact_embed?company_uuid=1234a567-2d3a-4dfd-b021-489ead21b830&signature=d41d8cd98f00b204e9800998ecf8427e&scope=conversations

Для загрузки диалога по его ID:

https://msg.pact.im/pact_embed?company_uuid=1234a567-2d3a-4dfd-b021-489ead21b830&signature=d41d8cd98f00b204e9800998ecf8427e&scope=messages&conversation_id=12345

Для загрузки диалога по телефону и провайдеру:

https://msg.pact.im/pact_embed?company_uuid=1234a567-2d3a-4dfd-b021-489ead21b830&signature=d41d8cd98f00b204e9800998ecf8427e&scope=messages&phone=+1234567890&provider=whatsapp

Встраивание iframe

Для интеграции iframe в вашу систему используйте следующий HTML-код:

<iframe
  src="https://msg.pact.im/pact_embed?company_uuid=1234a567-2d3a-4dfd-b021-489ead21b830&signature=d41d8cd98f00b204e9800998ecf8427e&scope=conversations"
  width="100%"
  height="600px"
  frameborder="0"
  allowfullscreen>
</iframe>

Проверка работоспособности

  1. Убедитесь, что company_uuid соответствует вашей компании.
  2. Проверьте корректность генерации signature.
  3. Убедитесь, что указаны все необходимые параметры и дополнительные параметры настроены по вашему желанию.
  4. Откройте страницу с iframe в браузере и проверьте отображение.

Решение распространённых проблем

  • Пустой или некорректный iframe: Проверьте параметры в ссылке, особенно company_uuid и signature.
  • Ошибка аутентификации: Убедитесь, что вы используете правильный private_api_token для генерации signature.
  • Неверные дополнительные параметры: Убедитесь, что значения параметров, таких как scope, conversation_id, phone и provider, корректны и применимы.

Поддержка

Если у вас возникли вопросы или проблемы, свяжитесь с технической поддержкой по Telegram, WhatsApp или из личного кабинета.