GetAuthorizationCode#
Метод предназначен для авторизации инстанса по номеру телефона.
Метод используется как альтернатива методу QR.
Процесс авторизации:
- На Вашем телефоне должно быть установленно официальное приложение WhatsApp или WhatsApp Business.
- Требуется зарегистрироваться в личном кабинете и создать инстанс.
- В приложении WhatsApp выберете пункт меню "Связанные устройства" -> "Привязка устройства" -> " Связать по номеру телефона".
- Вызовите метод GetAuthorizationCode из личного кабинета или через коллекцию Postman, указав в теле запроса номер Вашего телефона (поле
phoneNumber
). В ответ на вызов метода GetAuthorizationCode вы получете 2 поля:status
иcode
.Код для авторизации по номеру телефона действует приблизительно 2.5 минуты.
- Введите в приложении WhatsApp полученный код, авторизация прошла успешно.
Для получения кода инстанс должен быть в неавторизованном состоянии. Если инстанс авторизован, то предварительно требуется разлогинить инстанс методом Logout.
Более подробно процедура авторизации описана в разделе Перед началом работы.
После успешного ввода кода и авторизации инстанса формируется входящее уведомление вида Статус инстанса.
Запрос#
Для получения кода авторизации требуется выполнить запрос по адресу:
{{apiUrl}}/waInstance{{idInstance}}/getAuthorizationCode/{{apiTokenInstance}}
Для получения параметров запроса apiUrl
, idInstance
и apiTokenInstance
обратитесь к разделу Перед началом работы.
Параметры запроса#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
phoneNumber | integer | Да | Номер телефона в международном формате без + и 00 |
Пример тела запроса#
{
"phoneNumber": 441234567890
}
Ответ#
Поля ответа#
Поле | Тип | Описание |
---|---|---|
status | boolean | Статус получения кода, возможные значения true , false |
true - Код получен успешно | ||
false - Код не получен. Возможные причины: 1. Инстанс уже авторизован 2. Возникла ошибка при получении кода (повторите попытку получения кода) | ||
code | string | Код авторизации |
Пример тела ответа#
{
"status": true,
"code":"GAPI2018"
}
Получение кода может занимать время до 30 секунд
Ошибки#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
Код HTTP | Идентификатор ошибки | Описание |
---|---|---|
200 | "status": false | 1. Инстанс уже авторизован либо 2. Возникла ошибка при получении кода (повторить попытку получения кода) |
400 | Bad Request Validation failed | Ошибка валидации |
400 | Validation failed. Details: Wrong format. 'phoneNumber' must contain only digits | Номер должен содержать только цифры |
Примеры кода#
import requests
import json
url = "{{apiUrl}}/waInstance{{idInstance}}/getAuthorizationCode/{{apiTokenInstance}}"
payload = json.dumps({
"phoneNumber": 441234567890
})
headers= {}
response = requests.post(url, json=payload)
print(response.text.encode('utf8'))
curl --location 'http://localhost:6001/waInstance9903789715/getAuthorizationCode/f4fc69110b364ecfbc75cdd800d0516e4933b4d4e9574ea688' \
--header 'Content-Type: application/json' \
--data '{
"phoneNumber": 441234567890
}'
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/getAuthorizationCode/")
.append({{apiTokenInstance}});
var response = Unirest.post(requestUrl.toString())
.header("Content-Type", "application/json")
.body("{\n \"phoneNumber\": 441234567890,\n}")
.asString();
System.out.println(response);
Sub GetAuthorizationCode()
Dim url As String
Dim RequestBody 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}}/getAuthorizationCode/{{apiTokenInstance}}"
' phoneNumber - Phone number in international format without + and 00
RequestBody = "{""phoneNumber"":79123456780}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", url, False
.setRequestHeader "Content-Type", "application/json"
.send RequestBody
End With
response = http.responseText
Debug.Print response
' Outputting the answer to the desired cell
Range("A1").Value = response
Set http = Nothing
End Sub