QR#
Рекомендуется использовать метод Метод авторизации по номеру телефона
Метод предназначен для получения QR-кода. Для авторизации аккаунта требуется считать QR-код из приложения WhatsApp Business на телефоне. Также получить QR-код и авторизовать аккаунт можно в личном кабинете. Процедура авторизации аккаунта через личный кабинет описана в разделе Перед началом работы.
QR-код обновляется каждые 20 сек., поэтому вызывать метод получения QR-кода рекомендуется с интервалом в 1 сек.
Для получения QR-кода аккаунт должен быть в неавторизованном состоянии. Если аккаунт авторизован, то предварительно требуется разлогинить аккаунт методом Logout.
После успешного сканирования QR-кода и авторизации аккаунта формируется входящее уведомление с видом Статус аккаунта.
Также получить QR-код можно через websocket-соединение
Запрос#
Для получения QR-кода требуется выполнить запрос по адресу:
GET https://api.green-api.com/waInstance{{idInstance}}/qr/{{apiTokenInstance}}
Для получения параметров запроса 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#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
Пример получения QR-кода в браузере#
https://qr.green-api.com/waInstance{{idInstance}}/{{apiTokenInstance}}
Для получения параметров запроса idInstance
и apiTokenInstance
обратитесь к разделу Перед началом работы.
Вам необходимо заменить значения idInstance и apiTokenInstance на ваши, для получения ссылки вида:
https://qr.green-api.com/waInstance11015502/ccc44689b17435537c15a939d0a478b71c3bd7d7d52d312345
Также пример получения QR-кода в браузере можно посмотреть в файле browserExampleQRcode
Примеры кода#
import requests
url = "https://api.green-api.com/waInstance{{idInstance}}/qr/{{apiTokenInstance}}"
payload = {}
headers= {}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
curl --location 'https://api.green-api.com/waInstance{{idInstance}/qr/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append("https://api.greenapi.com")
.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("https://api.greenapi.com")
.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 idInstance and apiTokenInstance values are available in your account, double brackets must be removed
url = "https://api.green-api.com/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