Переход с API v1 на API v2 для Каналов
Переход с каналов Channels API v1 на каналы Auths API v2 и связанные вебхуки
Это руководство поможет перевести интеграции, которые создают, получают, обновляют или удаляют каналы, а также слушают связанные с ними вебхуки.
Что меняется
Сущность та же — каналы. Меняется API:
| Что | API v1 | API v2 |
|---|---|---|
| Базовый URL | https://api.pact.im/p1/... | https://api.pact.im/api/p2/... |
| Вебхуки каналов | Данные с entity: "channel", type: "qr_code" и похожими полями — см. Вебхуки v1 | Единый формат с "type": "auth" и "event": "create" | "update" | "delete" — см. События каналов |
| Способ подтверждения канала | Методы request_code / confirm и данные из вебхуков (QR и т.п.) | Подтвердить канал (QR, код или OAuth) и при необходимости Включить канал |
| API-методы каналов | /p1/companies/:company_id/channels/... | /api/p2/companies/:company_id/auths/... — см. Каналы |
Аутентификация по-прежнему выполняется вашим приватным API-токеном. В v2 обычно передаётся параметр private_api_token в query-строке или в теле запроса — см. Аутентификация.
Соответствие эндпоинтов
| Действие | API v1 (Channels) | API v2 (Auths) |
|---|---|---|
| Список | GET /p1/companies/:company_id/channels | Каналы компании — GET /api/p2/companies/:company_id/auths |
| Создание / подключение | POST /p1/companies/:company_id/channels | Создать канал — POST /api/p2/companies/:company_id/auths |
| Подтверждение (код / включение) | POST .../channels/:id/request_code, POST .../channels/:id/confirm | Подтвердить канал и Включить канал |
| Отключение / пауза | — | Отключить канал |
| Повторное включение | — | Включить канал |
| Удаление | DELETE /p1/companies/:company_id/channels/:id | Удалить канал |
| Список по нескольким компаниям | — | Каналы (несколько компаний) |
Параметры создания, специфичные для провайдера (токен, номер телефона, период синхронизации и так далее), описаны в разделе Создать канал.
Сценарии подтверждения (QR, код, OAuth)
В v1 подтверждение было разбросано по созданию канала, методам request_code и confirm, а также по данным вебхуков (например, QR-коды).
В v2:
- Выполните Создать канал для нужного провайдера.
- Пройдите сценарий, описанный в разделе Подтвердить канал:
- QR — WhatsApp, Telegram Personal, MAX (
qrв ответе и в вебхуках) - Код — WhatsApp / Telegram Personal, если передан
phone_number - OAuth — Facebook, VK, Instagram Business, WhatsApp Business, Avito (
oauth_provider_url)
- QR — WhatsApp, Telegram Personal, MAX (
- Используйте Включить канал, когда провайдер требует код подтверждения (например, сценарий с кодом у Telegram Personal).
Миграция вебхуков
События жизненного цикла каналов в v1 присылали данные с entity: "channel", type: "qr_code" и похожими структурами, описанными в разделе Вебхуки v1.
В v2 приходит единый формат с "type": "auth" и "event": "create" | "update" | "delete". Полные примеры и их значения описаны в разделе События каналов.
| Ситуация | Событие канала в v2 |
|---|---|
| Канал создан | event: create |
| Подключён / готов к работе | event: update со state: enabled |
| Отключён | event: update со state: disabled |
| Удалён | event: delete |
| Обновление QR, список страниц, прогресс OAuth | event: update (см. примеры в разделе событий каналов) |
Чек-лист для обработчиков вебхуков
- Зарегистрируйте или обновите URL вебхука компании через Вебхуки компании (если вы ещё не получаете события v2).
- Научитесь принимать формат v2:
event,type,object. - Когда
type === "auth", читайте состояние провайдера изobject(а такжеpages/qr/oauth_provider_url, если они присутствуют). - Перестаньте опираться в новой логике на поля, существовавшие только в v1:
channel_id,channel_type,entity: "channel". - Сохраняйте обработчики v1 только пока на старом API остаётся трафик; запланируйте их отключение после переключения.
Рекомендуемые шаги миграции
- Изучите обзор каналов в v2 — Каналы и объект канала (
authв API). - Сопоставьте вызовы — замените каждый используемый эндпоинт Channels на соответствующий метод Auths из таблицы выше.
- Обновите создание и подтверждение — следуйте разделам Создать канал и Подтвердить канал для каждого поддерживаемого провайдера.
- Переключите вебхуки — реализуйте обработку Событий каналов; проверьте создание / подключение / отключение / удаление на тестовой компании.
- Проведите проверку — получите список каналов, создайте один тестовый канал, пройдите подтверждение, убедитесь в приходе вебхуков, затем удалите или отключите тестовый канал.
- Переключитесь — направьте продакшен-трафик на v2; уберите использование Channels v1, когда будете готовы.
Смежные разделы
- Каналы (API v1) — устаревший справочник
- Каналы (API v2)
- Подтвердить канал
- События каналов
- Вебхуки компании
- Обзор событий