金数据帮助中心

数据推送API

免费版 专业版 专业增强版 企业基础版 企业协作版 企业高级版
是否支持此功能 ✔️ ✔️ ✔️ ✔️ ✔️

开启数据推送

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

重连机制

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

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

注: 即使重新设置成功,失败期间的推送,不会重发。

字段的对应格式

金数据字段 JSON 样例 API Code
序号 Float 1 serial_number
应付金额 Float 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
评分 Integer 1 filed_xx
数字, 计算字段 Float 123.4 filed_xx
矩阵单选 Array {"statement":"题目1", "choice":"选项1"}, {"statement":"题目2", "choice":"选项2"}, {"statement":"题目3", "choice":"选项3"} filed_xx
配图商品 无图商品 Array {"name":"商品一", "number":1} , {"name":"商品二", "number":2} filed_xx
多项选择 图片多选 Array {"选项一","选项二"} filed_xx
上传文件 Array ["https://files.jinshuju.net/en/......."] filed_xx
矩阵单选 Array {"statement":"苹果" , "choice":"喜欢"} , { "statement":"梨" , "choice":"不喜欢"} filed_xx
表格 Array { "项目一":"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
IP String "127.0.0.1" info_remote_ip

数据推送示例

例如指定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."
    }
}

注意事项

  • 多级下拉框字段只在金数据企业版中支持,二级下拉框字段在金数据个人版中支持。
  • 计算字段仅在金数据企业版中支持,金数据个人版中不支持。

常见问答

问:修改了的数据是否会推送?
答:

以下情况修改的数据都会推送:
1.通过对外查询、结果分享修改的数据。    
2.通过数据页面后台修改的数据。      

问:除去上述服务器返回异常外,什么情况下会无法接收数据?
答:

有以下三种情况:
1.数据推送在推送高峰期时会出现排队的情况,具体时间视排队情况而定,请耐心等待。  
2.如果表单配置了商品字段和支付方式,用户提交表单并且未付款的数据。    
3.通过后台Excel导入的数据。   
有帮助(68) 未解决问题?