QR#
Метод предназначен для получения QR-кода.
Внимание!
В настоящее время для авторизации по QR-коду необходимо отключить пароль для входа в мессенджере MAX.
Для авторизации инстанса требуется считать QR-код из мессенджера MAX на телефоне.
Также получить QR-код и авторизовать инстанс можно в Личном кабинете, на странице вашего инстанса.
QR-код имеет ограниченное время жизни, поэтому рекомендуется запрашивать новый QR-код каждые 5 секунд.
Для получения QR-кода инстанс должен быть в неавторизованном состоянии. Если инстанс авторизован, то предварительно требуется разлогинить инстанс методом Logout.
После успешного сканирования QR-кода и авторизации инстанса формируется входящее уведомление с видом Статус инстанса.
Для метода используются ограничения на частоту запросов в секунду.
Запрос#
Для получения QR-кода требуется выполнить запрос по адресу:
{{apiUrl}}/v3/waInstance{{idInstance}}/qr/{{apiTokenInstance}}
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
type | string | Тип сообщения, возможные значения qrCode, error, alreadyLogged |
message | string | Содержание сообщения. Принимает различные значения в зависимости от значения поля type |
Получено изображение QR-кода#
| Поле | Тип | Описание |
|---|---|---|
type | string | qrCode - получено изображение QR-кода |
message | string | Изображение QR-кода в кодировке base64. Для вывода в браузере нужно добавить строку data:image/png;base64, {message} |
Возникла ошибка#
| Поле | Тип | Описание |
|---|---|---|
type | string | error - возникла ошибка |
message | string | Описание ошибки |
timeout - Сервера MAX недоступны | ||
not_ready - Инстанс не готов к работе. Попробуйте повторить попытку. Если ошибка сохраняется - обратитесь в техническую поддержку | ||
connection_closed - Запрос отклонён серверами MAX. Попробуйте повторить попытку. Если ошибка сохраняется - обратитесь в техническую поддержку |
Инстанс уже авторизован#
| Поле | Тип | Описание |
|---|---|---|
type | string | already_registered - инстанс уже авторизован. Для получения QR-кода требуется предварительно разлогинить инстанс методом Logout |
message | string | Принимает значение instance account already authorized |
Пример получения QR-кода в браузере#
https://qr.green-api.com/waInstance{{idInstance}}/{{apiTokenInstance}}/v3
Для получения параметров запроса idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Вам необходимо заменить значения idInstance и apiTokenInstance на ваши, для получения ссылки вида:
https://qr.green-api.com/waInstance11015502/ccc44689b17435537c15a939d0a478b71c3bd7d7d52d312345/v3
Ошибки QR#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки .
| Код HTTP | Идентификатор ошибки | Описание |
|---|---|---|
| 200 | OK | Инстанс уже авторизован |
| При получении QR-кода по ссылкам выше, может появиться ошибка и загрузка кода будет происходить бесконечно долго | 1. Проверить корректность сформированной ссылки. 2. Проверить корректность данных idInstance и apiTokenInstance |
Примеры кода#
import requests
url = "{{apiUrl}}/v3/waInstance{{idInstance}}/qr/{{apiTokenInstance}}"
payload = {}
headers= {}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/v3/waInstance{{idInstance}}/qr/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/v3/waInstance").append({{idInstance}})
.append("/qr/")
.append({{apiTokenInstance}});
var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.GET, null, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/v3/waInstance").append({{idInstance}})
.append("/qr/")
.append({{apiTokenInstance}});
var response = Unirest.get(requestUrl.toString())
.header("Content-Type", "application/json")
.asString();
System.out.println(response);
Sub qr()
Dim url As String
Dim http As Object
Dim response As String
' The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
url = "{{apiUrl}}/v3/waInstance{{idInstance}}/qr/{{apiTokenInstance}}"
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
http.Send
response = http.responseText
Debug.Print response
' Outputting the answer to the desired cell
' Range("A1").Value = response
Set http = Nothing
End Sub