API для интеграции пользовательских систем¶
Вы можете интегрировать Вашу информационную систему с «Виртуальной мобильной АТС» воспользовавшись HTTP API.
Примечание
Для использования API Вам понадобится токен авторизации (FMC Token), который Вы можете получить в разделе «Интеграция с CRM» на веб-портале интеграции вашей «Виртуальной мобильной АТС» по адресу https://fmc.kyivstar.ua/crm-integration (используйте логин и пароль администратора предприятия «Виртуальной мобильной АТС»).
Детализированная информация о звонках¶
Интерфейс позволяет получить детализированную информацию о звонках совершённых абонентами Вашей «Виртуальной мобильной АТС» за определённый период времени.
Примечание
Детализированная информация о звонках предоставляется только по номерам, на которых подключен пакет «Конвергентный».
Информация предоставляется в нескольких форматах: CSV, JSON и XML. Для выбора необходимого Вам формата данных используйте URL с соответствующим суффиксом метода.
- HTTP метод:
GET
- URL метода:
https://fmc.kyivstar.ua/api/cdr/v1/callstat.csv
или
https://fmc.kyivstar.ua/api/cdr/v1/callstat.json
или
https://fmc.kyivstar.ua/api/cdr/v1/callstat.xml
- Параметры:
token
(обязательный)64-х символьный ключ авторизации
Пример: «868b26d121e50f3b9e715bd86e77f2d6dbef354e7a9bcdb0aae0a0868a32e4a1»
from
(обязательный)Отметка времени в формате «YYYY-MM-DDTHH:MM:SS»
Начало временного промежутка
Пример: «2017-04-29T14:25:00»
to
(обязательный)Отметка времени в формате «YYYY-MM-DDTHH:MM:SS»
Конец временного промежутка
Пример: «2017-05-03T17:24:55»
names
(опциональный)Флаг (принимает значения «on» или «off»)
Добавляет в данные имена абонентов, найденные в адресной книге Вашей «Виртуальной мобильной АТС»
Значение по умолчанию - «off»
departments
(опциональный)Флаг (принимает значения «on» или «off»)
Добавляет в данные названия отделов абонентов, найденные в адресной книге Вашей «Виртуальной мобильной АТС»
Значение по умолчанию - «off»
ownership
(опциональный)Флаг (принимает значения «on» или «off»)
Добавляет в данные признак принадлежности абонента к предприятию Вашей «Виртуальной мобильной АТС»
Значение по умолчанию - «off»
direction
(опциональный)Флаг (принимает значения «on» или «off»)
Добавляет в данные тип звонка: входной или исходящий
Значение по умолчанию - «off»
- Коды состояния:
200 OK
Успешный запрос, в ответе содержится файл с данными в выбранном формате
400 Bad Request
Не указан один из обязательных параметров, либо один из параметров имеет недопустимое значение
403 Forbidden
Указан неверный ключ авторизации
500 Internal Server Error
Внутренняя ошибка сервера интеграции
Примечания:
Отметки времени указываются в часовом поясе Европа/Киев (EET/EEST);
Максимальный промежуток времени для одного запроса составляет 7 суток;
Параметр
from
не может быть «старше» чем 30 суток;Параметру
to
не может быть присвоено значение в «будущем».to
<=now
.Один из параметров
from
илиto
может быть не указан. В таком случае он будет вычислен автоматически по одной из следующих формул:from
=to
- 7 сутокto
= min(from
+ 7 суток,now()
)
Пример запроса:
GET /api/cdr/v1/callstat.json?token=868b26...32e4a1&from=2017-04-29T14:25:00&to=2017-05-03T17:24:55 HTTP/1.1
Host: fmc.kyivstar.ua
Пример ответа:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Content-Disposition: attachment; filename="callstat_2017-04-29T14:25:00_2017-05-03T17:24:55.json"
{
"calls": [
{
"end_timestamp": "2017-04-29 21:39:48",
"start_timestamp": "2017-04-29 21:39:35",
"calling_number": "0675376761",
"duration": 14,
"called_number": "0671234567",
}
]
}
Пример запроса с использованием утилиты cURL:
curl -X GET \
'https://fmc.kyivstar.ua/api/cdr/v1/callstat.csv?token=868b26...32e4a1&from=2017-04-29T14:25:00&to=2017-05-03T17:24:55'
Пример запроса на PHP:
<?php
$request = new HttpRequest();
$request->setUrl('https://fmc.kyivstar.ua/api/cdr/v1/callstat.csv');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData(array(
'token' => '868b26...32e4a1',
'from' => '2017-04-29T14:25:00',
'to' => '2017-05-03T17:24:55'
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
Пример запроса на Python:
import requests
url = "https://fmc.kyivstar.ua/api/cdr/v1/callstat.csv"
querystring = {
"token": "868b26...32e4a1",
"from": "2017-04-29T14:25:00",
"to": "2017-05-03T17:24:55"
}
response = requests.request("GET", url, params=querystring)
print(response.text)
Пример запроса на Java:
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://fmc.kyivstar.ua/api/cdr/v1/callstat.csv?token=868b26....32e4a1&from=2017-04-29T14%3A25%3A00&to=2017-05-03T17%3A24%3A55")
.get()
.build();
Response response = client.newCall(request).execute();