Получить QR-код через websocket#
Наравне с получением QR-кода методом QR существует возможность получить QR-код через websocket-соединение. Таймаут ожидания сканирования QR-кода составляет 100 секунд. За это время QR-код должен быть отсканирован. Для получения QR-кода инстанс должен быть в неавторизованном состоянии. Если инстанс авторизован, то предварительно требуется разлогинить инстанс методом Logout.
После успешного сканирования QR-кода и авторизации инстанса формируется входящее уведомление с видом Статус инстанса.
Для получения QR-кода требуется установить websocket-соединение по адресу:
{{apiUrl}}/waInstance{{idInstance}}/scanqrcode/{{apiTokenInstance}}
Для получения параметров websocket-соединения apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Примечание
Данный метод получает QR-код, идентичный тому, что можно получить с помощью метода QR.
Данный метод допускает создание только 1-сессии, а метод QR можно вызывать с множества устройств.
Ошибки для данного метода и метода QR идентичны.
Пример получения QR-кода через websocket#
Пример получения QR-кода через websocket можно посмотреть в файле websocketExampleQRcode
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
type | string | Тип сообщения, возможные значения qrCode, timeout, error, passkeyRequired, alreadyLogged |
message | string | Содержание сообщения. Принимает различные значения в зависимости от значения поля type |
Получено изображение QR-кода#
| Поле | Тип | Описание |
|---|---|---|
type | string | qrCode - получено изображение QR-кода |
message | string | Изображение QR-кода в кодировке base64. Для вывода в браузере нужно добавить строку data:image/png;base64, {message} |
Возникла ошибка#
| Поле | Тип | Описание |
|---|---|---|
type | string | error - возникла ошибка |
message | string | Описание ошибки |
connect closed - соединение с сервером отсуствует | ||
not ready - инстанс не готов к отправке QR-кода | ||
Instance starting - инстанс запускается | ||
socket not open - откройте сокет для получения QR-кода | ||
is in the logout process - На инстансе происходит очистка кеша, дождитесь окончания очистки кеша |
Инстанс уже авторизован#
| Поле | Тип | Описание |
|---|---|---|
type | string | alreadyLogged - инстанс уже авторизован. Для получения QR-кода требуется предварительно разлогинить инстанс методом Logout |
message | string | Принимает значение Instance already logged |
Истек таймаут ожидания сканирования QR-кода#
| Поле | Тип | Описание |
|---|---|---|
type | string | timeout - истекло время, в течение которого QR-код должен быть отсканирован. Таймаут ожидания сканирования QR-кода составляет 100 секунд |
message | string | Принимает значение timeout reading qr code |