Описание Ringostat API и общая информация
Ringostat API (Application Programming Interface) — это набор готовых средств (классов, процедур, функций) доступа, взаимодействия и управления, предоставляемых Ringostat для использования во внешних программных продуктах (CRM-системы, системы статистики и аналитики и т.п.).
Используя интеграцию с Ringostat по API у вас появляются возможности самостоятельно отправлять нужные запросы нам на сервер или вызывать определенные события.
- в любой удобный момент получить свыше 30 параметров по звонкам
- обращаться для проверки номера звонящего
при реализации собственной логики переадресации звонков; - инициациировать звонок между 2мя направлениями(простой метод)
используется для инициирования звонков из CRM-системы(если она позволяет и 1но из направлений это SIP-аккаунт или номер в проекте) - инициациировать звонок между 2мя направлениями(расширенный метод)
используется при реализации собственного виджета обратного звонка - проверить доступность SIP-аккаунта(созданного в рамках проекта)
в ответ на запрос будет отправлен массив логинов SIP-аккаунтов, которые в сети(online) - проверить активность SIP-аккаунта(созданного в рамках проекта)
в ответ на запрос будет отправлен массив логинов SIP-аккаунтов, которые сейчас разговаривают(входящий или исходящий звонок)
Ключ авторизации должен быть передан как дополнительный заголовок (header) HTTP-Запроса.
Ключ авторизации доступен в личном кабинете Ringostat, на странице Интеграции -> Ringostat API:
Экспорт журнала звонков
API-запрос экспорта журнала звонков, позволяет получить свыше 30 параметров в удобном для вас формате.
Используя всего 1м запросом можно получить всю необходимую историю взаимодействия пользователя с сайтом и звонками.
В сочетании с функционалом переадресации с помощью Webhook перед звонком клиента, вы можете проверить его номер на предмет повторности его звонка и/или наличие исходящего звонка для переадресации на менеджера, с которым ранее общался звонящий.
Основные параметры запроса:
GEThttps://api.ringostat.net/calls/list
Имя параметра | Описание | Значение по умолчанию |
---|---|---|
export_type |
Формат выгрузки данных: json или csv |
json |
from |
Начальные дата и время экспорта в формате YYYY-MM-DD HH:MM:SS |
значение to минус 24 часа |
to |
Конечные дата и время экспорта в формате YYYY-MM-DD HH:MM:SS |
текущие дата и время |
fields |
Список полей для выборки из журнала звонков, разделённых запятой; | calldate, caller, dst |
filters |
Фильтры, для выборки данных подпадающих под условие по значениям полей | нет |
merge |
Объединение выборки по номеру звонящего:0 – не объединять;1 – объединять за каждые 24 часа;2 – объединять за всё время; |
0 – не объединять; |
order |
Сортировка выборки | текущие дата и время |
{
"calldate": "2019-06-18T14:50:01+0300",
"caller": "380671112233",
"dst": "380672223344",
"disposition": "ANSWERED",
"billsec": 17,
"utm_source": "(direct)",
"utm_medium": "(none)",
"recording": "https://app.ringostat.com/recordings/ua1_-111111111.22222222.ogg?token=savhabfabansbjsnvj"
},
{
"calldate": "2019-06-18T15:14:14+0300",
"caller": "380441112233",
"dst": "380442223344",
"disposition": "PROPER",
"billsec": 47,
"utm_source": "(direct)",
"utm_medium": "(none)",
"recording": "https://app.ringostat.com/recordings/ua1_-22222222.111111111.ogg?token=e17savhabfabansbjsnvjeaefd5584eed2375f"
}
const https = require('https');
const config = {
host: 'api.ringostat.net',
path: '/calls/list?export_type=json&from=2019-06-01%2000:00:00&to=2019-06-18%2023:59:59&fields=calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording',
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Auth-key': 'unique_auth_key_value'
}
};
const callback = response => {
let result = Buffer.alloc(0);
response.on('data', chunk => {
result = Buffer.concat([ result, chunk ]);
});
response.on('end', () => {
//handle response
})
};
const request = https.request(config, callback);
request.end();
const axios = require('axios');
axios({
url: 'https://api.ringostat.net/calls/list',
method: 'GET',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Auth-key': 'unique_auth_key_value'
},
params: JSON.stringify({
'export_type': 'json',
'from': '2019-06-01 00:00:00',
'to': '2019-06-18 23:59:59',
'fields': 'calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording'
})
}).then(response => {
//handle response
}).catch(error => {
//handle error
})
curl "https://api.ringostat.net/calls/list?export_type=json&from=2019-06-01 00:00:00&to=2019-06-18 23:59:59&fields=calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording" \
-H "Content-Type: application/json" \
-H "Auth-key: unique_auth_key_value"
Поля для выборки
За основными параметрами следуют поля для выборки. Для добавления полей используется ключ fields
. Он позволяет добавить одно или несколько значений разделённые запятыми.
Параметр | Описание |
---|---|
caller |
Номер звонящего |
dst |
Куда звонили |
pool_name |
Имя пула, в котором расположен номер |
disposition |
Статус звонка |
calldate |
Дата и время звонка |
category_mark |
Ценность звонка |
duration |
Длительность звонка(ожидание + разговор) |
call_type |
Тип звонка( входящий / исходящий / callback) |
waittime |
Время ожидания ответа на звонок |
billsec |
Длительность разговора |
connected_with |
С кем соединен |
call_counter |
Какой по счету звонок |
proper_flag |
Статус звонка: Целевой |
repeated_flag |
Статус звонка: Повторный |
utm_source |
Источник перехода |
utm_medium |
Канал перехода |
utm_campaign |
Кампания объявления |
utm_content |
Содержание объявления |
utm_term |
Ключевое слово объявления |
uniqueid |
id звонка в системе Ringostat |
category_number |
Категория звонка |
employee_number |
Код сотрудника |
employee_mark |
Оценка сотруднику за звонок |
client_id |
UUID посетителя |
remote_ip |
IP посетителя |
refferrer |
URL адрес страницы, с которой посетитель перешёл на сайт |
landing |
Страница входа посетителя |
recording |
Ссылка на аудиозапись |
call_card |
Ссылка на карточку звонка для номера, с или на который звонили |
additional_number |
Добавочный номер, введенный при звонке на Голосовое меню IVR |
has_recording |
Значение 1 или 0, в зависимости от того, был ли записан разговор при звонке |
scheme_name |
Название схемы переадресации, на которую был направлен звонок |
duration_ms |
Длительность разговора в миллисекундах (duration*1000) |
{
"calldate": "2019-06-18T14:50:01+0300",
"caller": "380671112233",
"dst": "380672223344",
"pool_name": "Callback",
"disposition": "ANSWERED",
"category_mark": 0,
"duration": 35,
"call_type": "in",
"waittime": "18",
"billsec": 17,
"connected_with": "380673334455",
"call_counter": 3,
"proper_flag": 0,
"repeated_flag": 0,
"utm_source": "(direct)",
"utm_medium": "(none)",
"utm_campaign": "(direct)",
"utm_content": "(not set)",
"utm_term": "(none)",
"uniqueid": "ua1_-1111111111.22222222",
"category_number": -1,
"employee_number": -1,
"employee_mark": 0,
"client_id": "1111111111.2222222233333",
"remote_ip": "10.10.10.10",
"refferrer": "https://google.com/",
"landing": "onemilliondollarswebsite.com/",
"recording": "https://app.ringostat.com/recordings/ua1_-1111111111.22222222.ogg?token=a7784183668598a77841a77841836c444d31bb",
"call_card": "https://app.ringostat.com/project/callcards/card/ua1_-1111111111.22222222/?project_id=11111",
"additional_number": "",
"has_recording": "1",
"scheme_name": "test",
"duration_ms": "35000"
}
const https = require('https');
const config = {
host: 'api.ringostat.net',
path: '/calls/list?export_type=json&from=2019-06-01%2000:00:00&to=2019-06-18%2023:59:59&fields=calldate,caller,dst,pool_name,disposition,category_mark,duration,call_type,waittime,billsec,connected_with,call_counter,proper_flag,repeated_flag,utm_source,utm_medium,utm_campaign,utm_content,utm_term,uniqueid,category_number,employee_number,employee_mark,client_id,remote_ip,refferrer,landing,recording,call_card,additional_number,has_recording,scheme_name,duration_ms',
method: 'GET',
headers: {
'Auth-key': 'unique_auth_key_value'
}
};
const callback = response => {
let result = Buffer.alloc(0);
response.on('data', chunk => {
result = Buffer.concat([ result, chunk ]);
});
response.on('end', () => {
//handle response
});
};
const request = https.request(config, callback);
request.end();
axios({
url: 'https://api.ringostat.net/calls/list',
method: 'GET',
headers: {
'Auth-key': 'unique_auth_key_string'
},
params: {
export_type: 'json',
from: '2019-06-01 00:00:00',
to: '2019-06-18 23:59:59',
fields: 'calldate,caller,dst,pool_name,disposition,category_mark,duration,call_type,waittime,billsec,connected_with,call_counter,proper_flag,repeated_flag,utm_source,utm_medium,utm_campaign,utm_content,utm_term,uniqueid,category_number,employee_number,employee_mark,client_id,remote_ip,refferrer,landing,recording,call_card,additional_number,has_recording,scheme_name,duration_ms'
}
}).then(response => {
//handle response
}).catch(error => {
//handle error
});
curl "https://api.ringostat.net/calls/list?&export_type=json&from=2019-06-01 00:00:00&to=2019-06-18 23:59:59&fields=calldate,caller,dst,pool_name,disposition,category_mark,duration,call_type,waittime,billsec,connected_with,call_counter,proper_flag,repeated_flag,utm_source,utm_medium,utm_campaign,utm_content,utm_term,uniqueid,category_number,employee_number,employee_mark,client_id,remote_ip,refferrer,landing,recording,call_card,additional_number,has_recording,scheme_name,duration_ms" \
-H "Content-Type: application/json" \
-H "Auth-key: unique_auth_key_value"
Фильтры выборки
Фильтры необходимы для выборки звонков по заданным параметрам.
Фильтр состоит из имени поля, символа сравнения и значением в соответствующей последовательности.
Для добавления фильтра используется ключ filters
, который позволяет добавлять один или несколько фильтров разделённых запятыми.
Фильтр | Описание фильтра |
---|---|
> |
больше |
< |
меньше |
>= |
больше, либо равно |
<= |
меньше, либо равно |
= |
равно |
<> |
не равно |
~ |
регулярное выражение Литерал должен быть закодирован в base64 |
{
"calldate": "2019-06-18T14:50:01+0300",
"caller": "380671112233",
"dst": "380672223344",
"disposition": "ANSWERED",
"billsec": 17,
"utm_source": "(direct)",
"utm_medium": "(none)",
"recording": "https://app.ringostat.com/recordings/ua1_-1111111111.22222222.ogg?token=a7784183668598a77841a77841836c444d31bb"
},
{
"calldate": "2019-06-18T15:14:14+0300",
"caller": "380671112233",
"dst": "380672223344",
"disposition": "PROPER",
"billsec": 47,
"utm_source": "(direct)",
"utm_medium": "(none)",
"recording": "https://app.ringostat.com/recordings/ua1_-1111111111.22222222.ogg?token=a7784183668598a77841a77841836c444d31bb"
}
const https = require('https');
let encodeCallStatus = Buffer.from('answered|proper|repeated').toString('base64');
const config = {
host: 'api.ringostat.net',
path: `/calls/list?export_type=json&from=2019-06-01%2000:00:00&to=2019-06-18%2023:59:59&fields=calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording&filters=disposition~${encodeCallStatus}`,
method: 'GET',
headers: {
'Auth-key': 'unique_auth_key_string'
}
};
const callback = response => {
let result = Buffer.alloc(0);
response.on('data', chunk => {
result = Buffer.concat([ result, chunk ]);
});
response.on('end', () => {
//handle response
});
};
const request = https.request(config, callback);
request.end();
let encodeCallStatus = Buffer.from('answered|proper|repeated').toString('base64');
axios({
url: 'https://api.ringostat.net/calls/list',
method: 'GET',
headers: {
'Auth-key': 'unique_auth_key_string'
},
params: JSON.stringify({
'export_type': 'json',
'from': '2019-06-01 00:00:00',
'to': '2019-06-18 23:59:59',
'fields': 'calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording',
'filters': `disposition~${encodeCallStatus}`
})
}).then(response => {
//handle response
}).catch(error => {
//handle error
})
curl "https://api.ringostat.net/calls/list?export_type=json&from=2019-06-01 00:00:00&to=2019-06-18 23:59:59&fields=calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording&filters=disposition~YW5zd2VyZWR8cHJvcGVyfHJlcGVhdGVk" \
-H "Content-Type: application/json" \
-H "Auth-key: unique_auth_key_string"
Объединение и сортировка
Объединение звонков по номеру звонящего используется для группировки данных по звонкам и облегчения визуального восприятия выгруженных данных.
Для объединения звонков используется ключ merge
и по умолчанию равен 0
Сортировка, это один из инструментов группировки выгруженных данных.
Для сортировки данных используется ключ order
и по умолчанию равен calldate%20asc
Имя параметра | значение параметра |
---|---|
merge |
|
0 – объединять за каждые сутки; |
|
1 – объединять за каждые сутки; |
|
2 – объединять за каждые сутки; |
|
order |
|
asc – по возрастанию; |
|
desc – по убиванию; |
{
"calldate": "2019-06-18T14:50:01+0300",
"caller": "380671112233",
"dst": "380672223344",
"disposition": "ANSWERED",
"billsec": 17,
"utm_source": "(direct)",
"utm_medium": "(none)",
"recording": "https://app.ringostat.com/recordings/ua1_-1111111111.22222222.ogg?token=a7784183668598a77841a77841836c444d31bb"
},
{
"calldate": "2019-06-18T15:14:14+0300",
"caller": "380671112233",
"dst": "380672223344",
"disposition": "PROPER",
"billsec": 47,
"utm_source": "(direct)",
"utm_medium": "(none)",
"recording": "https://app.ringostat.com/recordings/ua1_-1111111111.22222222.ogg?token=a7784183668598a77841a77841836c444d31bb"
},
{
"calldate": "2019-06-18T15:14:42+0300",
"caller": "380671112233",
"dst": "380672223344",
"disposition": "PROPER",
"billsec": 58,
"utm_source": "(direct)",
"utm_medium": "(none)",
"recording": "https://app.ringostat.com/recordings/ua1_-1111111111.22222222.ogg?token=a7784183668598a77841a77841836c444d31bb"
}
const https = require('https');
const config = {
host: 'api.ringostat.net',
path: '/calls/list?export_type=json&from=2019-06-01%2000:00:00&to=2019-06-18%2023:59:59&fields=calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording&filters=disposition~YW5zd2VyZWR8cHJvcGVyfHJlcGVhdGVk&merge=1&order=calldate%20asc',
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Auth-key': 'unique_auth_key_string'
}
};
const callback = response => {
let result = Buffer.alloc(0);
response.on('data', chunk => {
result = Buffer.concat([ result, chunk ]);
});
response.on('end', () => {
//handler response
});
};
const request = https.request(config, callback);
request.end();
axios({
url: 'https://api.ringostat.net/calls/list',
method: 'GET',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Auth-key': 'unique_auth_key_string'
},
params: JSON.stringify({
'export_type': 'json',
'from': '2019-06-01 00:00:00',
'to': '2019-06-18 23:59:59',
'fields': 'calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording',
'merge': 1,
'order': 'calldate asc'
})
}).then(response => {
//handle response
}).catch(error => {
//handle error
})
curl "https://api.ringostat.net/calls/list?export_type=json&from=2019-06-01 00:00:00&to=2019-06-18 23:59:59&fields=calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording&merge=1&order=calldate asc" \
-H "Content-Type: application/json" \
-H "Auth-key: unique_auth_key_string"
API-запрос соединения 2х номеров(простой метод Callback)
Для оперативности обработки заявок от клиентов, вы можете настроить автоматический перезвон клиенту, который отправляет заполненную форму регистрации или заказа на вашем сайте.
Аналогично можно инициировать звонок из карточки клиента в вашей CRM.
extension
может быть только номер телефона или SIP-аккаунт из проекта(номер должен быть подключен в проект как "входящий", в разделе "Подключение номеров")
Описание параметров запроса
POST https://api.ringostat.net/callback/outward_call
Имя параметра | Описание |
---|---|
extension |
Номер телефона или логин SIP-аккаунта, с которого звонить (номер должен быть подключен в проект как "входящий", в разделе "Подключение номеров"); |
destination |
Номер телефона или логин SIP-аккаунта, на который звонить |
const https = require('https);
const config = {
host: 'api.ringostat.net',
path: '/callback/outward_call',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Auth-key': 'unique_auth_key_string'
}
};
const callback = response => {
let result = Buffer.alloc(0);
response.on('data', chunk => {
result = Buffer.concat([ result, chunk ]);
});
response.on('end', () => {
//handler response
});
};
const request = https.request(config, callback);
const body = `extension=380441112233&destination=380671112233`;
request.write(body);
request.end();
axios({
url: 'https://api.ringostat.net/callback/outward_call',
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Auth-key': 'unique_auth_key_string'
},
data: JSON.stringify({
'extension': '380441112233',
'destination': '380671112233'
})
}).then(response => {
//handle response
}).catch(error => {
//handle error
})
curl "https://api.ringostat.net/callback/outward_call" \
-X POST \
-d "extension=380441112233&destination=380671112233" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Auth-key: unique_auth_key_string"
API-запрос соединения 2х номеров(расширенный метод Callback)
Расширенный метод универсален, позволяет инициировать звонок между любыми двумя сторонами, которых нет у нас в системе(например, одного из менеджеров и клиента), а так же зафиксировать источники перехода аналогично стандартному Callback.
Данный метод подойдёт для вызова звонка из CRM системы, обработки заявок от клиентов, которые отправляют заполненную форму регистрации или заказа на вашем сайте, или classified решений(досок объявлений).
Описание параметров запроса
POST https://api.ringostat.net/a/v2
Имя параметра | Описание | |
---|---|---|
headers запроса | ||
content-type |
application/json | |
Auth-key |
"unique_auth_key_string" | |
body запроса | ||
jsonrpc |
Версия протокола. Значение 2.0 |
|
id |
Любое число, используется для установки соответствия между запросом и ответом | |
method |
Метод на сервере Ringostat. Значение Api\\V2\\Callback.external |
|
params |
||
callee_type |
Позволяет указать переадресацию на схему переадресацииdefault – номер телефонаscheme – схема переадресации |
|
caller_type |
Позволяет указать переадресацию на схему переадресацииdefault – номер телефонаscheme – схема переадресации |
|
caller |
Номер телефона или SIP-аккаунт звонящего | |
callee |
Номер телефона или SIP-аккаунт, адресата звонка | |
manager_dst |
Направление 1го звонка:1 - менеджер0 - клиент |
|
clientIp |
IP-адрес посетителя | |
utmSource |
источник перехода | |
utmMedium |
канал перехода | |
utmCampaign |
Кампания | |
utmTerm |
ключевое слово | |
utmContent |
Содержимое | |
clientId |
Client ID Google Analytics | |
clientUserAgent |
Клиентское приложение |
const https = require('https');
const config = {
host: 'api.ringostat.net',
path: '/a/v2',
method: 'POST',
headers: {
'Auth-key': 'unique_auth_key_string'
}
};
const callback = response => {
let result = Buffer.alloc(0);
response.on('data', chunk => {
result = Buffer.concat([ result, chunk ]);
});
response.on('end', () => {
//handler response
});
};
const request = https.request(config, callback);
const body = `{
"jsonrpc": "2.0",
"id": 777,
"method": "Api\\V2\\Callback.external",
"params": {
"callee_type": "default",
"caller_type": "default",
"caller": "380671112233",
"callee": "380632223344",
"manager_dst": 1,
"projectId": "11111",
"clientIp": "10.10.10.10",
"utmSource": "ringostat",
"utmMedium": "referral",
"utmCampaign": "extended_callback",
"utmTerm": "test_api_request",
"utmContent": "content",
"clientId": "111111111.2222222222",
"clientUserAgent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
}
}`;
request.write(body);
request.end();
axios({
url: 'https://api.ringostat.net/a/v2',
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Auth-key': 'unique_auth_key_string'
},
data: {
"jsonrpc": "2.0",
"id": 777,
"method": "Api\\V2\\Callback.external",
"params": {
"callee_type": "default",
"caller_type": "default",
"caller": "380671112233",
"callee": "380672223344",
"manager_dst": 1,
"projectId": "11111",
"clientIp": "10.10.10.10",
"utmSource": "ringostat",
"utmMedium": "referral",
"utmCampaign": "extended_callback",
"utmTerm": "test_api_request",
"utmContent": "content",
"clientId": "111111111.2222222222",
"clientUserAgent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
}
}
}).then(response => {
//handle response
}).catch(error => {
//handle error
})
curl "https://api.ringostat.net/a/v2"
-X POST \
-d "{
\"jsonrpc\": \"2.0\",
\"id\": 777,
\"method\": \"Api\\V2\\Callback.external\",
\"params\": {
\"callee_type\": \"default\",
\"caller_type\": \"default\",
\"caller\": \"380671112233\",
\"callee\": \"380672223344\",
\"manager_dst\": 1,
\"projectId\": \"11111\",
\"clientIp\": \"10.10.10.10\",
\"utmSource\": \"ringostat\",
\"utmMedium\": \"referral\",
\"utmCampaign\": \"extended_callback\",
\"utmTerm\": \"test_api_request\",
\"utmContent\": \"content\",
\"clientId\": \"111111111.2222222222\",
\"clientUserAgent\": \"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36\"
}
}" \
-H "Auth-key: unique_auth_key_string" \
- caller – номер клиента, на который нужно перезвонить;
- callee – номер менеджера, который должен ответить на звонок;
- projectId – ID проекта Ringostat;
- clientIp – IP-адрес клиента, которому нужно перезвонить;
Остальные параметры запроса, можно передать без значения(пустые).
Для передачи данных о сессии посетителя – их нужно собирать самостоятельно и добавить в запрос.
Для примера, utm-метки перехода, можно извлечь из куки-файла rngst2(если установлен скрипт подмены), а ClientID Google Analytics из куки-файла _ga.
- 400 Bad Request – отсутствует передача одного из параметров / caller или callee не валидны / значение объекта JavaScript не преобразовано в строку JSON
- 401 Unauthorized – отсутствует или некорректный HTTP-заголовок Auth-Key
- 403 Forbidden – отказано в доступе, не правильный HTTP-заголовок Auth-Key
Проверка доступности SIP-аккаунта
Данный метод позволит определить какие sip-аккаунты активны. Возвращает массив c логинами sip-аккаунтов, которые в статусе "Online".
Описание параметров запроса
GET https://api.ringostat.net/sipstatus/online
[
"supportrngst_manager1",
"supportrngst_manager2",
"supportrngst_manager3",
"supportrngst_manager4",
"supportrngst_manager5",
"supportrngst_manager6",
"supportrngst_manager7"
]
const https = require('https');
const config = {
host: 'api.ringostat.net',
path: '/sipstatus/online',
method: 'GET',
headers: {
'Auth-key': 'unique_auth_key_string'
}
};
const callback = response => {
let result = Buffer.alloc(0);
response.on('data', chunk => {
result = Buffer.concat([ result, chunk ]);
});
response.on('end', () => {
//handle response
});
};
const request = https.request(config, callback);
request.end();
axios({
url: 'https://api.ringostat.net/sipstatus/online',
method: 'GET',
headers: {
'Auth-key': 'unique_auth_key_string'
}
}).then(response => {
//handle response
}).catch(error => {
//handle error
})
curl "https://api.ringostat.net/sipstatus/online" \
-H "Auth-key: unique_auth_key_string"
Проверка наличия активного звонка у SIP-аккаунта
Данный метод позволит определить какие sip-аккаунты не заняты. Возвращает массив логинов sip-аккаунтов проекта, которые в данный момент разговаривают.
Описание параметров запроса
GET https://api.ringostat.net/sipstatus/speaking
[
"supportrngst_manager2",
"supportrngst_manager4",
"supportrngst_manager5",
"supportrngst_manager7"
]
const https = require('https');
const config = {
host: 'api.ringostat.net',
path: '/sipstatus/speaking',
method: 'GET',
headers: {
'Auth-key': 'unique_auth_key_string'
}
};
const callback = response => {
let result = Buffer.alloc(0);
response.on('data', chunk => {
result = Buffer.concat([ result, chunk ]);
});
response.on('end', () => {
//handle response
});
};
const request = https.request(config, callback);
request.end();
axios({
url: 'https://api.ringostat.net/sipstatus/speaking',
method: 'GET',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Auth-key': 'unique_auth_key_string'
}
}).then(response => {
//handle response
}).catch(error => {
//handle error
})
curl "https://api.ringostat.net/sipstatus/speaking" \
-H "Auth-key: unique_auth_key_string"