ManyChat Help Portal
Submit a ticket

Dev-программа — получение доступа к API через приложения

СОДЕРЖАНИЕ

Некоторым приложениям требуется доступ к открытому API ManyChat.

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

ManyChat генерирует уникальный ключ приложения для каждого установленного экземпляра приложения — он доказывает, что приложение располагает разрешением на вызов определенного списка API для данного бота.

Получение ключа приложения с заранее настроенной областью выполняется в три шага.

  • При создании приложения можно указать конечные точки, к которым необходимо получить доступ:

  • При установке пользователи приложения получат уведомление:

  • Сразу же после установки приложения ManyChat сгенерирует ключ приложения

Как получить ключ приложения

  • Настройте на своей стороне конечную точку для получения запроса после установки приложения. Затем добавьте объект запроса в раздел auth в JSON приложения:
"request": {
    "url": "ваша конечная точка",
    "method": "POST",
    "headers": [
      "Content-Type: application/json",
      "x-token-header: {{app_token}}" // ключ приложения можно получить в блоке headers
    ],
    "mapping": [],
    "payload": {
      "app_token": "{{app_token}}" // ключ приложения можно получить в блоке payload
    }
  }

Также можно использовать системные переменные, например {{app_id}}, {{app_version}}, {{page_id}} и собственные переменные, которые пользователи приложения зададут в разделе auth.params.

Если получен код состояния «200 OK», ManyChat сообщает об этом в блоке настройки приложения 

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

  • Ключ приложения можно получить вручную. Если в разделе auth нет объекта запроса, мы генерируем ключ приложения, который пользователь может вставить в поле интерфейса на вашей стороне:

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

Как ManyChat обрабатывает неавторизованные запросы

Если ваше приложение удалено, на все вызовы вы будете получать код ответа 500

{"status": "exception","message": "Что-то пошло не так"}


Если ваш запрос вне разрешенной области, вы получите код ответа 401

{"status": "error","message": "Неверный токен доступа"}


Как добавить области

В случае уже существующих опубликованных приложений, перейдите на вкладку «Доступ к API» для приложения. Затем добавьте области, сохраните приложение и опубликуйте его еще раз. После прохождения проверки области будут добавлены в приложение и для всех установленных экземпляров будет автоматически сгенерирован ключ приложения.

Для разработчиков приложения все изменения будут применены мгновенно (в том числе генерация ключа приложения).


Переходный период

Настоятельно рекомендуем использовать ключ приложения для всех ваших приложений. Получение ключа API через блок auth непрозрачно и может разочаровать пользователя.

Настройка доступа к API посредством ключа приложения станет обязательной с 1 февраля 2021 года.

Обсудить план перехода с командой ManyChat можно по адресу devprogram@manychat.com