简体中文

事件管理:查询、删除、回放、下载

查询事件列表

查询云端事件。

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

参数
类型
必选
说明
device
string
设备端的UDID,UID
start_time
string
起始时间
end_time
string
结束时间
is_archieve
bool
是否归档
event_id
Int
事件的id,可以根据此ID,进行分类呈现,比如移动侦测,人形侦测,异响等等
tags
string
标签,比如"门口"、"花园"
skip
Int
跳过的数量,如果每次读取20条,那么第n次skip就填20*(n-1)
limit
Int
单次拉取事件数量上限
 

Response

参数
类型
说明
pk
string
事件相关的key值
created
string
创建时间
updated
string
修改事件
device
string
设备的UDID
account
string

start_time
string
事件开始时间
start_time_ts
string

expires
string
事件到期时间
thumbnail
string
缩略图
url
string

event_type
Int

contract
string

is_archieve
Bool

event_id
Int

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

参数
类型
说明
device
string
设备UDID
events
[Event]
事件列表

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

参数
类型
必选
说明
pk
string

tags
string list

 

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

参数
类型
必选
说明
pk
string
pk如为空,则删除指定时间段(from,to)的事件。如需删除多个事件,则多个pk以空格分开。
from
string
RFC3339 time format.ex.2022-01-06T04:00:24.000Z
to
string
RFC3339 time format.ex.2022-01-06T04:00:24.000Z
 

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

参数
类型
必选
说明
device
string
设备的UDID

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

参数
类型
必选
说明
udid
string
设备UID
 

Response

参数
类型
说明
get_binding_server
string

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

参数
类型
必选
说明
device
string
设备UID
timestamp
string
时间戳,毫秒,播放来源于event list中的start_time_ts,缩略图的来自于event list中的thumbnail。
length
Int
只在全时录像或者ICON模式有用,其他填0
mode
Enum
可选: ASK_EVENT, ASK_DOWNLOAD, ASK_ICON
role
string
只有alexa用到
media_type
Enum
默认hls,其他都可以选krf
 

Response

参数
类型
说明
code
string
0表示成功,其他为异常
ret
string

url
string

created
string

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


即刻开启您的物联网之旅

联系解决方案专家
Kalay App
解决方案
新闻动态
公司动态
行业资讯
媒体报道
永续发展
经营者的话
社会参与
环境永续
公司治理

+86 755 27702549

7×24小时服务热线

法律声明 隐私权条款

关注“TUTK”

TUTK服务尽在掌握

© 2022 物联智慧科技(深圳)有限公司版权所有粤ICP备14023641号
在线咨询
扫一扫

TUTK服务尽在掌握

全国免费服务热线
+86 755 27702549

返回顶部