[go: up one dir, main page]

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

GetAuthorizationCode#

Test Postman

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

Процесс авторизации:

  1. На Вашем телефоне должно быть установленно официальное приложение WhatsApp или WhatsApp Business.
  2. Требуется зарегистрироваться в личном кабинете и создать инстанс.
  3. В приложении WhatsApp выберете пункт меню "Связанные устройства" -> "Привязка устройства" -> " Связать по номеру телефона".
  4. Вызовите метод GetAuthorizationCode из личного кабинета или через коллекцию Postman, указав в теле запроса номер Вашего телефона (поле phoneNumber). В ответ на вызов метода GetAuthorizationCode вы получете 2 поля: status и code.

    Код для авторизации по номеру телефона действует приблизительно 2.5 минуты.

  5. Введите в приложении WhatsApp полученный код, авторизация прошла успешно.

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

Более подробно процедура авторизации описана в разделе Перед началом работы.

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

Запрос#

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

POST
{{apiUrl}}/waInstance{{idInstance}}/getAuthorizationCode/{{apiTokenInstance}}

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

Параметры запроса#

Параметр Тип Обязательный Описание
phoneNumber integer Да Номер телефона в международном формате без + и 00

Пример тела запроса#

{
    "phoneNumber": 441234567890
}

Ответ#

Поля ответа#

Поле Тип Описание
status boolean Статус получения кода, возможные значения true, false
true - код получен успешно
false - возникла ошибка при получении кода (повторить попытку получения кода)
code string Код авторизации

Пример тела ответа#

{
    "status": true,
    "code":"GAPI2018"
}

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

Ошибки#

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

Код HTTP Идентификатор ошибки Описание
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