=== 主机注册相关的API === ==== 终端设备Ping ==== POST http://192.168.11.87:3000/v2/service/ping.json?sn=233232232323&request_time=23232323 需要的请求参数: * sn : 终端设备的序列号 * request_time : 终端设备的机器时间 ===== 错误区理 ===== 当sn参数不对时(不存在或者位数不对),返回的http状态码是406, 返回的结果如下:
{"error_message":"Error sn param."}
当request_time参数不对时,返回的http状态码是406, 返回的结果如下:
{"error_message":"Error request_time param."}
当主机信息不正确时(如主机uuid不存在), 返回的http状态码是500, 返回的结果如下:
{"error_message":"Server infomation lost."}
当主机接口信息不正确时(至少要返回一个主机接口), 返回的http状态码是500, 返回的结果如下:
{"error_message":"Server intefaces lost."}
===== 正常的响应 =====
响应结果是:
{"meta":{"client_request_time":"232332233232","server_request_time":1364286642.019039,"server_response_time":1364286642.376506},
"server":{"server_uuid":"71573154-706e-43b7-8c4c-447f470b5f06","server_name":"qichunren-caojin87","cluster_uuid":"ace4ddca-7155-4396-8599-0b877c1494e8","cluster_name":"cluster-9f37b","created_at":"2013-01-28T14:35:43+08:00"},
"interfaces":[
{"server_ip":"192.168.11.87","server_port":3000,"freeswitch_server":"192.168.11.87","freeswitch_port":5060,"freeswitch_igmp_port":5080,"rabbitmq_server":"192.168.11.87","rabbitmq_port":5672,"name":"extenal_fa1a2c746e01","active":null,"created_at":"2013-03-08T18:59:29+08:00","uuid":"123cb5ec-ac77-425f-bb26-a01238f249dd","interface_type":"extenal"},
{"server_ip":"192.168.0.234","server_port":80,"freeswitch_server":"192.168.0.234","freeswitch_port":5060,"freeswitch_igmp_port":5080,"rabbitmq_server":"192.168.0.234","rabbitmq_port":5672,"name":"internal_192.168.0.234","active":false,"created_at":"2013-03-09T14:34:04+08:00","uuid":"d5252f06-cf10-476f-bfd6-65f57dfcd95b","interface_type":"internal_auto_config"}
]
}
* meta: 分别表示客户端发起请求的时间,服务器开始处理的时间,服务器生成响应的时间
* server: 表示主机相关的信息
* interfaces: 表示主机接口列表
=== API调用说明 ===
目前服务器端开放的API包括终端 、频道、媒体文件等方面。
在调用API时,需要在访问接口中加上所调用的终端的access_token:
http://api_url_bala_bala.json?access_token=your_terminal_access_token
* 如果URL中的access_token不正确,主机会返回http状态码为`403`, 响应正文是
{"message":"Error token"}
* 如果终端是未注册状态,主机会返回http状态码为`403`, 响应正文是
{"message":"Device not registered"}
=== 终端 API ===
==== 终端列表 ====
GET /v1/terminals.json
[
{"id":1,"name":"\u4e00\u9891\u9053","exten":"5000"},
{"id":2,"name":"\u4e8c\u9891\u9053","exten":"5001"},
{"id":3,"name":"\u4e09\u9891\u9053","exten":"5002"},
{"id":4,"name":"\u56db\u9891\u9053","exten":"5003"},
{"id":5,"name":"\u4e94\u9891\u9053","exten":"5004"}
]
==== 某一个终端信息 ====
GET /v1/terminals/:id.json
{"id":17,"name":"mock_d3b4a","exten":"1000","status":false}
=== 频道 API ===
==== 频道列表 ====
GET /v1/channels.json
[
{"id":1,"name":"\u4e00\u9891\u9053","exten":"5000"},{"id":2,"name":"\u4e8c\u9891\u9053","exten":"5001"},
{"id":3,"name":"\u4e09\u9891\u9053","exten":"5002"},{"id":4,"name":"\u56db\u9891\u9053","exten":"5003"},
{"id":5,"name":"\u4e94\u9891\u9053","exten":"5004"},{"id":6,"name":"211221","exten":"5005"}
]
==== 某一个频道的信息 ====
GET /v1/channels/:id.json
{"id":1,"name":"\u4e00\u9891\u9053","exten":"5000"}
=== 媒体文件 API ===
==== 媒体文件列表 ====
GET /v1/media.json
[
{"id":1,"uuid":"5e48f639-1733-43bb-8ea6-8bc9d4c19626","name":"ringing","file_size":17703,"url":"/uploads/medium/file/5e48f639-1733-43bb-8ea6-8bc9d4c19626/9b2b9e894398625fca984c30f0c4f855-ringing.mp3","file_exist":true},
{"id":2,"uuid":"f34eefd2-54e3-4b57-85cd-99edd4bacf0b","name":"wo_de_gesheng_li.mp3","file_size":3446989,"url":"/uploads/medium/file/f34eefd2-54e3-4b57-85cd-99edd4bacf0b/feef679b981b8f695b1ece458a636089-wo_de_gesheng_li.mp3","file_exist":true},
{"id":3,"uuid":"bf203fd1-0c18-47eb-b2cb-e42ea2a5c585","name":"Beyond - \u5149\u8f89\u5c81\u6708.mp3","file_size":4785590,"url":"/uploads/medium/file/bf203fd1-0c18-47eb-b2cb-e42ea2a5c585/4dc283c7ac7bd5d9bf9b72f167d4ec7d-Beyond_-_____.mp3","file_exist":true},
{"id":4,"uuid":"9c705a86-fdf5-45b7-800a-858b7a5ddb8c","name":"zui_shuan_mingzu_feng.mp3","file_size":4600731,"url":"/uploads/medium/file/9c705a86-fdf5-45b7-800a-858b7a5ddb8c/2dd304de42b66c3fdfcc953d304d767d-zui_shuan_mingzu_feng.mp3","file_exist":true}
]
==== 某一个媒体文件信息 ====
GET /v1/media/:id.json
{"id":1,"uuid":"5e48f639-1733-43bb-8ea6-8bc9d4c19626","name":"ringing","file_size":17703,"url":"/uploads/medium/file/5e48f639-1733-43bb-8ea6-8bc9d4c19626/9b2b9e894398625fca984c30f0c4f855-ringing.mp3","file_exist":true}
=== 会话 API ===
==== 获取所有会话列表 ====
GET domain/v2/calls.json
[{"call_type":"unicast","callees":"50","caller":"flash_1","channel_uuid":"13dc97e6-dbf7-4977-94a3-682abfc9b776","created_at":null,"id":null,"priority":8,"priority_name":"\u666e\u901a\u5bf9\u8bb2","record_done":null,"record_file":null,"start_time":"2013-03-18T03:39:26+08:00","updated_at":null,"state":"connected","member_count":null,"invited_count":null,"url_spy":"webapi/telecast/mp3/13dc97e6-dbf7-4977-94a3-682abfc9b776/stream.mp3"}]