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

GetStateInstance#

Test Postman Apidog

Метод предназначен для получения состояния инстанса.

Для метода используются ограничения на частоту запросов в секунду.

Запрос#

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

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