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

callsState#

Бета-версия

Функциональность находится в режиме бета-версии. Функции могут быть изменены, а также могут работать нестабильно. В будущем за функционал может взиматься дополнительная плата.
Подключение к функционалу можно запросить через техподдержку GREEN-API

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

Это то же состояние, которое приходит в соединении callsRtc в сообщении с типом state. Метод нужен, когда состояние требуется узнать вне соединения — например, чтобы проверить, идёт ли звонок, до подключения к callsRtc.

Запрос#

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

GET
{{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);