Сгенерировать токен для выполнения запросов.

 

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 &reg0.$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 &reg0.$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 &reg0.$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"