查询事件列表
查询云端事件。
Request
HTTP request (graphql)
GET /vsaas/api/v1/be?query={get_event_list(device:string!,start_time:string!,end_time:string!,is_archieve:Boolean,event_id:Int,tags:string,skip:Int,limit:Int) [Event]}
POST /vsaas/api/v1/be/
参数
Header
Authorization : JWT or Bearer {access token}
The access token.
Content-Type : application/json
Required
Response
Code
200
400
401
例子
Request
curl -XPOST -H 'Authorization: Bearer LKdkjlk8873BNN' -H 'Content-Type: application/json' -d 'query {get_event_list(device:"KJKWJK",start_time:"1582398139849",end_time:"1582398239849",skip:0,limit:100){start_time,expires}}' https://vsaas.kalay.us/vsaas/api/v1/be/
Response
{ "data" : { "get_event_list" [ { "pk":"", "start_time":"2019-10-02 12:20:20", "start_time_ts": "", ... }, { ... } ] } }
查询过期事件
查询已经过期的云端事件。
Request
HTTP request (graphql)
GET /vsaas/api/v1/be?query={get_archieved_event_list [ArchievedEvent]}
POST /vsaas/api/v1/be/
参数
Header
Authorization : JWT or Bearer {access token}
The access token.
Content-Type : application/json
Required
Response
Code
200
400
401
例子
Request
curl -XPOST -H 'Authorization: Bearer LKdkjlk8873BNN' -H 'Content-Type: application/json' -d 'query {get_archieved_event_list {device,events{start_time,expires,pk}}}' https://vsaas.kalay.us/vsaas/api/v1/be/
Response
{ "data" : { "get_archieved_event_list" : [ { "device":"", "events": [ { "pk":"", "start_time":"2019-10-02 12:20:20", "start_time_ts": "", } ] }, { ... }] } }
事件修改
修改事件相关tag。
Request
HTTP request (graphql)
GET /vsaas/api/v1/be?query=mutation+{update(pk:string,tags:[string])}
POST /vsaas/api/v1/be/
参数
Header
Authorization : JWT or Bearer {access token}
The access token.
Content-Type : application/json
Required
Response
Code
200
400
401
例子
Request
curl -XPOST -H 'Authorization: Bearer LKdkjlk8873BNN' -H 'Content-Type: application/json' -d 'mutation {update(pk:"8dfaksjk2jkjkdjkjckjed3354",tags:["home","family"])}' https://vsaas.kalay.us/vsaas/api/v1/be/
Response
{ "data" : { "update_event" : "Update event finish." } }
事件删除1
删除云端指定(时间段)的事件。
Request
HTTP request (graphql)
GET /vsaas/api/v1/be?query=mutation+{remove_event(pk:string,from:string,to:string)}
POST /vsaas/api/v1/be/
参数
Header
Authorization : JWT or Bearer {access token}
The access token.
Content-Type : application/json
Required
Response
Code
200
400
401
例子
Request
curl -XPOST -H 'Authorization: Bearer LKdkjlk8873BNN' -H 'Content-Type: application/json' -d 'mutation {remove_event(pk:"8dfaksjk2jkjkdjkjckjed3354",from:"2022-01-06T04:00:24.000Z",to:"2022-01-06T04:00:24.000Z")}' https://vsaas.kalay.us/vsaas/api/v1/be/
Response
{ "data" : { "remove_event" : "success" } }
事件删除2
删除云端指定设备的事件。
Request
HTTP request (graphql)
GET /vsaas/api/v1/be?query=mutation+{removeDeviceEvents(device:string!)}
POST /vsaas/api/v1/be/
参数
Header
Authorization : JWT or Bearer {access token}
The access token.
Content-Type : application/json
Required
Response
Code
200
400
401
例子
Request
curl -XPOST -H 'Authorization: Bearer LKdkjlk8873BNN' -H 'Content-Type: application/json' -d 'mutation {removeDeviceEvents(device:"8dfaksjk2jkjkdjkjckjed3354")}' https://vsaas.kalay.us/vsaas/api/v1/be/
Response
{ "data" : { "removeDeviceEvents" : "Delete event success" } }
获取流媒体服务器地址
Request
HTTP request (graphql)
GET /vsaas/api/v1/be?query={get_binding_server(udid:String!)}
POST /vsaas/api/v1/be/
参数
Header
Authorization : Bearer token
The access token.
Content-Type : application/json
Required
Response
Code
200
400
401
例子
Request
curl -XPOST -H 'Authorization: Bearer LKdkjlk8873BNN' -H 'Content-Type: application/json' -d 'query {get_binding_server(udid:"KJKWJK")}' https://vsaas.kalay.us/vsaas/api/v1/be/
Response
{ "data": { "get_binding_server": "127.0.0.1:8080" } }
回放
Request
HTTP request (graphql)
POST vsaas-domain/vsaas_stream/api/v1/ask
vsaas-domain请使用上面获取到的binding server拿到的地址。
参数
Header
Authorization : Bearer token
The access token.
Original/Refer :
可选
Required
Response
Code
200
400
401
例子
Request
#mp4 curl -XPOST -H {Bearer Token} -d 'query {ask_media(device:"udid",timestamp:"8945446565656",length:60,mode:ASK_DOWNLOAD){code,ret,url}}' vsaas-domain/ask #hls curl -XPOST -H {Bearer Token} -d 'query {ask_media(device:" udid",timestamp:"8945645454",length:60,mode:ASK_EVENT){code,ret,url}}' vsaas-domain/ask #krf //回放 curl -XPOST -H {Bearer Token} -d 'query {ask_media(device:"udid",timestamp:"4548979798",length:60,mode:ASK_EVENT, media_type:krf){code,ret,url}}' vsaas-domain/ask //下载 curl -XPOST -H {Bearer Token} -d 'query {ask_media(device:"udid",timestamp:"84545454544",length:60,mode:ASK_DOWNLOAD, media_type:[krf]){code,ret,url}}' vsaas-domain/ask #icon // 设备图片 curl -XPOST -H {Bearer Token} -d 'query {ask_media(device:" udid",timestamp:"0000000000000",length:0,mode:ASK_ICON){code,ret,url}}' vsaas-domain/ask //事件图片 curl -XPOST -H {Bearer Token} -d 'query {ask_media(device:"udid",timestamp:"54549952554",length:0,mode:ASK_ICON){code,ret,url}}' vsaas-domain/ask //alexa用的设备图片 curl -XPOST -H {Bearer Token} -d 'query {ask_media(device:" udid",timestamp:"0000000000000",length:0,mode:ASK_ICON, role:alexa){code,ret,url}}' vsaas-domain/ask
Response
#mp4 { "data": { "ask_media": { "code": 0, "ret": "44be325343e4219fed9372c277c71355e81f32da.mp4?timestamp=1533612816&ticket=b52c44f8f764432814fd2f93962ab7d881ec3e07 ", "url": "http://192.168.55.10:8080/media/44be325343e4219fed9372c277c71355e81f32da.mp4?timestamp=1533612816 & ticket = b52c44f8f764432814fd2f93962ab7d881ec3e07 " } } } #hls { "data": { "ask_media": { "code": 0, "ret": "188c4e7810fd12303121c2282b1213c12f94421b.m3u8", "url": "http://192.168.55.10:8080/media/188c4e7810fd12303121c2282b1213c12f94421b.m3u8" } } } #krf { "data": { "ask_media": { "code": 0, "ret": "1565666774000_D15967E.krf?timestamp=1565667010961637000&ticket=6cc3057f0d5942d752956526d92a22dbe274ec9b", "url": "http://192.168.55.10:8080/media/1565666774000_D15967E.krf?timestamp=1565667010961637000&ticket=6cc3057f0d5942d752956526d92a22dbe274ec9b" } } } #icon { "data": { "ask_media": { "code": 0, "ret": "44be325343e4219fed9372c277c71355e81f32da.jpg?timestamp=1533612816&ticket=b52c44f8f764432814fd2f93962ab7d881ec3e07", "url": "http://192.168.55.10:8080/media/44be325343e4219fed9372c277c71355e81f32da.jpg?timestamp=1533612816&ticket=b52c44f8f764432814fd2f93962ab7d881ec3e07" } } }
回放测试
假如拿到的m3u8地址是:
https://asia-vpstream01-tutk-stg.kalay.us/vsaas_stream/api/v1/media/1b8296bca019c424711b00bf504c2be8bf41efe9.m3u8
那么可以通过m3u8使用下面的链接播放:
https://asia-vpstream01-tutk-stg.kalay.us/vsaas_stream/api/v1/media/1b8296bca019c424711b00bf504c2be8bf41efe9.m3u8?access_token=Bearer@token&role=android
需将上述链接中的Bearer@token替换成vsaas access token,假如token里面有特殊的字符,需要做URL编码,比如将空格替换成%20。role可选为:android、ios、alexa
下载测试
假设拿到的mp4下载链接是:
https://asia-vpstream01-tutk-stg.kalay.us/vsaas_stream/api/v1/media/90420c7141132082eae41d51baa64aab5c1a952f.mp4?timestamp=1728639352826274766&ticket=3c34a064365628bd4132a0572ef8bf62a72b0c62
那么下载的时候,也需要加上access token,参考如下:
https://asia-vpstream01-tutk-stg.kalay.us/vsaas_stream/api/v1/media/90420c7141132082eae41d51baa64aab5c1a952f.mp4?timestamp=1728639352826274766&ticket=3c34a064365628bd4132a0572ef8bf62a72b0c62&access_token=Bearer@xxxxxxxxxxxxxx