Перейти к содержанию

QR Протестировать#

Рекомендуется использовать метод авторизации по номеру телефона

Метод предназначен для получения QR-кода. Для авторизации аккаунта требуется считать QR-код из приложения WhatsApp Business на телефоне. Также получить QR-код и авторизовать аккаунт можно в личном кабинете. Процедура авторизации аккаунта через личный кабинет описана в разделе Перед началом работы.

QR-код обновляется каждые 20 секунд., поэтому вызывать метод получения QR-кода рекомендуется с интервалом в 1 секунду.

Для получения QR-кода аккаунт должен быть в неавторизованном состоянии. Если аккаунт авторизован, то предварительно требуется разлогинить аккаунт методом Logout.

После успешного сканирования QR-кода и авторизации аккаунта формируется входящее уведомление с видом Статус аккаунта.

Также получить QR-код можно через websocket-соединение

Запрос#

Для получения QR-кода требуется выполнить запрос по адресу:

GET {{apiUrl}}/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 Описание ошибки
Instance has auth. You need to make log out - данные авторизации есть, но они не пригодны для авторизации, необходимо выполнить метод logout и произвести повторное сканирование QR кода

Получение QR кода может занимать время до 10 минут

Аккаунт уже авторизован#

Поле Тип Описание
type string alreadyLogged - аккаунт уже авторизован. Для получения QR-кода требуется предварительно разлогинить аккаунт методом Logout
message string Принимает значение instance account already authorized

Пример получения QR-кода в браузере#

https://qr.green-api.com/waInstance{{idInstance}}/{{apiTokenInstance}}

Для получения параметров запроса idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.

Вам необходимо заменить значения idInstance и apiTokenInstance на ваши, для получения ссылки вида:

https://qr.green-api.com/waInstance11015502/ccc44689b17435537c15a939d0a478b71c3bd7d7d52d312345

Также пример получения QR-кода в браузере можно посмотреть в файле browserExampleQRcode.

Ошибки QR#

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки .

Ошибка Возможные пути решения
При получении QR-кода по ссылкам выше, может появиться ошибка и загрузка кода
будет происходить бесконечно долго
1. Проверить корректность сформированной ссылки.
2. Проверить корректность данных idInstance и apiTokenInstance

Примеры кода#

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/qr/{{apiTokenInstance}}"

payload = {}
headers= {}

response = requests.request("GET", url, headers=headers, data = payload)

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/qr/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/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("/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}}/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