Сгенерировать токен для выполнения запросов.
curl -X POST -H 'Content-Type: application/json' -d '{"username":"[email protected]","password":"secret"}' "https://wss.webitel.com:10022/login"
Запрос должен состоять с заголовка:
Content-Type: application/json
и тела:
{ "username": "[email protected]", "password": "secret" }
Сервер отправляет ответ:
content-type: application/json status: 200 OK
{ domain: "mydomain.com" expires: 1422610738293 token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8" role: 0 key: "22a4e98879dbfb8371901697c42ead9d" }
Домены
Создать новый домен
Пример запроса через curl
curl -X POST -H 'Content-Type: application/json' -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c'-d '{"domain_name":"new.webitel.com","customer_id":"1111"}' "https://wss.webitel.com:10022/api/v2/domain"
Запрос должен состоять с заголовка:
HEADERS
Content-Type: application/json X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
и тела:
BODY
{ "domain_name": "new.webitel.com", "customer_id": "1111", "parameters": ["domain-parameters=value"], "variables": ["default_language=ru"] }
Сервер отправляет ответ:
HEADERS
content-type: text/plain status: 200 OK
BODY
+OK [new.webitel.com] created !
Удалить домен
Пример запроса через curl
curl -X DELETE -H 'Content-Type: application/json' -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' "https://wss.webitel.com:10022/api/v2/domain/new.webitel.com"
Запрос с заголовком:
HEADERS
Content-Type: application/json X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
HEADERS
content-type: text/plain status: 200 OK
BODY
+OK [new.webitel.com] destroy !
Пользователи
Создать нового пользователя
Приклад запиту через curl
curl -X POST -H 'Content-Type: application/json' -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' -d '{"login":"100","password":"100","role":"admin","domain":"new.webitel.com"}' "https://wss.webitel.com:10022/api/v2/account"
Запрос с заголовком:
HEADER
Content-Type: application/json X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Тело запроса:
BODY
{ "login": "100", "password": "100", "role": "admin", "domain": "new.webitel.com", "parameters": ["vm-enabled=true", "webitel-extensions=100"], "variables": ["default_language=ru", "my_var=2"] }
Ответ сервера:
HEADER
content-type: text/plain status: 200 OK
BODY
+OK admin::[email protected]
Reload XML
Повторно вычитать XML конфигурацию сервера Webitel
curl -X GET -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' "https://wss.webitel.com:10022/api/v2/reloadxml"
Запрос с заголовком:
X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
content-type: text/plain status: 200 OK
+OK
Звонки.
Список активных каналов.
curl -X GET -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' "https://wss.webitel.com:10022/api/v2/channels?domain=10.10.10.144"
Запрос с заголовком:
X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
content-type: application/json; charset=utf-8 status: 200 OK
{"row_count":1,"rows":[{"uuid":"fb4148a1-ae03-b4f9-44ae-71f4cbba05a7","direction":"inbound","created":"2015-01-23 10:05:49","created_epoch":"1422007549","name":"verto.rtc/102","state":"CS_EXECUTE","cid_name":"[email protected]","cid_num":"[email protected]","ip_addr":"10.10.10.25","dest":"102","application":"bridge","application_data":"user/[email protected]","dialplan":"XML","context":"default","read_codec":"opus","read_rate":"48000","read_bit_rate":"0","write_codec":"opus","write_rate":"48000","write_bit_rate":"0","secure":"srtp:dtls:AES_CM_128_HMAC_SHA1_80","hostname":"webitel","presence_id":"[email protected]","presence_data":"","callstate":"ACTIVE","callee_name":"Outbound Call","callee_num":"102","callee_direction":"","call_uuid":"fb4148a1-ae03-b4f9-44ae-71f4cbba05a7","sent_callee_name":"","sent_callee_num":"","initial_cid_name":"[email protected]","initial_cid_num":"[email protected]","initial_ip_addr":"10.10.10.25","initial_dest":"102","initial_dialplan":"XML","initial_context":"default"}]}
Завершить все каналы в домене.
curl -X DELETE -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' "https://wss.webitel.com:10022/api/v2/channels/domain/:domain"
Запрос с заголовком:
X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
content-type: application/json; charset=utf-8 status: 200 OK
{"status":"OK","data":"Command send."}
Входящая маршрутизация.
Список.
curl -X GET -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' "https://wss.webitel.com:10022/api/v2/route/public?domain=webitel.com"
Запрос с заголовком:
X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
content-type: application/json; charset=utf-8 status: 200 OK
[{"_id":"54db60852f99cd5410a11093","destination_number":["380892504386"],"domain":"webitel.com","callflow":[{"app":"hangup","data":"CALL_REJECTED"}],"createdOn":"Wed Feb 11 2015 16:00:37 GMT+0200 (Финляндия (зима))","version":0},{"_id":"54db610d2f99cd5410a11094","destination_number":["322530550","442228392","61001","74997045627","63361"],"domain":"webitel.com","callflow":[{"app":"set","data":"ringback=${us-ring}"},{"app":"set","data":"transfer_ringback=$${hold_music}"},{"app":"transfer","data":"its_ivr XML default"}],"createdOn":"Wed Feb 11 2015 16:02:53 GMT+0200 (Финляндия (зима))","version":0}]
Создать.
curl -X POST -H 'Content-Type: application/json' -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' -d '{ "destination_number" : [ "mynumber" ], "domain" : "webitel.com", "callflow" : [ { "app" : "lua", "data" : "lua/cid.lua" }, { "app" : "set", "data" : "ringback=${ru-ring}" }, { "app" : "set", "data" : "transfer_ringback=$${hold_music}" }, { "app" : "transfer", "data" : "mynumber XML default" } ] }' "https://wss.webitel.com:10022/api/v2/route/public"
Запрос с заголовком:
X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
status: 201 Created
Изменить.
curl -X PUT -H 'Content-Type: application/json' -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' -d '{ "destination_number" : [ "mynumber" ], "domain" : "webitel.com", "callflow" : [ { "app" : "set", "data" : "ringback=${ru-ring}" }, { "app" : "set", "data" : "transfer_ringback=$${hold_music}" }, { "app" : "transfer", "data" : "102 XML default" } ] }' "https://wss.webitel.com:10022/api/v2/route/public?id=54dc79f2f08270800ffaae94"
Запрос с заголовком:
X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
content-type: application/json; charset=utf-8 status: 200 OK
{ _id: "54dc79f2f08270800ffaae94", "destination_number" : [ "mynumber" ], "domain" : "webitel.com", "callflow" : [ { "app" : "lua", "data" : "lua/cid.lua" }, { "app" : "set", "data" : "ringback=${ru-ring}" }, { "app" : "set", "data" : "transfer_ringback=$${hold_music}" }, { "app" : "transfer", "data" : "mynumber XML default" } ] }}
Удалить.
curl -X DELETE -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' "https://wss.webitel.com:10022/api/v2/route/public?id=54dc79f2f08270800ffaae94"
Запрос с заголовком:
X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
content-type: text/html; charset=utf-8 status: 200 OK
Deleted
Исходящая маршрутизация.
Список.
curl -X GET -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' "https://wss.webitel.com:10022/api/v2/route/default?domain=webitel.com"
Запрос с заголовком:
X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
content-type: application/json; charset=utf-8 status: 200 OK
[{"_id":"54db2e225649620100ab3965","destination_number":"/(1)11/","domain":"webitel.com","timezone":2,"callflow":[{"if":{"expression":"&hour(0-12)","then":[{"app":"log","data":"hello from ®0.$1"},{"app":"transfer","data":"102"}],"sysExpression":"sys.hour(\"0-12\")"}}],"createdOn":"Wed Feb 11 2015 10:25:38 GMT+0000 (UTC)","order":0}]
Создать.
curl -X POST -H 'Content-Type: application/json' -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' -d '{"destination_number" : "/(1)11/", "domain" : "webitel.com", "timezone" : 2, "callflow" : [ { "if" : { "expression" : "&hour(0-12)", "then" : [ { "app" : "log", "data" : "hello from ®0.$1" }, { "app" : "transfer", "data" : "102" } ] } } ], "order" : 1}' "https://wss.webitel.com:10022/api/v2/route/default"
Запрос с заголовком:
X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
status: 201 Created
Изменить.
curl -X PUT -H 'Content-Type: application/json' -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' -d '{"destination_number" : "/(1)11/", "domain" : "webitel.com", "timezone" : 2, "callflow" : [ { "if" : { "expression" : "&hour(0-5)", "then" : [ { "app" : "transfer", "data" : "102" } ] } } ], "order" : 1}' "https://wss.webitel.com:10022/api/v2/route/default?id=54dc79f2f08270800ffaae94"
Запрос с заголовком:
X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
content-type: application/json; charset=utf-8 status: 200 OK
{ "_id": "54dc79f2f08270800ffaae94", "destination_number" : "/(1)11/", "domain" : "webitel.com", "timezone" : 2, "callflow" : [ { "if" : { "expression" : "&hour(0-12)", "then" : [ { "app" : "log", "data" : "hello from ®0.$1" }, { "app" : "transfer", "data" : "102" } ] } } ], "order" : 1}
Удалить.
curl -X DELETE -H 'X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8' -H 'X-Key: 4a63971b55a37c73ffe384277581a20c' "https://wss.webitel.com:10022/api/v2/route/default?id=54dc79f2f08270800ffaae94"
Запрос с заголовком:
X-Key: 4a63971b55a37c73ffe384277581a20c X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8
Ответ сервера:
content-type: text/html; charset=utf-8 status: 200 OK
Deleted
CDR
Прослушать запись.
curl -X GET "https://wss.webitel.com:10022/api/v2/files/CALL_UUID?access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjI2MTA3MzgyOTN9.7gMJFIwYJt0fDACQOHA_PQtI92RfEl5pdVuzCyIoMR8&x_key=4a63971b55a37c73ffe384277581a20c"