Подключение номера
Привязка номера к телефону: по QR-коду или по коду подтверждения. Результат приходит событием account.state → authorized.
- WhatsApp: QR-код — или 8-значный код через привязку по номеру.
- Telegram: QR-код или код из приложения: номер → код → если
pendingPassword, облачный пароль. - MAX: QR-код или номер → код.
QR-код для привязки
/v1/accounts/:id/qrВозвращает QR-код, который владелец телефона сканирует в приложении мессенджера (WhatsApp: «Связанные устройства»). QR живёт около 20 секунд — запрашивайте заново каждые несколько секунд, пока state номера не станет authorized (придёт событие account.state).
message — PNG-картинка в base64: покажите её как data:image/png;base64,<message>. Если номер уже привязан, придёт {"type": "alreadyLogged"}.
Параметры пути
iduuidобязательноОшибки
| 404 | not_found | номера нет или он принадлежит другому клиенту |
| 502 | upstream_error | провайдер мессенджера не ответил или ответил ошибкой — повторите позже |
curl "https://msg.xaxu.am/v1/accounts/{id}/qr" \
-H "Authorization: Bearer $XM_API_KEY"{
"type": "qrCode",
"message": "iVBORw0KGgoAAAANSUhEUgAA…"
}Привязка по номеру телефона
/v1/accounts/:id/authorization/phoneWhatsApp: возвращает 8-значный код — его вводят в WhatsApp на телефоне («Связать по номеру телефона»).
Telegram и MAX: мессенджер присылает код в SMS или в приложение — передайте его методом authorization/code.
Параметры пути
iduuidобязательноТело запроса
phonestringобязательноОшибки
| 404 | not_found | номера нет или он принадлежит другому клиенту |
| 502 | upstream_error | провайдер мессенджера не ответил или ответил ошибкой — повторите позже |
curl -X POST "https://msg.xaxu.am/v1/accounts/{id}/authorization/phone" \
-H "Authorization: Bearer $XM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone":"+7 999 123-45-67"}'{
"status": true,
"code": "ABCD1234"
}Ввести код подтверждения
/v1/accounts/:id/authorization/codeTelegram и MAX: код, пришедший после привязки по номеру. Если у аккаунта Telegram облачный пароль, его можно передать сразу в password или следом отдельным методом.
Параметры пути
iduuidобязательноТело запроса
codestring 2…20обязательноpasswordstringОшибки
| 404 | not_found | номера нет или он принадлежит другому клиенту |
| 502 | upstream_error | провайдер мессенджера не ответил или ответил ошибкой — повторите позже |
curl -X POST "https://msg.xaxu.am/v1/accounts/{id}/authorization/code" \
-H "Authorization: Bearer $XM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"code":"12345"}'{
"status": true
}Облачный пароль Telegram
/v1/accounts/:id/authorization/passwordКогда номер в состоянии pendingPassword: вход принят, но аккаунт Telegram защищён облачным паролем (двухэтапная проверка). До этого отправка отвечает 409 account_not_ready.
Параметры пути
iduuidобязательноТело запроса
passwordstringобязательноОшибки
| 404 | not_found | номера нет или он принадлежит другому клиенту |
| 502 | upstream_error | провайдер мессенджера не ответил или ответил ошибкой — повторите позже |
curl -X POST "https://msg.xaxu.am/v1/accounts/{id}/authorization/password" \
-H "Authorization: Bearer $XM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"password":"••••••••"}'{
"status": true
}Отвязать номер от телефона
/v1/accounts/:id/logoutВыходит из аккаунта мессенджера. Номер остаётся у вас — его можно привязать заново (тот же или другой телефон).
Параметры пути
iduuidобязательноОшибки
| 404 | not_found | номера нет или он принадлежит другому клиенту |
| 502 | upstream_error | провайдер мессенджера не ответил или ответил ошибкой — повторите позже |
curl -X POST "https://msg.xaxu.am/v1/accounts/{id}/logout" \
-H "Authorization: Bearer $XM_API_KEY"{
"isLogout": true
}Перезапустить номер
/v1/accounts/:id/rebootПерезапуск у провайдера, когда номер «завис». Привязка сохраняется.
Номер, который висит в starting дольше 5 минут, шлюз перезапускает сам (потом каждые 10 минут до 3 раз, дальше раз в час); не помогло за 3 раза — тревога оператору.
Параметры пути
iduuidобязательноОшибки
| 404 | not_found | номера нет или он принадлежит другому клиенту |
| 502 | upstream_error | провайдер мессенджера не ответил или ответил ошибкой — повторите позже |
curl -X POST "https://msg.xaxu.am/v1/accounts/{id}/reboot" \
-H "Authorization: Bearer $XM_API_KEY"{
"isReboot": true
}Переотправить настройки провайдеру
/v1/accounts/:id/sync-settingsЗаново прописывает у провайдера адрес приёма входящих и нужные уведомления. Шлюз делает это сам при подключении; вручную — если входящие перестали приходить.
Параметры пути
iduuidобязательноОшибки
| 404 | not_found | номера нет или он принадлежит другому клиенту |
| 502 | upstream_error | провайдер мессенджера не ответил или ответил ошибкой — повторите позже |
curl -X POST "https://msg.xaxu.am/v1/accounts/{id}/sync-settings" \
-H "Authorization: Bearer $XM_API_KEY"{
"ok": true
}