[TOC]
*****
# webhook
## 什么是webhook?
——webhook(也被称为网络回调或HTTP推送API)是一个应用为其他应用提供实时信息的一种方法。
——当webhook被触发后,它将传送数据到其他应用程序中去,该应用程序会立即获取到数据,而不需要定时调用当前应用的openAPI批量获取数据。
## Linkflow webhook 动作
——在Linkflow客户旅程中使用webhook动作图元,当客户旅程被触发,webhook可以向配置地址发起请求,将客户旅程触发事件信息、联系人信息、自定义信息发送给配置地址。
## 配置webhook 动作图元
1. 在客户旅程画板上,拖入webhook动作图元

2. 点击设置按钮,填写信息

*****
**消息接收URL**:请填写接收消息地址
**请求方法**:目前只支持post方法
**消息格式**:目前只支持JSON
**消息结构体配置**:您可以在此自定义消息结构体中的参数
* 用户详情
选择:消息结构体增加contact参数
不选择:消息结构体contact参数中只有id
* 关注状态用户微信账号
选择:contact结构体中增加wechatAccounts参数
不选择:contact结构体中没有wechatAccounts参数
* 用户自定义连接账号
选择:contact结构体中增加udcAccounts参数
不选择:contact结构体中没有udcAccounts参数
* 触发事件
选择:消息结构体中增加event、eventMetadata参数
不选择:消息结构体中没有event、eventMetadata参数
* 自定义参数
选择:消息结构体中增加_custom参数
不选择:消息结构体中没有_custom参数
当您勾选自定义参数选项,并添加了自定义参数,就可在_custom结构体中解析出您的自定义参数。
**示例**:
~~~
{
"sendTime": 1553249452973,
"contact": {
"id": 100,
"name": "张三",
"mobilePhone": "13912341234",
"email": "zhangsan@example.com",
"wechatAccounts": [
{
"appId": "appid1", //微信公众账号appid
"openId": "openId1", //联系人openid
"unionId": "unionId1" //联系人unionId
},
{
"appId": "appid2",
"openId": "openId2",
"unionId": "unionId2"
}
],
"udcAccounts": [
{
"externalId": "externId1", //联系人在自定义渠道的账号
"channelId": "abc.com", //自定义渠道连接的channelid
"channelName": "abc website" //自定义渠道连接的名称
}
]
},
"event": {
"eventDate": 1553249452973,
"channelId": "wx123",
"channelName": "微信mp",
"event": "WECHAT__SUBSCRIBE",
"attr1": "XXX",
"attr2": "XXX",
"contactId":18257,
"id":104298,
"items": []
},
"eventMetadata": [
{
"appCode":"WECHAT",
"eventCode":"WECHAT__SCAN_QRCODE",
"eventName":"扫描二维码",
"attr4Type":"text",
"attr4Name":"推广人ID",
"attr5Type":"text",
"attr5Name":"推广人姓名",
"attr6Type":"enum:QRCodeType",
"attr6Name":"二维码类型",
"attr9Type":"text",
"attr9Name":"二维码ID",
"hasItem":false,
"hasUtm":true
}
],
"_custom": {
"foo": "bar"
}
}
~~~
*****
**1 消息结构体参数字段含义**
| 字段名 | 类型 | 描述 | 示例 |
| --- | --- | --- | --- |
| sendTime | long | 请求时间 | 1553249452973 |
|contact | object | 联系人 | 参见1.1联系人结构体参数字段 |
| event | object | 触发事件 | 参见1.2事件结构体参数字段 |
| eventMetadata | list | 事件metadata列表 | 参见1.3事件metadata结构体参数字段 |
| _custom | object | 自定义参数 | |
**1.1联系人结构体参数字段含义**
| 字段名 | 类型 | 描述 | 示例 |
| --- | --- | --- | --- |
| id | string | 联系人ID | 1553249452973 |
| name | string | 联系人姓名 | 张三 |
| mobile | string | 联系人手机 | 15150000000 |
| email | string | 联系人邮箱 | zhangsan@demo.com |
| wechatAccounts | list | 联系微信账号列表(公众号、小程序) | |
| udcAccounts | list | 联系人自定义渠道账号列表 | |
*****
**1.2事件结构体参数字段含义**
| 字段名 | 类型 | 描述 | 示例 |
| - | ----- | ----------- | --- |
| id | string | 事件id | 104298 |
| eventDate | long | 时间戳:事件发生时间 | 1554798374000 |
| channelId | string | 连接id | udc\_1544vOULeekh |
| channelName | string | 连接名称 | 源犀科技 |
| event | string | 事件编码 | WECHAT__SUBSCRIBE |
| sdkVersion | string | SDK的版本 |1.0.0 |
| sdkType | string | 记录此事件的SDK | iOS SDK |
| platform | string | 应用平台 | iOS |
| screenWidth | BigDecimal | 屏幕宽度 | |
| screenHeight | BigDecimal | 屏幕高度 | |
| appVersion | string | 应用版本 | |
| bundleKey | string | 应用包名 | |
| os | string | 操作系统 | Linux |
| osVersion | string | 操作系统版本 | 例如8.1.1 |
| browser | string | 浏览器名称 | 谷歌浏览器 |
| browserVersion | string | 浏览器版本 | 11 |
| country | string | 国家 | 中国 |
| province | string | 省份 | 江苏|
| city | string | 城市 | 南京 |
| networkType | string | 网络类型 | WiFi |
| manufacturer | string | 设备供应商 | 三星|
| deviceModel | string | 设备类型 | iPhone |
| operator | string | 运营商 | 中国联通 |
| debugMode | Boolean | 是否是测试数据 | true |
| imei | string | IMEI | |
| ip | string | ip地址 | |
| latitude | BigDecimal | 纬度 | |
| longitude | BigDecimal | 经度 | |
| attr1 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr2 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr3 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr4 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr5 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr6 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr7 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr8 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr9 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr10 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr11 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr12 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr13 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr14 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr15 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr16 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr17 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr18 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr19 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| attr20 | 根据事件编码,查找事件metadata中的属性类型 | 事件属性值 。可根据事件编码,查找事件metadata中的属性定义 | |
| items | list | 子事件。| |
| utm | object | utm参数。 | { "source":"wechat", "medium":"qrcode", "content":"联否ALPHA", "term":"1" ,"campaign":"营销活动3"} |
| contactId | long | 事件联系人id | 18257 |
*****
**1.3事件metadata结构体参数字段含义**
| 字段名 | 类型 | 描述 | 示例 |
| --- | --- | --- | --- |
| id | string | 事件metadata id | 1 |
| appCode | string | 事件所属链接类型。如:扫描二维码事件属于微信 | WECHAT |
| eventCode | string | 事件编码 | WECHAT__SUBSCRIBE |
| eventName | string | 事件名称 | 扫描二维码 |
| attr1Name | string |事件属性名称 | |
| attr1Type | string | 1.3.1事件属性类型 | |
| attr2Name | string | 事件属性名称 | |
| attr2type | string | 1.3.1事件属性类型 | |
| attr3Name | string | 事件属性名称 | |
| attr3type | string | 1.3.1事件属性类型 | |
| attr4Name | string | 事件属性名称 | |
| attr4type | string | 1.3.1事件属性类型 | |
| attr5Name | string | 事件属性名称 | |
| attr5type | string | 1.3.1事件属性类型 | |
| attr6Name | string | 事件属性名称 | |
| attr6type | string | 1.3.1事件属性类型 | |
| attr7Name | string | 事件属性名称 | |
| attr7type | string | 1.3.1事件属性类型 | |
| attr8Name | string | 事件属性名称 | |
| attr8type | string | 1.3.1事件属性类型 | |
| attr9Name | string | 事件属性名称 | |
| attr9type | string | 1.3.1事件属性类型 | |
| attr10Name | string | 事件属性名称 | |
| attr10type | string | 1.3.1事件属性类型 | |
| attr11Name | string | 事件属性名称 | |
| attr11type | string | 1.3.1事件属性类型 | |
| attr12Name | string | 事件属性名称 | |
| attr12type | string | 1.3.1事件属性类型 | |
| attr13Name | string | 事件属性名称 | |
| attr13type | string | 1.3.1事件属性类型 | |
| attr14Name | string | 事件属性名称 | |
| attr14type | string | 1.3.1事件属性类型 | |
| attr15Name | string | 事件属性名称 | |
| attr15type | string | 1.3.1事件属性类型 | |
| attr16Name | string | 事件属性名称 | |
| attr16type | string | 1.3.1事件属性类型 | |
| attr17Name | string | 事件属性名称 | |
| attr17type | string | 1.3.1事件属性类型 | |
| attr18Name | string | 事件属性名称 | |
| attr18type | string | 1.3.1事件属性类型 | |
| attr19Name | string | 事件属性名称 | |
| attr19type | string | 1.3.1事件属性类型 | |
| attr20Name | string | 事件属性名称 | |
| attr20type | string | 1.3.1事件属性类型 | |
| hasItem | Boolean | 是否有子事件 | false |
**1.3.1事件属性类型值定义**
| 值 | 含义 | 说明 |
| --- | --- |--- |
| text | 字符串 ||
| integer | 整数 ||
| number | 数字 ||
| datetime | 日期 ||
| enum | 枚举 | 按照string处理 |
| reference | 引用 | linkflow内部引用id,按照string处理 |
## 推送规则
当工作流被触发,webhook工作被触发,linkflow会向配置地址发起请求。
1、消息推送服务通过 POST 、参数编码为 JSON 的方式向开发者提供的地址推送消息;
2、开发者接收到消息后需要在10秒内回复code为 200的响应;
3、当推送没有成功返回会进入重发,最多重发三次。 规则是无法连通或者返回的http code 大于等于500(服务器异常);
4、消息推送成功的逻辑是开发者服务器返回200。
## 场景举例
场景描述:需要将每个加入标签组“webhook”的联系人同时同步到外部的服务器(如阿里云服务器等)
流程设计如下:


