callsState#
Бета-версия
Функциональность находится в режиме бета-версии. Функции могут быть изменены, а также могут работать нестабильно. В будущем за функционал может взиматься дополнительная плата.
Подключение к функционалу можно запросить через техподдержку GREEN-API
Метод предназначен для получения текущего состояния звонка.
Это то же состояние, которое приходит в соединении callsRtc в сообщении с типом state. Метод нужен, когда состояние требуется узнать вне соединения — например, чтобы проверить, идёт ли звонок, до подключения к callsRtc.
Запрос#
Для получения состояния звонка требуется выполнить запрос по адресу:
{{apiUrl}}/waInstance{{idInstance}}/callsState/{{apiTokenInstance}}
Запрос выполняется без параметров.
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
state | string | Состояние звонка. Принимает значения: |
idle — звонка нет | ||
inc-call — поступил входящий вызов | ||
out-call — идёт дозвон по исходящему вызову | ||
on-call — разговор идёт | ||
info | object | Данные о вызове и собеседнике: id, wid, name. Приходит в состояниях inc-call, out-call и on-call. Состав полей описан в разделе Объект info |
reason | string | Причина завершения звонка. Приходит только в состоянии idle и только если сервер её назвал. Перечень значений — в разделе Причины завершения |
Пример тела ответа#
Звонка нет:
{
"state": "idle"
}
Ошибки#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки.
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/callsState/{{apiTokenInstance}}"
payload = {}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/callsState/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/callsState/")
.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("/callsState/")
.append({{apiTokenInstance}});
var response = Unirest.get(requestUrl.toString())
.header("Content-Type", "application/json")
.asString();
System.out.println(response);