Данный метод возвращает список каналов связи (мессенджеров), подключённых к вашему аккаунту WAMM.chat. В ответе — тип канала, статус оплаты и подключения, имя канала, номер или идентификатор, а также URL Webhook, если он задан. Метод удобен для мониторинга интеграций, выбора api_id перед отправкой сообщений и проверки, какие каналы готовы к работе.
Запрос выполняется по любому действующему API-токену организации: в списке будут все каналы аккаунта, а не только канал, к которому привязан токен. Для списка операторов используйте получение списка пользователей; для проверки готовности одного канала к отправке — отдельный запрос по токену канала.
Отправка и приём сообщений по API описаны в разделах отправка сообщений и получение сообщений.
Поддерживаемые мессенджеры
Метод не привязан к одному мессенджеру: в списке могут быть все типы каналов аккаунта — WhatsApp, Telegram Personal, Telegram Bot, MAX Personal, MAX Bot, Avito и другие. Поле api_tip в ответе указывает тип каждого канала. Наличие канала в списке не означает, что для него доступны все операции API (отправка, редактирование и т.д.) — это зависит от типа канала и его состояния.
Пример запроса:
GET https://wamm.chat/api2/channel_list/{token}/ с фильтром (необязательно):
GET https://wamm.chat/api2/channel_list/{token}/{filter} Примеры: .../channel_list/ВАШ_ТОКЕН/active, .../channel_list/ВАШ_ТОКЕН/one.
Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| token | string | Да | API-токен канала из раздела Настройки > Управление > API. Токен должен быть действителен (канал с оплатой active). |
| filter | string | Нет | Фильтр списка (второй сегмент URL после токена): active — каналы с оплатой active; archive — архивные каналы; statusOn — active и подключение authorized;statusOff — active, но не на связи ( state ≠ authorized);one — только канал, соответствующий переданному токену. Без filter — все каналы организации (active и archive). |
Ответ при успехе
{
"err": 0,
"data": [
{
"api_id": "100",
"api_tip": "whatsapp",
"pay_state": "active",
"phone": "79001234567",
"api_tag": "Основной WhatsApp",
"state": "authorized",
"hook": "https://example.com/webhook/wamm"
},
{
"api_id": "110",
"api_tip": "tg",
"pay_state": "active",
"phone": "79181234567",
"api_tag": "Telegram",
"state": "authorized",
"hook": ""
}
]
} Описание полей ответа
| Поле | Описание |
|---|---|
| api_id | Идентификатор канала в WAMM.chat |
| api_tip | Тип канала: whatsapp, tg, tg_bot, max_num, max_bot, vk, avito и др. |
| pay_state | Статус оплаты: active или archive |
| phone | Номер телефона или идентификатор, привязанный к каналу |
| api_tag | Отображаемое имя канала в личном кабинете |
| state | Статус подключения к мессенджеру: authorized (на связи), suspended, init, notAuthorized, starting, blocked и др. |
| hook | Текущий URL Webhook для канала (пустая строка, если не задан) |
Возможные ошибки
| Код ошибки, значение «err» | Описание |
|---|---|
| token fail | Токен недействителен, отсутствует или канал не в статусе оплаты active |
| fail get data | Список пуст (нет каналов по выбранному фильтру) или данные не получены |
Примеры использования
function getChannelList($token, $filter = '') {
$url = 'https://wamm.chat/api2/channel_list/' . rawurlencode($token) . '/';
if ($filter !== '') {
$url .= rawurlencode($filter);
}
$response = file_get_contents($url);
if ($response === false) {
echo "Не удалось выполнить запрос к серверу";
return null;
}
$json = json_decode($response, true);
if (!isset($json['err'])) {
echo "Не удалось обработать ответ от сервера";
return null;
}
if ($json['err'] === 0 && isset($json['data'])) {
return $json['data'];
}
echo "Ошибка: " . $json['err'];
return null;
}
$token = 'YOUR_TOKEN';
$channels = getChannelList($token, 'active');
if ($channels !== null) {
foreach ($channels as $channel) {
echo "ID: {$channel['api_id']}, тип: {$channel['api_tip']}, "
. "телефон: {$channel['phone']}, state: {$channel['state']}\n";
}
}