然后发布流程,凡是加入此标签组的人员均可以同步到外部服务器。
**注:联系人信息可以实时同步到外部服务器,如网络缓慢问题,数据同步会稍后延后。**
## 接口鉴权
1、当webhook配置的接口需要鉴权时,您可前往设置-App集成设置-授权设置中,配置一个用于获取令牌的授权,授权的配置请参考:https://www.kancloud.cn/linkflowtech/lfcs/2164899
2、勾选webhook的启用鉴权功能,在下方填入需要鉴权的请求参数,令牌的值可以使用通配符#{auth.授权标识.令牌的key}获取(通配符外也可拼接空格与字符串)您需要根据您配置的授权返回结构自行判断填写令牌的key。

- 首页
- 重置密码操作
- 首页情况介绍
- Linkflow浏览器要求
- 仪表盘
- 客户旅程
- 什么是客户旅程?
- 如何使用客户旅程
- 如何创建客户旅程
- 如何停止&删除客户旅程
- 如何重新编辑客户旅程
- 如何将客户旅程添加到目录
- 设置客户旅程
- 如何设置客户旅程转化目标
- 客户旅程模板说明
- 如何创建客户旅程模板
- 选择已有客户旅程模板
- 使用场景说明
- 使用逻辑说明
- 触发条件
- 定时触发条件
- 网页追踪
- 属性变更
- 执行动作
- 加入群组
- 移出群组
- 改变分数
- 延时器
- 变更属性
- A/B分配
- 终止旅程
- webhook
- 内部通知
- 条件分支
- 属性判断器
- 群组判断器
- 事件判断器
- 微信判断器(已下架)
- 时间判断器
- 企微判断器
- 管理客户旅程目录
- 所有用户
- 追踪用户与匿名访客
- 用户分组
- 用户列表
- 用户的创建、查重与合并
- 用户导出和导入
- 用户导出
- 用户导入
- 导出OpenID、UnionID
- 用户查看
- 批量编辑用户
- 互斥组(未上线)
- 用户属性
- 动态日期
- 年龄
- 用户识别
- 用户群组
- 动态标签组
- 静态标签组
- 前置标签组(微信公众号当前粉丝)
- 群组目录
- 用户标签【beta】
- 广告追踪
- 广告模块介绍
- 渠道分析
- 广告平台分析
- 广告时域分析
- 广告地域分析
- SEM广告分析
- 广告计划分析
- 广告单元分析
- 广告创意分析
- 广告关键词分析
- IP分析
- 一键生成通配符URL
- 关键词属性分析
- 广告设备分析
- 信息流广告分析
- 广告计划分析(信息流)
- 广告组分析
- 广告分析
- 广告组属性
- 返点
- 转化目标介绍
- 微信营销(对接公众号才会有此功能模块)
- 触达
- 群发
- 模板消息通知
- 订阅通知
- 二维码管理
- 带参二维码(原为普通二维码)
- 二维码创建路径
- 如何查找带参二维码
- 永久与临时二维码创建
- 带参二维码在触发条件中使用
- 带参二维码在执行条件中使用
- 扫码后回复、加组
- 批量创建/导出二维码
- 二维码分组管理
- 一人一码
- 如何使用一人一码
- 一人一码分组管理
- 基础设置
- 菜单管理
- 卡券管理
- 微信卡券管理
- 微信卡券功能申请条件
- 微信卡券功能开通
- 微信卡券使用
- 微信卡券核销方法
- 图⽂素材
- 菜单会话
- 给动态组用户打微信标签
- 微信分析
- 微信报表明细
- 图文分析
- 统计分析
- 分享转发分析
- 微信用户分析
- 粉丝数分析
- 报表分析
- 事件分析
- 什么是事件分析
- 公共筛选条件
- 如何创建事件分析
- 属性筛选条件说明
- 事件分析报表相关名字解释
- 支持图表
- 漏斗分析
- 用户分析
- 支持图表
- 用户画像
- 群体分析(此功能已下架)
- 时域分析
- 地域分析
- 分布分析【beta】
- 留存分析【beta】
- 路径分析【beta】
- 归因分析【beta】
- 报表管理
- 报表分析临时群组
- 连接管理
- 语音直播
- 千聊
- 千聊与Linkflow对接和设置
- 千聊常见问题
- 客户关系管理(salesforce、爱客/励销、纷享销客)
- 爱客/励销CRM
- 爱客/励销CRM连接和设置
- 爱客/励销-执行动作
- 纷享销客
- 纷享销客连接和设置
- 纷享销客-执行动作
- Salesforce
- Salesforce连接和设置
- Salesforce-执行动作
- 社交媒体(微信公众号、小程序&抖音)
- 微信公众号
- 微信公众号与Linkflow对接
- 同步微信公众号标签
- 批量为用户打标签
- 微信消息通知
- 微信客服会话管理
- Linkflow调用公众号接口列表
- 话题标签
- 微信执行条件
- 发送文本
- 发送图片
- 发送模板消息
- 发送H5
- 发送微信图文
- 发送微信语音
- 发送一人一码
- 发送小程序
- 发送卡券
- 发送微信视频
- 发送菜单会话
- 触发条件-微信
- 关注微信公众号粉丝的来源显示(对接前与对接后关注)
- 删除微信GDPR数据
- 微信开放平台
- 微信开放平台申请
- 微信开放平台认证
- 绑定微信公众号
- 绑定小程序
- 开放平台如何创建第三方平台
- 微信小程序
- 小程序与Linkflow对接
- Linkflow如何与小程序对接
- 小程序绑定公众号
- 小程序SDK接入指南
- 小程序触发条件&事件
- 管理小程序页面
- 扫码打开小程序接入指南
- 同步连接用户
- 批量为用户打标签
- 预置仪表盘
- 微信小程序FAQ
- 小程序相关问题
- 小程序模板消息设置
- 什么是微信小程序
- 公众号快速注册并认证小程序
- 小程序权限集
- 微信公众号申请&认证
- 微信公众号申请
- 微信公众号认证
- 抖音
- 抖音与Linkflow对接
- Webhooks请求网址URL设置
- 重新获取抖音企业号意向用户
- 抖音客户旅程触发条件
- 抖音客户旅程执行动作
- 抖音企业号认证
- 抖音常见问题
- 微博
- 微博与Linkflow的对接
- 微博授权短链接
- 设置消息回调
- 电子商务Saas
- 抖店
- 抖店与Linkflow对接
- 配置事件消息推送地址
- 抖店分析与营销
- 邮件服务
- WebPower
- WebPower与Linkflow连接
- 发送Webpower邮件
- SendCloud
- SendCloud连接和设置
- Sendcloud域名追踪
- webhook设置
- SendCloud-执行动作
- Sendcloud价格相关
- Sendcloud FAQ
- 有赞
- 有赞与Linkflow对接
- 有赞触发条件
- 微盟
- 微盟与Linkflow对接
- 微盟-触发条件(触发事件)
- 用户行为记录高级功能
- 短信服务(云片网&腾讯短信)
- 云片网
- 云片网连接和设置
- 申请短信签名&模板
- 云片网-执行动作
- 短信回复和退订
- 短信跳转小程序
- 短信推送状态报告设置
- 超级短信开通及使用
- 超级短信开通
- 如何使用超级短信
- 超级短信状态报告
- 云片网短链
- 腾讯短信
- 腾讯短信连接与设置
- 腾讯短信-执行动作
- 协同办公(企业微信、钉钉)
- 企业微信
- Linkflow与企业微信对接
- 企业微信连接和设置
- 设置客户联系接收事件服务器
- 同步成员数据
- 同步客户数据
- 聊天工具栏
- 群发客户消息
- 企业朋友圈
- 企业微信如何关联小程序
- 新客户欢迎语
- 「联系我」二维码
- 如何在Linkflow中获取企业微信相关数据
- 企业微信事件分析
- 客户旅程-企业微信
- 触发条件
- 执行动作
- 钉钉
- 钉钉连接和设置
- 钉钉-执行动作
- 钉钉-触发条件
- 视频会议直播
- 微吼
- 微吼连接和设置
- 微吼-触发条件
- 微吼-执行动作
- 目睹直播
- 目睹连接和设置
- 目睹触发条件
- 目睹事件分析
- 小鹅通(尚未上线)
- 小鹅通连接和设置
- 小鹅通-触发条件
- 小鹅通-直播短链接
- 广告投放
- 今日头条推广
- 微信广告
- 微信广告与Linkflow对接
- 获取微信朋友圈广告填单线索
- 神马推广
- 360推广
- 360推广与Linkflow的连接和设置
- 360广告API接口
- 搜狗推广
- 搜狗推广与Linkflow的对接和设置
- 百度推广
- 百度推广与Linkflow的对接和设置
- OneDesk(尚未上线)
- 表单数据
- 金数据
- 金数据连接和设置
- 金数据-触发条件
- 金数据表单映射以及相关功能
- 金数据如何绑定微信公众号
- 如何映射金数据表单
- 金数据扩展属性的使用
- 金数据表单推广功能
- 金数据相关应用场景
- 问卷星
- 问卷星连接和设置
- 问卷星-触发条件
- 问卷网
- 问卷网连接和设置
- 问卷网-触发条件
- 问卷网价格
- CMS(待上线)
- 如何在linkflow里面连接和设置CMS
- CMS表单映射
- CMS如何绑定微信公众号
- CMS设置数据推送
- 如何映射CMS中的表单
- 收钱吧(尚未上线)
- 收钱吧与Linkflow对接
- 收钱吧触发条件
- 驿氪
- 驿氪执行动作
- 同步连接用户
- 创蓝253(目前不对外开放)
- 句子互动(尚未上线)
- 悠易互通Yoyi(尚未上线)
- 内容素材
- 易企秀
- 易企秀内容中台与Linkflow对接
- 企微运营
- 微伴助手
- Linkflow与微伴助手对接
- 导出用户到微伴
- AI外呼_一知智能
- AI外呼_一知智能连接和设置
- AI外呼_一知智能-执行动作
- 元数据管理
- 用户属性
- 事件元数据
- 事件属性
- 自定义图元(所有自定义渠道的自定义图元)
- 虚拟事件
- 字典表
- 设置
- 网站追踪
- 短链接
- 短链接管理
- 短链接分组管理
- 批量创建/导出短链接
- App集成设置
- 私有App设置
- SFTP站点设置
- 授权设置
- 功能新增
- 我的账号
- 使用情况
- 通知中心
- 高级设置
- 员工
- 管理员工所属部门(暂不对外开放)
- 如何创建员工(含多因素验证)
- 角色
- 用户字段加密
- 操作日志
- JS SDK接入
- 网页埋点说明
- 微信表单页面埋点说明
- 微信网页分享裂变
- 自定义连接
- 如何在Linkflow连接和设置自定义渠道
- 如何修改自定义渠道的图标
- 自定义图元
- 自定义事件(事件元数据)
- IOS移动应用接入
- Android移动应用接入
- 同步连接用户
- 同步连接事件
- 删除用户数据
- Linkflow对接指南
- 账号信息
- 工单
- 常见问题
- 微信常见问题
- 微信公众平台服务号、订阅号、企业号的功能区别
- 模板消息是否支持英文版本
- 扫码签到后却发送两个签到通知消息
- 公众号模板消息
- 微信公众号发布了的文章如何删除
- 什么行为算是48小时内的活动,从而能够用客服消息触达
- 公众号提示:该公众号提供的服务出现故障,请稍后再试
- 在开放平台绑定公众号/小程序数量相关问题
- 同一个主体最多可以申请多少个微信公众号
- 留言功能
- 有多个微信公众号,客户身份如何合并?
- 公众号接口调整【关注公众号后无法获取用户昵称、头像】
- 问卷网常见问题
- 金数据常见问题
- 企业微信FAQ
- 微吼常见问题
- 系统登录问题
- 版本更新说明
- Linkflow以往的版本
- 2110 R1 版本更新说明
- 2111 R1 版本更新说明
- 2112 R1 版本更新说明
- 2201 R1 版本更新说明
- 联系客服在线咨询
- 广告运营分析(尚未上线)