{"id":60,"type":"Article","title":"应用级别 Webhook 推送","slug":"webhook","content":"\r\n\r\n我们提供了**应用级别**的 Webhook 推送机制，也支持在[单个问卷/评价设置webhook数据推送](https://howxm.com/help/articles/integration-intro#webhook)\r\n\r\n- 当问卷、评价数据发生「新增」时，支持将数据按照 JSON 格式发送指定服务器。\r\n\r\n- 支持获取应用级别的全局 webhook 地址\r\n\r\n\r\n# **重连机制**\r\n\r\n- 发送 Post 请求需要目标服务器「在 2 秒内返回 2XX（如 200）作为应答」，如果没有正确回应，尝试重新 2 次推送，间隔 2 秒。\r\n- 如果有连续的 5 条数据推送，都出现错误时，则停止当前的 webhook 推送。\r\n\r\n# **推送失败通知**\r\n\r\n推送失败后，当前应用的所有者将收到短信通知。\r\n\r\n如需重新开启，需要在应用设置— webhook 页面重新手动保存设置，测试成功后，数据推送才会继续。\r\n\r\n\r\n# **Post 数据格式**\r\n\r\n\r\n```\r\n{\r\n  \"campaign\": {\r\n    // 评价/问卷详情\r\n  },\r\n  \"entry\": {\r\n    // 数据详情\r\n  },\r\n  \"event_type\":\"entry_submitted\" \r\n}\r\n```\r\n\r\n\r\n\r\n# **字段对照表**\r\n\r\n\r\n目前浩客评价、问卷所有字段都支持推送\r\n\r\n- **问卷/评价题目字段类型**：NPS、CSAT、CES、评分、多选题、单选题、简答题、CTA\r\n\r\n- **系统字段**：填写时长、填写地区、浏览器、操作系统、IP、提交方式、填写页面\r\n\r\n- **客户属性**：预设客户属性、传入客户属性\r\n\r\n| 字段code | 字段说明 | 字段值\r\n| -------- | -------- | -------- |\r\n| submitted_on     | 提交方式     | 自动（expiration），手动（completion）\r\n| serial_number     | 数据序号    | 指生成这条数据的序号（在一个问卷/评价中是唯一的标识）\r\n| delivery_method     | 投放方式    |  URL 填写（URL），贴边按钮/弹框（SDK）\r\n| filling_duration     | 填写时长    | \r\n| region     | 填写地区    | \r\n| browser     | 浏览器    | \r\n| os     | 操作系统    | \r\n| ip     | IP    | \r\n| referer     | 填写页面    | \r\n\r\n\r\n\r\n\r\n# **Webhook 格式**\r\n\r\n\r\n```\r\n{       \r\n    \"campaign\": {\r\n        \"name\": \"NPS 调研问卷\",\r\n        \"fields\": [\r\n            {          \r\n                \"code\": \"field_1\",   \r\n                \"label\": \"你愿意向同事/朋友推荐我们产品吗？\",   \r\n                \"type\": \"NpsField\"  \r\n            },          \r\n            {                 \r\n                \"code\": \"field_3\",                                \r\n                \"label\": \"您觉得哪些方面还需要改进\",                                \r\n                \"type\": \"CheckBox\",                                \r\n                \"choices\": [                                        \r\n                    {                                                \r\n                        \"label\": \"产品质量\",                                            \r\n                        \"value\": \"d2s6\",                                                \r\n                        \"type\": \"TextChoice\"                                        \r\n                    },                                        \r\n                    {                                                \r\n                        \"label\": \"产品设计\",   \r\n                        \"value\": \"sbXb\",                                                \r\n                        \"type\": \"TextChoice\"                                        \r\n                    },                                        \r\n                    {                                                \r\n                        \"label\": \"服务品质\",       \r\n                        \"value\": \"a2aY\",                                                \r\n                        \"type\": \"TextChoice\"                                        \r\n                    },                                        \r\n                    {                                                \r\n                        \"label\": \"产品宣传\",    \r\n                        \"value\": \"rkeU\",                                                \r\n                        \"type\": \"TextChoice\"                                        \r\n                    },                                        \r\n                    {                                                \r\n                        \"label\": \"售后\",                                                \r\n                        \"value\": \"bsXc\",                                                \r\n                        \"type\": \"TextChoice\"                                        \r\n                    },                                        \r\n                    {                                                \r\n                        \"label\": \"其他\",                                                \r\n                        \"value\": \"choiceOther\",      \r\n                        \"type\": \"OtherChoice\"                                        \r\n                    }                                \r\n                ]                        \r\n            },                        \r\n            {                                \r\n                \"code\": \"field_4\",                                \r\n                \"label\": \"请告诉我们选择这个分数的原因\",     \r\n                \"type\": \"TextArea\"                        \r\n            }              \r\n        ],                \r\n        \"id\": \"4dbca3a44d407236c71e792a6e2b774a\"        \r\n    },        \r\n    \"entry\": {                \r\n        \"referer\": \"http://127.0.0.1:8080/?appid=5abf14ef-7816-483b-80ea-38640ef010c4\",           \r\n        \"submitted_on\": \"completion\", \r\n        \"delivery_method\": \"SDK\", \t\t\t\t               \r\n        \"os\": \"Mac OS X 10.15.7\",                \r\n        \"ip\": \"0:0:0:0:0:0:0:1\",                \r\n        \"browser\": \"Chrome 109.0.0\",                \r\n        \"filling_duration\": 11,                \r\n        \"created_at\": \"2023-02-08T10:30:15Z\",                \r\n        \"serial_number\": 5,                \r\n        \"fields\": {                        \r\n            \"field_3\": {                                \r\n                \"value\": [                                        \r\n                    \"rkeU\",                                        \r\n                    \"bsXc\"                                \r\n                ]                        \r\n            },                        \r\n            \"field_4\": \"功能可以满足我的需求，但配置比较难以完成\",                        \r\n            \"field_1\": 6,               \r\n        },                \r\n        \"customer\": {                    \r\n            \"uid\": \"u001\",                        \r\n            \"name\": \"张三\",                        \r\n            \"age\": 18                \r\n\t\t\t\t},                \r\n        \"region\": {                        \r\n            \"country\": \"中国\",                        \r\n            \"province\": null,                        \r\n            \"city\": null                \r\n        },                \r\n        \"platform\": \"Mac\"        \r\n    },        \r\n    \"event_type\": \"entry_submitted\"\r\n}\r\n```\r\n\r\n\r\n# **在浩客应用配置 Webhook**\r\n\r\n\r\n![](https://help-assets.jinshuju.net/assets/file/1165/webhook.png)\r\n\r\n\r\n# **推送来源校验**\r\n\r\n\r\n推送的**request header**中的 **x-requested-by**\r\n\r\n字段值为 howxm，可用来验证该请求的发送来源浩客。\r\n\r\n# **自定义字段API Code**\r\n\r\n为了方便在多个 campaign 之间存储相同类型的业务数据，浩客支持[自定义问卷/评价的 API Code](https://howxm.com/help/articles/api#api-code)。\r\n\r\n\r\n\r\n\r\n\r\n\r\n","featured":false,"category_id":16,"created_at":"2023-02-21T02:22:44.609Z","updated_at":"2023-09-05T09:16:43.523Z"}