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