GetStateInstance#
Метод предназначен для получения состояния инстанса.
Для метода используются ограничения на частоту запросов в секунду.
Запрос#
Для получения состояния инстанса требуется выполнить запрос по адресу:
GET
{{apiUrl}}/waInstance{{idInstance}}/getStateInstance/{{apiTokenInstance}}
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
stateInstance | string | Состояние инстанса. Принимает значения: |
notAuthorized - Инстанс не авторизован. Данный статус также отображается в процессе ожидания ввода кода или пароля | ||
authorized - Инстанс авторизован | ||
blocked - Инстанс получил блокировку. Подробнее о статусе suspended читайте в статье | ||
suspended - На аккаунте временные ограничения (частичный запрет отправки сообщений) Тип ограничения указан в поле ответа suspendedType, время окончания — в поле suspendedUntil Сообщения, отклонённые из-за ограничений, получают статус suspended в уведомлении Статус отправленного сообщения и в журналах Подробнее о статусе suspended читайте в статье | ||
starting - Инстанс в процессе запуска (сервисный режим) Происходит перезагрузка инстанса, сервера или инстанс в режиме обслуживания Может потребоваться до 5 минут для перехода состояния инстанса в значение authorized | ||
pendingPassword - Для завершения авторизации необходимо отправить пароль двухфакторной аутентификации (2fa) методом SendAuthorizationPassword | ||
suspendedType | string | Тип ограничения. Поле присутствует только при "stateInstance": "suspended". Принимает значения: |
real - Ограничения наложены мессенджером Telegram (аккаунт заморожен). Снимаются после разблокировки аккаунта со стороны Telegram | ||
shadow - Ограничения установлены GREEN-API после того, как Telegram отклонил отправку сообщения из-за спам-ограничений. Снимаются автоматически по истечении suspendedUntil (через 24 часа) или при перезапуске инстанса методом Reboot | ||
suspendedUntil | integer | Время окончания ограничений в UNIX-формате. Поле присутствует только при "stateInstance": "suspended" Значение 0 означает, что Telegram не сообщил срок окончания ограничений |
Пример тела ответа#
{
"stateInstance": "authorized"
}
Пример тела ответа при статусе suspended#
{
"stateInstance": "suspended",
"suspendedType": "shadow",
"suspendedUntil": 1755675927
}
Ошибки#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Идентификатор ошибки | Описание |
|---|---|---|
| 200 | Инстанс долго (более 5 минут) в состоянии starting | 1. Сделать перезапуск инстанса методом reboot 2. Обратиться в службу технической поддержки |
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/getStateInstance/{{apiTokenInstance}}"
payload = {}
headers= {}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/getStateInstance/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/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("/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}}/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