Документація
API


Налаштування webhook

  API url: https://mik.ua/api.php?set-webhook

  Приклад запиту:

{ "url":"https://my.example.com", "events":[ "call", "internal" ], "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь:

{ "status": 0, "status_message": "success", "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри відповіді:




Отримання webhook

  API url: https://mik.ua/api.php?get-webhook

  Приклад запиту:

{ "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь:

{ "status": 0, "status_message": "success", "webhooks":[ {"url":"https://www1.example.com", "active":true, "events"=["call"]}, {"url":"https://www2.example.com", "active":false, "events"=["call","internal"]} ], "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри відповіді:




Видалення webhook

  API url: https://mik.ua/api.php?del-webhook

  Приклад запиту:

{ "url":"https://my.example.com", "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь:

{ "status": 0, "status_message": "success", "url":"https://my.example.com", "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри відповіді:




Повідомлення статусу внутрішнього телефону (internal)

  Приклад повідомлення:

{ "event": "internal", "phonenumber": "1001", "status": "Idle", "call": { "uniqueid": "1613123141.17", "src": "+380441234567", "dst": "1001" }, "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь.

  На будь яке повідомлення необхідно надати відповідь - підпис (pbx+timestamp+hash), інакше webhook буде вважатись не працюючим.

{ "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }




Повідомлення виклику (call)

  Приклад повідомлення:

{ "event": "call", "uniqueid": "1613123141.17", "src": "+380441234567", "dst": "1001", "status": "Hold", "direction": "INCOMING", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь.

  На будь яке повідомлення необхідно надати відповідь - підпис (pbx+timestamp+hash), інакше webhook буде вважатись не працюючим.

{ "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }




Повідомлення-перевірка працездатності webhook (ping)

  Приклад повідомлення:

{ "event": "ping", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь.

  На будь яке повідомлення необхідно надати відповідь - підпис (pbx+timestamp+hash), інакше webhook буде вважатись не працюючим.

{ "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }




Відомості про стан телефону

  API url: https://mik.ua/api.php?get-internal

  Приклад запиту:

{ "phonenumber": "1001", "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь:

{ "status": 0, "status_message": "success", "phonenumber": "1001", "phonestatus": "Idle", "callerid": "Богдан Миколайович", "deviceaddr": "IPV4/TLS/192.168.1.1/38608", "forwardnumber": "+380501234567", "forward": [ "always", "busy", "noanswer", "unavailable", "together" ], "email": "user@example.com", "voicemail": true, "announce": true, "trunk": "gsm1", "useragent": "Cisco/SPA514G-7.6.2f", "ACL": [ "10.1.1.1", "192.168.1.0/24", "2001:db8::/32" ], "call": { "uniqueid": "1613123141.17", "src": "+380441234567", "dst": "1001" }, "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри відповіді:




Відомості про дзвінок

  API url: https://mik.ua/api.php?get-call

  Приклад запиту:

{ "uniqueid": "1613123141.17", "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь:

{ "status": 0, "status_message": "success", "uniqueid": "1613123141.17", "src": "+380441234567", "dst": "1001", "callstatus": "Completed", "direction": "INCOMING", "disposition": "ANSWERED", "start": "2021-02-15 17:18:51+02", "answer": "2021-02-15 17:18:53+02", "end": "2021-02-15 17:19:20+02", "duration": 29, "billsec": 26, "talksec": 26, "waitsec": 1, "priorsec": 2, "callcenter": "support", "cost": 3.23, "currency": "UAH", "missed": true, "record": true, "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри відповіді:




Отримання запису розмови

  API url: https://mik.ua/api.php?get-record

  Приклад запиту:

{ "uniqueid": "1613123141.17", "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь:

  бінарний аудіофайл у форматі ogg





Створення виклику

  API url: https://mik.ua/api.php?dial

  Приклад запиту:

{ "phonenumber": "1001", "dial": "+380501234567" "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь:

{ "status": 0, "status_message": "success", "uniqueid": "1613123141.17", "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри відповіді:




Отримання Контакту

  API url: https://mik.ua/api.php?get-contact

  Приклад запиту:

{ "contactid": 4383, "phonenumber": "0501234567", "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Обов'язкове треба зазначити contactid або phonenumber. Параметри:

  Відповідь:

{ "status": 0, "status_message": "success", "contactid": 3792, "name": "Іван Іванович", "phonenumbers": ["+380441234567","00380441234567","0441234567"], "personalmanager": 1002, "custom": {"e-mail":"user@example.com", "фірма":"Рога та Копита"}, "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри відповіді:




Створення або оновлення Контакту

  API url: https://mik.ua/api.php?set-contact

  Приклад запиту:

{ "contactid": 4383, "phonenumber": "0501234567", "name": "Іван Іванович", "personalmanager": 1002, "phonenumbers": ["0501234567","5555555"], "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Обов'язкове треба зазначити contactid або phonenumber. Параметри:

  Відповідь:

{ "status": 0, "status_message": "success", "contactid": 3792, "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри відповіді:




Видалення Контакту

  API url: https://mik.ua/api.php?del-contact

  Приклад запиту:

{ "contactid": 4383, "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь:

{ "status": 0, "status_message": "success", "actionid": "id-1", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри відповіді:




Команда віртуального діалплану IfAPI

  При виконанні команди IfAPI здійснюється запит вказаної в команді URL з наступним інформуванням методом POST (приклад):

{ "event": "ifapi", "uniqueid": "1613123141.17", "src": "+380441234567", "dst": "1001", "status": "Hold", "start": "2021-02-15 17:18:51+02", "answer": "2021-02-15 17:18:53+02", "direction": "INCOMING", "pbx": "mypbxname", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  У разі відповіді true або 1 - команда IfAPI виконує основну гілку команд, при будь якої іншої відповіді або помилки виконується гілка "ELSE"

true




Створення або налаштування АТС

  API url Створення АТС: https://mik.ua/api.php?create-pbx

  API url Зміни налаштувань АТС: https://mik.ua/api.php?set-pbx

  Приклад запиту:

{ "name": "newpbx", "max_internal": 10, "records_quota": "10G", "actionid": "id-1", "pbx": "GLOBAL", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри:

  Відповідь:

{ "status": 0, "status_message": "success", "name": "newpbx", "apikey": "sjk6c0b121ce90e7c38328d875c4ee54", "actionid": "id-1", "pbx": "GLOBAL", "timestamp": 1613125191.2345, "hash": "afe6c0b121ce90e7c38328d875c4e272" }

  Параметри відповіді: