GetStateInstance#
Метод предназначен для получения состояния инстанса.
Для метода используются ограничения на частоту запросов в секунду.
Запрос#
Для получения состояния инстанса требуется выполнить запрос по адресу:
 GET    
 {{apiUrl}}/v3/waInstance{{idInstance}}/getStateInstance/{{apiTokenInstance}}
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Ответ#
Поля ответа#
| Поле | Тип | Описание | 
|---|---|---|
stateInstance |  string | Состояние инстанса. Принимает значения: | 
notAuthorized - Инстанс не авторизован Для авторизации инстанса обратитесь к разделу Перед началом работы  |  ||
authorized - Инстанс авторизован |  ||
blocked - Инстанс получил блокировку (Временно недоступен) |  ||
starting - Инстанс в процессе запуска (сервисный режим) Происходит перезагрузка инстанса, сервера или инстанс в режиме обслуживания Может потребоваться до 5 минут для перехода состояния инстанса в значение authorized |  ||
suspended - На аккаунте временные ограничения (частичный запрет отправки сообщений) Время окончания ограничений находится в поле ответа GetAccountSettings suspendedUntil Подробнее о статусе suspended читайте в статье |  
При статусе
suspendedотправка сообщений возможна только на номера, сохранённые в контакты.
При отправке на номер, не сохранённый в контактах, будет получена ошибка 403 с описаниемYour account is suspended.
Пример тела ответа#
{
    "stateInstance": "authorized"
}
Ошибки GetStateInstance#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Идентификатор ошибки | Описание | 
|---|---|---|
| 200 | Инстанс долго (более 5 минут) в состоянии starting |  1. Сделать перезапуск инстанса методом reboot  2. Обратиться в службу технической поддержки  |  
Примеры кода#
import requests
url = "{{apiUrl}}/v3/waInstance{{idInstance}}/getStateInstance/{{apiTokenInstance}}"
payload = {}
headers= {}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/v3/waInstance{{idInstance}}/getStateInstance/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/v3/waInstance").append({{idInstance}})
    .append("/getStateInstance/")
    .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("/getStateInstance/")
    .append({{apiTokenInstance}});
var response = Unirest.get(requestUrl.toString())
    .header("Content-Type", "application/json")
    .asString();
System.out.println(response);
Sub GetStateInstance()
    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}}/getStateInstance/{{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