Webhook 数据推送

开启数据推送

您可以在表单的「设置——数据推送」页面找到「将数据以 JSON 格式发送给第三方」,勾选开启后点击「字段对照表与 JSON 样例」展开,您将看到当前表单的字段对照表。 填写地址并保存后,开启「数据推送」的表单收到新数据(编辑数据)时,金数据会将该数据通过 HTTP POST 推送到指定的 URL 。


重连机制

在我们尝试向填写的地址发送 post 请求时,我们要求用户的服务器于2 秒内返回 2XX(如 200)作为应答。如果没有得到正确的回应 ,我们会尝试重新推送消息。如果连续重试6次均失败,该表单的数据推送过程将停止。 表单创建者将获得邮件和短信通知。开发者需要在表单 「设置 —— 数据推送」页面找到 「将数据以 JSON 格式发送给第三方」重新手动保存设置,只有成功,数据推送才会继续。

我们重连的时间间隔以斐波那契数列为基础,时间计算公式(单位:秒):
(retrycount * 4) + 15 + (rand(30) * (retrycount + 1))

⚠️注意:

即使重新开启成功,接收失败到重新开启期间新增的数据,不会重发。


常规字段的对应格式

常规字段 JSON 样例 API Code
序号 Number 1 serial_number
应付金额 Number 123.4 total_price
交易号 String "2013110473887777" trade_no
交易状态 String "TRADE_SUCCESS" trade_status
支付渠道 String "alipay" payment_method
单行文字 多行文字 单项选择 图片单选 String "你好,小金" filed_xx
下拉框,姓名,邮箱,手机,电话 string "小金" , "support@jinshuju.net" , "13888888888" , "02888888888" filed_xx
时间 String "00:04:10" filed_xx
网址 String "https://jinshuju.net" filed_xx
日期 String "2012-04-16" filed_xx
电子签名 String "https://files.jinshuju.net/en/......." filed_xx
扩展属性 String "12312" x_field_1
评分 Number 1 filed_xx
数字, 计算字段 Number 123.4 filed_xx
矩阵选择 Hash {"statement":"题目1", "choice":"选项1"}, {"statement":"题目2", "choice":"选项2"}, {"statement":"题目3", "choice":"选项3"} filed_xx
配图商品,无图商品 Hash {"name":"商品一", "number":1} , {"name":"商品二", "number":2} filed_xx
多项选择,图片多选 Array ["选项一","选项二"] filed_xx
上传文件 Array ["https://files.jinshuju.net/en/......."] filed_xx
矩阵选择 Hash {"statement":"苹果" , "choice":"喜欢"} , { "statement":"梨" , "choice":"不喜欢"} filed_xx
表格 Hash { "项目一":"1","项目二":"1"} , { "项目一":"2","项目二":"2"} , { "项目一":"3","项目二":"3"}, filed_xx
多级下拉框 Hash {"level_1":"多级下拉框一级选项 1" , "level_2":"多级下拉框二级选项 1"} filed_xx
地理位置 Hash {"latitude":"108.8725926" , "longitude":"34.1927644" , "address":"陕西省西安市锦业一路"} filed_xx
地址 Hash {"province": "陕西省" , "city": "西安市" , "district": "雁塔区" , "street": "高新路"} filed_xx
矩阵填空 Hash {"statement":"题目1", "dimensions":{"项目1":"1", "项目2":"2", "项目3":"3"}} , {"statement":"题目2", "dimensions":{"项目1":"11", "项目2":"22", "项目3":"33"}} , {"statement":"题目3", "dimensions":{"项目1":"111", "项目2":"222", "项目3":"333"}} filed_xx
表单关联 BSON::ObjectId "表单关联" filed_xx
提交人 String "小金" creator_name
提交时间,修改时间 DateTime "2019-06-28T16:04:31.571Z" created_at updated_at
填写设备 String "Macintosh" info_platform
操作系统 String "OS X 10.13.6" info_os
浏览器 String "Chrome 68.0.3440.106" info_browser
考试成绩 Float "100" exam_score
IP String "127.0.0.1" info_remote_ip
已邀请人数 Number 1 referral_users_count
邀请链接 String "127.0.0.1" referral_link
邀请人 String "张三" referred_from
邀请红包金额 Number 15 distribution_red_envelope_total_amount

表单关联展示字段的对应格式

表单关联展示字段数据类型与被关联表单字段的类型有关,API Code由关联字段和被关联字段组成,格式为:field_xx_associated_xx

关联展示字段 JSON 样例 API Code
提交人 String "小金" field_xx_associated_creator_name
提交时间 Date Time "2019-06-28T16:04:31.571Z" field_xx_associated_created_at

数据推送示例

例如指定 URL 为http://url.com/jinshuju/callback,则金数据以 JSON 格式 POST 该数据的 Entry 信息。

发送的 JSON 数据以字段的 Key 来展示,字段对照表将列出 Key 与 Label 的对应关系。

POST http://url.com/jinshuju/callback
Content-Type: application/json
X-Requested-By: jinshuju
{
    "form": "xJfeTv",
    "entry": {
        "field1": 123,
        "field2": "Hello, World",
        "field3": "It's very good."
    }
}

Outboard IP List

金数据服务器出口 IP 列表。如果你对接的服务器有 IP 白名单限制,请将以下对应 IP 地址加入白名单中。

jinshuju.net 

52.82.74.116  
52.82.89.22  
52.82.100.17  
54.223.160.170 (2019年6月19日0时弃用)  
54.223.152.10 (2019年6月19日0时弃用)   

jinshuju.com 

52.82.114.21  
52.83.140.104  
52.83.245.251  
54.223.74.252 (2019年6月20日0时弃用)  
54.223.17.54 (2019年6月20日0时弃用)

注意事项

1)多级下拉框字段只在金数据企业版中支持,二级下拉框字段在金数据个人版中支持。

2)计算字段仅在金数据企业版中支持,金数据个人版中不支持。

3)以下情况修改的数据都会推送:

  • 通过对外查询、结果分享修改的数据。

  • 通过数据页面后台修改的数据。

4)除去服务器返回异常外,以下几种情况会无法接收数据

  • 数据推送在推送高峰期时会出现排队的情况,具体时间视排队情况而定。

  • 如果表单配置了商品字段和支付方式,用户提交表单并且未付款的数据。

  • 通过后台 Excel 导入的数据。

  • 之前开启了推送且接受了数据,但服务器未返回 2xx 状态码导致重连失败。

  • 你的服务器是否设定了 IP 地址白名单且我们的 IP 不在名单内。

5)在这个页面上展示的内容是接收数据的服务器返回的错误信息,需要检查服务器后台的相关设置。


实现金数据与 Excel 数据互通,参看使用案例:数据推送至excel

资费介绍

免费版 专业版 专业增强版 企业基础版 企业协作版 企业高级版
价格 免费 599 元/年 2,399 元/年,299 元/月 4,399 元/年 7,399 元/年 23,999 元/年
推送新增数据 - ✔️ ✔️ ✔️ ✔️ ✔️
推送变更数据 - - - ✔️ ✔️ ✔️

👉联系技术咨询

联系客服