本页内容
Webhook 消息
熟悉各种 Webhook 主题的消息格式和有效负载。
消息格式
每个 Webhook 主题的格式可能略有不同。
大多数 Webhook 都具有以下结构,其中的 event_details 有效负载 events, 如下:
{
"topic": "webhook-topic",
"events": [
{"EVENT DETAILS": "...."},
{"EVENT DETAILS": "....",
...
]
}
有效负载结构
所有 Webhook 消息均采用 JavaScript 对象标记 (JSON) 格式,并在标头中包含以下信息,该信息描述了消息本身的配置。标头信息显示在邮件中的有效负载之前。如果在 Webhook 配置中配置自定义标头,则该标头也会显示在此处。
POST /uri/... HTTP/1.1 Host: hooks.abc.com:443 User-Agent: Mist-webhook Content-Type: application/json Content-Length: 382 X-Mist-Signature: ce3af7760f1289d02bf6a7ad19f3xxxxxxxxxx
基础架构有效负载示例
有关 Webhook 示例的完整列表,请参阅 API 示例 Webhook。这将显示 Mist 云为每个给定 Webhook 主题发送的示例 Webhook 消息。
下面只是一些 Webhook 示例,从基础结构 Webhook 开始。
警报
此警报(报警)示例显示检测到的非法接入点、计数(Juniper Mist检测到的次数)以及检测到该接入点和基本服务集标识符 (BSSID)。
{
"topic": "alarms",
"events": [
{
"aps": [
"5c5b35xxxxxx"
],
"bssids": [
"00024axxxxxx",
"5c5b3xxxxxx",
"000f2xxxxxx",
"c03f0exxxxxx",
"e091f5xxxxxx",
"e894f6xxxxxx",
"40169fxxxxxx",
"40169fxxxxxx",
"c03f0exxxxxx",
"5c5b35xxxxxx"
],
"count": 16,
"id": "95193bda-1fef-4ea6-xxxx-xxxxxxxxxxxx",
"last_seen": 1549068720,
"ssids": [
"qwerty",
"A-Dot",
"xfinity",
"alpha"
],
"timestamp": 1549068202,
"type": "rogue-ap-detected",
"update": true,
"org_id": "2818e386-8dec-2562-xxxx-xxxxxxxxxxxx",
"site_id": "4ac1dcf4-9d8b-7211-xxxx-xxxxxxxxxxxx"
}
]
}
审计
此示例是一个审核警报,指示 John Doe 更新了设备。它显示设备所属的组织 (org_id) 和站点 (site_id)。
{
"topic": "audits",
"events": [
{
"admin_name": "john doe john.doe@juniper.net",
"device_id": "00000000-0000-0000-1000-5c5b35xxxxxx",
"id": "8e00dd48-b918-4d9b-xxxx-xxxxxxxxxxxx",
"message": "Update Device \"Reception\"",
"org_id": "2818e386-8dec-2562-xxxx-xxxxxxxxxxx",
"site_id": "4ac1dcf4-9d8b-7211-xxxx-xxxxxxxxxxxx",
"src_ip": "xx.xx.xx.xx",
"timestamp": 1549047906.201053
}
]
}
客户端加入
此客户端加入消息显示已加入客户端的 MAC 地址。它还会在客户端加入无线网络的那一刻显示关联的连接详细信息。
{
"topic": "client-join",
"events": [
{
"ap": “5c5b35d0xxxx",
"ap_name": “AP43 Test",
"band": "5",
"bssid": "5c5b35dfxxxx",
"connect": 1592333828,
"connect_float": 1592333828.324,
"mac": "70ef0071xxxx",
"org_id": "6748cfa6-4e12-11e6-xxxx-xxxxxxxxxxx",
"rssi": -54,
"site_id": "d761985e-49b1-4506-xxxx-xxxxxxxxxxx",
"site_name": "Test",
"ssid": "Mist",
"timestamp": 1592333828,
"version": 2
"wlan_id": "6c0c0b07-0d77-44d1-xxxx-xxxxxxxxxxxx",
}
]
}
客户端会话
客户端会话有效负载显示从客户端到单个 AP 的整个会话的详细信息。
{
"topic": "client-sessions",
"events": [
{
"ap": “5c5b352fxxxx",
"ap_name": “AP43 Test",
"band": "5",
"bssid": "5c5b352bxxxx",
"client_family": "iPhone",
"client_manufacture": "Apple",
"client_model": "8+",
"client_os": "13.4.1",
"connect": 1592333548,
"connect_float": 1592333548.117,
"disconnect": 1592333828,
"disconnect_float": 1592333828.589,
"duration": 279.835049793,
"mac": "70ef00xxxxxx",
"next_ap": "5c5b35d0xxxx",
"org_id": "6748cfa6-4e12-11e6-xxxx-xxxxxxxxxxxx",
"rssi": -87,
"site_id": "d761985e-49b1-4506-xxxx-xxxxxxxxxxx",
"site_name": "Test",
"ssid": "Mist",
"termination_reason": 3,
"timestamp": 1592333828,
"version": 2
"wlan_id": "6c0c0b07-0d77-44d1-xxxx-xxxxxxxxxxxx",
}
]
}
设备事件
device-events 有效负载显示有关遇到事件的设备及其原因的详细信息。
{
"topic": "device-events",
"events": [
{
"audit_id": "a8ec4d8a-4da6-4ead-xxxx-xxxxxxxxxxx",
"ap": "5c5b35xxxxxx",
"ap_name": "AP41 Near Lab",
"device_name": "AP41 Near Lab",
"device_type": "ap/switch/gateway",
"ev_type": "NOTICE",
"mac": "5c5b35xxxxxx",
"org_id": "2818e386-8dec-2562-xxxx-xxxxxxxxxxxx",
"reason": "power_cycle",
"site_id": "4ac1dcf4-9d8b-7211-xxxx-xxxxxxxxxxxx",
"site_name": "Site 1",
"text": "event details",
"timestamp": 1461220784,
"type": "AP_RESTARTED"
}
]
}
设备故障
device-updowns Webhook 是 device-events Webhook 的一个子集。它只发送设备的基本信息以及它出现故障的原因(类型)。
{
"topic": "device-updowns",
"events": [
{
"org_id": "2818e386-8dec-2562-xxxx-xxxxxxxxxxxx",
"site_id": "4ac1dcf4-9d8b-7211-xxxx-xxxxxxxxxxxx",
"type": "AP_RESTARTED",
"ap": "5c5b35xxxxxx",
"ap_name": "AP01",
"site_name": "Site1"
"timestamp": 1461220784
}
]
}
访客授权
当客户授权客户对 WLAN 进行授权时,访客授权 Webhook 会为客户提供有关访客客户端的数据。
{
"topic": "guest-authorizations",
"events": [
{
"ap":"5c5b350e55c8",
"auth_method": "passphrase",
"authorized_expiring_time":1677076639,
"authorized_time":1677076519,
"carrier": "docomo",
"client": "ac2316eca70a",
"company": "MIST",
"email": ""abcd@abcd.com",
"field1": "field1 value",
"field2": "field2 value",
"field3": "field3 value",
"field4": "field4 value",
"mobile": "+0123456789",
"name": "Dr Strange",
"org_id":"1688605f-916a-47a1-8c68-f19618300a08",
"site_id":"ec3b5624-73f1-4ed3-b3fd-5ba3ee40368a",
"sms_gateway": "Telstra",
"sponsor_email": "sponsor@gmail.com",
"ssid":"Portal Auth",
"wlan_id":"7681be9a-044a-4622-90cf-3accde5ad853",
}
]
}
Juniper Mist Edge 活动
mxedge-events Webhook 有效负载可以包含有关单个 Juniper Mist Edge 设备上发生的事件的基本信息,类似于 device-events。
{
"topic": "mxedge-events",
"events": [
{
"audit_id": "03a65fa8-f74b-4c82-xxxx-xxxxxxxxxxxx",
"mxcluster_id": "27558fe2-a0e5-4236-xxxx-xxxxxxxxxxxx",
"mxedge_id": "00000000-0000-0000-1000-xxxxxxxxxxxx",
"mxedge_name": "ME1",
"org_id": "dfb3a656-2a21-4ea5-xxxx-xxxxxxxxxxxx",
"timestamp": "1692974834.308884",
"type": "ME_CONFIG_CHANGED_BY_USER"
}
]
}
定位有效负载示例
下一个组是“位置”Webhook,它仅适用于站点(非组织)。
位置坐标
位置 Webhook 有效负载将客户端信息与上传到Juniper Mist的地图(平面图)上的位置相关联。准确缩放的地图和 SDK 客户端的使用是此 Webhook 的要求。
{
"topic": "location",
"events": [
{
"site_id": "4ac1dcf4-9d8b-7211-xxxx-xxxxxxxxxxxx",
"map_id": "845a23bf-bed9-e43c-xxxx-xxxxxxxxxxxx",
"x": 13.5,
"y": 3.2,
"timestamp": 1461220784,
// for SDK client
"type": "sdk",
"id": "de87bf9d-183f-e383-xxxx-xxxxxxxxxxxx",
"name": "optional",
// for WIFI
"type": "wifi",
"mac": "5684daxxxxxx",
// Optional for wifi
"wifi_beacon_extended_info": [
{"frame_ctrl": 776, "seq_ctrl": 772, "payload": "............"},
]
// for ASSET
"type": "asset",
"mac": "7fc293xxxxxx",
"ibeacon_uuid": "f3f17139-704a-f03a-xxxx-xxxxxxxxxxxx",
"ibeacon_major": 13,
"ibeacon_minor": 138,
"eddystone_uid_namespace": "2818e3868decxxxxxxxx",
"eddystone_uid_instance": "5c5b35xxxxxx",
"eddystone_url_url": "https://www.abc.com",
"mfg_company_id": 935,
"mfg_data": "648520a1020000",
"battery_voltage": 3370
}
]
}
入住警报
如果特定区域超过配置的occupancy_limit,则占用警报 Webhook 将显示有关特定区域的信息。
{
"topic": "occupancy-alerts",
"events": [
{
"alert_events": [
{
"current_occupancy": 10,
"map_id": "f5d26c7f-1670-4921-xxxx-xxxxxxxxxxxx",
"occupancy_limit": 5,
"org_id": "6748cfa6-4e12-11e6-xxxx-xxxxxxxxxxxx",
"timestamp": 1594861457,
"type": "COMPLIANCE-VIOLATION",
"zone_id": "b83312a7-7269-4ae1-xxxx-xxxxxxxxxxxx",
"zone_name": "PLM and Leadership"
},
{
"current_occupancy": 20,
"map_id": "f5d26c7f-1670-4921-xxxx-xxxxxxxxxxxx",
"occupancy_limit": 10,
"org_id": "6748cfa6-4e12-11e6-xxxx-xxxxxxxxxxxx",
"timestamp": 1594861457,
"type": "COMPLIANCE-VIOLATION",
"zone_id": "80acf542-e863-43cf-xxxx-xxxxxxxxxxxx",
"zone_name": "CSQA"
},
{
"current_occupancy": 9,
"map_id": "f5d26c7f-1670-4921-xxxx-xxxxxxxxxxxx",
"occupancy_limit": 4,
"org_id": "6748cfa6-4e12-11e6-xxxx-xxxxxxxxxxxx",
"timestamp": 1594861457,
"type": "COMPLIANCE-VIOLATION",
"zone_id": "a4c7a7c2-880e-4a0e-xxxx-xxxxxxxxxxxx",
"zone_name": "Marketing & Sales Ops"
}
],
"site_id": "67970e46-4e12-11e6-xxxx-xxxxxxxxxxxx",
"site_name": "MIST OFFICE"
}
]
}
RSSI 区段
rssizone webhook 有效负载显示站点中超过配置的最小 RSSI 阈值的设备。
{
"topic":"rssizone",
"events":[
{
"mac":"500291xxxxxx",
"map_id":"f5d26c7f-1670-4921-xxxx-xxxxxxxxxxxx",
"rssizone_id":"e38f8e76-40db-4144-xxxx-xxxxxxxxxxxx",
"site_id":"f5fcbee5-fbca-45b3-xxxx-xxxxxxxxxxxx",
"timestamp":1694158990.986472,
"trigger":"enter",
"type":"wifi"
}
]
}
SDK 客户端扫描数据
SDK 客户端扫描数据 Webhook 有效负载显示有关客户端的特定数据,如果不在客户端本身上安装应用程序(使用 SDK),这些数据将不可用。
{
"events": [
{
"connection_ap": "5c5b35xxxxxx",
"connection_band": "2.4",
"connection_bssid": "5c5b35xxxxxx",
"connection_channel": 11,
"connection_rssi": -87,
"last_seen": 1592333828,
"mac": "70ef00xxxxxx",
"scan_data": [
{
"ap": "5c5b35xxxxxx",
"band": "2.4",
"bssid": "5c5b35xxxxxx",
"channel": 11,
"rssi": -87,
"ssid": "mist-wifi",
"timestamp": 1592333828
},
{
"ap": "5c5b35xxxxxx",
"band": "5",
"bssid": "5c5b35xxxxxx",
"channel": 36,
"rssi": -75,
"ssid": "mist-wifi",
"timestamp": 1592333828
}
],
"site_id": "d761985e-49b1-4506-xxxx-xxxxxxxxxxxx"
}
],
"topic": "sdkclient-scan-data"
}
虚拟信标进入和退出事件
当运行 Juniper Mist SDK 的移动设备进入或退出虚拟信标定义的区域时,将触发 vbeacon Webhook。
{
"topic":"vbeacon",
"events":[
{
"mac":"10521cxxxxxx",
"map_id":"5a8b84e6-cc7b-xxxx-xxxxxxxxxxxx",
"site_id":"f5fcbee5-fbca-45b3-xxxx-xxxxxxxxxxxx",
"timestamp":1694166602.662786,
"trigger":"enter",
"type":"wifi",
"vbeacon_id":"ca301fd7-07af-4d42-xxxx-xxxxxxxxxxxx"
}
]
}
区域进入和退出事件
当设备进入或退出定义的区域时,将触发区域 Webhook。
{
"topic":"zone",
"events":[
{
"mac":"10521cxxxxxx",
"map_id":"5a8b84e6-cc7b-xxxx-xxxxxxxxxxxx",
"site_id":"f5fcbee5-fbca-45b3-xxxx-xxxxxxxxxxxx",
"timestamp":1694166602.662786,
"trigger":"exit",
"type":"wifi",
"zone_id":"b83312a7-7269-4ae1-xxxx-xxxxxxxxxxxx "
}
]
}