├── README.md ├── enterprise-api-org-client-credentials-grant-flow.md ├── enterprise-api.md ├── enterprise-sdk.md ├── images └── post_message.png ├── jinshuju-net-api.md ├── jinshuju-net-sdk.md ├── personal-api.md └── personal-sdk.md /README.md: -------------------------------------------------------------------------------- 1 | # 金数据 高级API & SDK 2 | 3 | > 本文档用于金数据 **高级API** & **SDK** 。 4 | 5 | > 金数据 高级API & SDK,只支持对特定套餐版本、商务合作伙伴开放。如果你有 高级API & SDK 的需求,请联系金数据销售。 6 | 7 | > 请确保你使用的金数据账号是在 https://jinshuju.net ,如有疑问,请联系你的客户经理。 8 | 9 | ## 金数据 高级API 文档 10 | 11 | * 访问文档: [账户位于 jinshuju.net](jinshuju-net-api.md) 12 | 13 | > **高级API** 适用于 jinshuju.net 上的企业高级版、商业合作版、第三方合作伙伴 14 | 15 | ## 金数据 SDK 文档 16 | 17 | * 访问文档: [账户位于 jinshuju.net](jinshuju-net-sdk.md) 18 | 19 | > **SDK** 适用于 jinshuju.net 上的商业合作版、第三方合作伙伴 20 | 21 | ## 基础 API 22 | 23 | 如果你希望使用金数据 **基础API**、**Webhook**、**URL传参**等功能,请访问: 24 | 25 | * 金数据帮助中心 [https://jinshuju.net/help/articles/api-intro](https://jinshuju.net/help/articles/api-intro) 26 | * 金数据开放平台 [https://open.jinshuju.net](https://open.jinshuju.net) 27 | 28 | > **基础API** 适用于 jinshuju.net 上的所有付费版本(专业版、专业增强版、企业版、商业合作版) 29 | -------------------------------------------------------------------------------- /enterprise-api-org-client-credentials-grant-flow.md: -------------------------------------------------------------------------------- 1 | # 金数据高级API `org_client_credentials` 授权方式 2 | 3 | **本文档适用于您的金数据账号位于 jinshuju.net,如有疑问请联系客服或者销售** 4 | 5 | 金数据高级API使用OAuth 2标准进行用户验证,一般情况下默认使用`Authorization Grant`来获取`Access Token` 6 | 7 | 参考OAuth 2.0标准:Authorization Grant https://tools.ietf.org/html/rfc6749#section-1.3 8 | 9 | `Authorization Grant` 授权方式一般要求用户使用浏览器(或类似方式)访问授权网页,手工登陆后网页重定向,client端获取 `authorization code` 后再请求 `Access Token`。这种方式安全性较高,但是流程较复杂,一般需要人工交互来授权。 10 | 11 | 为了方便企业用户开发企业内部自用的应用,金数据高级API另一种授权方式:`org_client_credentials`。使用 `org_client_credentials` 可以直接通过一个 HTTP 请求获取 `access token`。 12 | 13 | 需要注意的是,`org_client_credentials` 方式获取到的 `access token` 是企业级别的,与个体用户无关。其 `scope` 也是应用全部的 `scope`。这意味着,该 `access token` 可以访问到应用对应企业的所有数据以及应用具备的所有操作权限。 14 | 15 | 16 | ## `org_client_credentials` 授权流程 17 | 18 | 要发起 `org_client_credentials` 授权流程,发送 `POST`请求到 `https://account.jinshuju.com/oauth/token` 地址,params 为 `grant_type`, `client_id`, `client_secret` 19 | 20 | ``` 21 | POST /oauth/token 22 | Content-Type: application/x-www-form-urlencoded;charset=UTF-8 23 | grant_type=org_client_credentials&client_id=$CLIENT_ID$&client_secret=$CLIENT_SECRET$ 24 | ``` 25 | 26 | __注意,`grant_type` 要设置为 `org_client_credentials`__ 27 | 28 | curl 命令参考如下: 29 | 30 | ``` 31 | curl -X POST \ 32 | 'https://account.jinshuju.com/oauth/token?grant_type=org_client_credentials&client_id=$CLIENT_ID$&client_secret=$CLIENT_SECRET$' 33 | ``` 34 | 35 | Ruby 代码参考如下: 36 | 37 | ``` 38 | require 'rest-client' 39 | require 'json' 40 | 41 | client_id = '4ea1b...' 42 | client_secret = 'a2982...' 43 | 44 | response = RestClient.post 'https://account.jinshuju.com/oauth/token', { 45 | grant_type: 'org_client_credentials', 46 | client_id: client_id, 47 | client_secret: client_secret 48 | } 49 | ``` 50 | 51 | response 中将包含 `access token` 相关数据: 52 | 53 | ``` 54 | { 55 | "access_token": "5df8c2f......", 56 | "token_type": "bearer", 57 | "expires_in": 7200, 58 | "scope": "public forms read_entries write_entries form_setting users", 59 | "created_at": 1507716930 60 | } 61 | ``` 62 | 63 | 获取到 `access token` 后,后续流程和 API 使用方法相同。参见文档: https://github.com/jinshuju/jinshuju-api-docs/blob/master/enterprise-api.md#3-使用access-token访问api 64 | 65 | 66 | -------------------------------------------------------------------------------- /enterprise-api.md: -------------------------------------------------------------------------------- 1 | # 金数据高级API文档 (jinshuju.com) 2 | 3 | **注意此文档仅限通用型saas平台产品和金数据企业高级版及以上版本使用,且仅支持这两种类型的用户开通** 4 | 5 | **本文档适用于您的金数据账号位于 jinshuju.com,如有疑问请联系客服或者销售** 6 | 7 | 金数据API使用OAuth 2标准进行用户验证。 8 | 9 | 10 | ## 发送请求 11 | 12 | 所有的URL需要以`https://api.jinshuju.com/v4/`开头。仅支持SSL。目前API版本为`v4`版本。例如,想获得当前用户的基本信息情况: 13 | 14 | curl https://api.jinshuju.com/v4/me?access_token=... 15 | 16 | ## OAuth 2验证 17 | 18 | v4版本的金数据API支持OAuth 2。你可以使用标准的OAuth交互协议进行访问。相关URL如下: 19 | 20 | * 认证域: `https://account.jinshuju.com` 21 | * 接口域: `https://api.jinshuju.com/v4` 22 | 23 | ### 1. 转向到金数据申请验证 24 | 25 | ### 1.1 转向到金数据申请企业中用户的验证 26 | 27 | GET https://account.jinshuju.com/oauth/authorize 28 | 29 | 参数 30 | 31 | 参数名称 | 类型 | 备注 32 | ------------- | ------------- | ----------- 33 | client_id | string | **必须**,注册的金数据应用ID,目前仅对金数据商业合作伙伴开放。 34 | redirect_uri | string | **必须**,金数据应用的callback URI,当授权完成之后要转向的地址。 35 | response_type | string | **必须**,OAuth 2中必须将其指定为`code`。 36 | scope | string | 空格隔开的列表。目前支持的scope包括:`public` `profile` `forms` `read_entries` `form_setting`,默认为public。 37 | state | string | 唯一随机的的字符串,用来防止跨站攻击。 38 | 39 | ### 1.2 转向到金数据申请企业的验证 40 | 41 | GET https://account.jinshuju.com/org_oauth/authorize 42 | 43 | 参数 44 | 45 | 参数名称 | 类型 | 备注 46 | ------------- | ------------- | ----------- 47 | client_id | string | **必须**,注册的金数据应用ID,目前仅对金数据商业合作伙伴开放。 48 | redirect_uri | string | **必须**,金数据应用的callback URI,当授权完成之后要转向的地址。 49 | response_type | string | **必须**,OAuth 2中必须将其指定为`code`。 50 | scope | string | 空格隔开的列表。目前支持的scope包括:`public` `profile` `forms` `read_entries` `form_setting` `users`,默认为public。 51 | state | string | 唯一随机的的字符串,用来防止跨站攻击。 52 | 53 | ### 2. 获得访问的access token 54 | 55 | ###2.1 获取用户访问的access token 56 | 57 | 用户同意之后,金数据将会转向到你的网站,并带上`code`和之前提供的`state`参数。如果state不匹配,你可以终止这个请求。 58 | 59 | 拿到code之后,就可以交换access token: 60 | 61 | POST https://account.jinshuju.com/oauth/token 62 | 63 | 参数 64 | 65 | 参数名称 | 类型 | 备注 66 | ------------- | ------------- | ----------- 67 | client_id | string | **必须**,注册的金数据应用ID,目前仅对金数据商业合作伙伴开放。 68 | client_secret | string | **必须**,金数据应用的secret。 69 | code | string | **必须**,在1.1中获得的用户code。 70 | redirect_uri | string | **必须**,金数据应用的callback URI,当授权完成之后要转向的地址。 71 | grant_type | string | **必须**,指定为 `authorization_code`。 72 | state | string | 在第一步使用的唯一随机的的字符串。 73 | 74 | 默认情况下,返回的response的形式如下: 75 | 76 | ````json 77 | { 78 | "access_token": "2994eec8c8b19c2a2103ae2a335dc781220bb701d4c2c7d1b4cc7c629353f8a4", 79 | "token_type": "bearer", 80 | "expires_in": 7200, 81 | "refresh_token": "a563ed398b919388bc2e87b29f8d3b6e42a1195cdc1d9e36c6e9bcaa153bc6d3", 82 | "scope": "public forms read_entries", 83 | "created_at": 1455680792 84 | } 85 | ```` 86 | 87 | 88 | ###2.2 获取企业访问的access token 89 | 90 | 企业同意之后,金数据将会转向到你的网站,并带上`code`和之前提供的`state`参数。如果state不匹配,你可以终止这个请求。 91 | 92 | 拿到code之后,就可以交换access token: 93 | 94 | POST https://account.jinshuju.com/org_oauth/token 95 | 96 | 参数 97 | 98 | 参数名称 | 类型 | 备注 99 | ------------- | ------------- | ----------- 100 | client_id | string | **必须**,注册的金数据应用ID,目前仅对金数据商业合作伙伴开放。 101 | client_secret | string | **必须**,金数据应用的secret。 102 | code | string | **必须**,在1.2中获得的企业code。 103 | redirect_uri | string | **必须**,金数据应用的callback URI,当授权完成之后要转向的地址。 104 | grant_type | string | **必须**,指定为 `authorization_code`。 105 | state | string | 在第一步使用的唯一随机的的字符串。 106 | 107 | 默认情况下,返回的response的形式如下: 108 | 109 | ````json 110 | { 111 | "access_token": "2994eec8c8b19c2a2103ae2a335dc781220bb701d4c2c7d1b4cc7c629353f8a4", 112 | "token_type": "bearer", 113 | "expires_in": 7200, 114 | "refresh_token": "a563ed398b919388bc2e87b29f8d3b6e42a1195cdc1d9e36c6e9bcaa153bc6d3", 115 | "scope": "public forms read_entries", 116 | "created_at": 1455680792 117 | } 118 | ```` 119 | 120 | 121 | ### 2.3 使用refresh token获得新的access_token 122 | 123 | 目前access_token有效期为7200秒,当access_token过期时,可以使用refresh_token来获得新的access_token。 124 | 125 | #### 刷新用户的access_token: 126 | 127 | POST https://account.jinshuju.com/oauth/token 128 | 129 | 参数 130 | 131 | 参数名称 | 类型 | 备注 132 | ------------- | ------------- | ----------- 133 | client_id | string | **必须**,注册的金数据应用ID,目前仅对金数据商业合作伙伴开放 134 | client_secret | string | **必须**,金数据应用的secret 135 | refresh_token | string | **必须**,在2.1中获取access_token时得到的refresh_token。 136 | grant_type | string | **必须**,指定为 `refresh_token`。 137 | 138 | 返回的response的形式如下,得到新的access_token 和refresh_token: 139 | ````json 140 | { 141 | "access_token": "0909a26c330883cf2cd44f8926c663ac1d639ed2940d879fb2bf4a62e06ff4a8", 142 | "token_type": "bearer", 143 | "expires_in": 7200, 144 | "refresh_token": "648478764ff94d09d62f78c8fad8c2b7886ee93c59090ececacd6dfe1b648949", 145 | "scope": "public forms read_entries", 146 | "created_at": 1455710364 147 | } 148 | ```` 149 | 150 | #### 刷新企业的access_token: 151 | 152 | POST https://account.jinshuju.com/org_oauth/token 153 | 154 | 参数 155 | 156 | 参数名称 | 类型 | 备注 157 | ------------- | ------------- | ----------- 158 | client_id | string | **必须**,注册的金数据应用ID,目前仅对金数据商业合作伙伴开放 159 | client_secret | string | **必须**,金数据应用的secret 160 | refresh_token | string | **必须**,在2.2中获取access_token时得到的refresh_token。 161 | grant_type | string | **必须**,指定为 `refresh_token`。 162 | 163 | 返回的response的形式如下,得到新的access_token 和refresh_token: 164 | ````json 165 | { 166 | "access_token": "0909a26c330883cf2cd44f8926c663ac1d639ed2940d879fb2bf4a62e06ff4a8", 167 | "token_type": "bearer", 168 | "expires_in": 7200, 169 | "refresh_token": "648478764ff94d09d62f78c8fad8c2b7886ee93c59090ececacd6dfe1b648949", 170 | "scope": "public forms read_entries", 171 | "created_at": 1455710364 172 | } 173 | ```` 174 | 175 | 176 | ### 3. 使用access token访问API 177 | 178 | GET https://api.jinshuju.com/v4/forms?access_token=... 179 | 180 | 你可以把token放在URL中。也可以使用Authorization header如下: 181 | 182 | Authorization: bearer OAUTH-TOKEN 183 | 184 | 例如使用curl 185 | 186 | curl -H "Authorization: bearer OAUTH-TOKEN" https://api.jinshuju.com/v4/forms 187 | 188 | 189 | ## Redirect URL 190 | 191 | `redirect_uri`是必须的。如果你使用[omniauth-jinshuju](https://github.com/jinshuju/omniauth-jinshuju),就可以使用类似于`https://domain.com/auth/jinshuju/callback`的地址。 192 | 193 | ## Scopes 194 | 195 | Scope定义了资源范围。目前支持六个:`public`、`profile`、`forms`、`read_entries`、`form_setting`、`users` 196 | * public, 获取用户的头像、昵称、邮箱、是否为付费用户等信息(**邮箱、是否付费将会在后面的版本中移除,如需要,请使用profile scope**) 197 | * profile, 获取用户的账户信息,邮箱、是否为付费用户(只读)、自定义域名(只读) 198 | * forms, 获取用户所有表单信息、单个表单详情、表单当前状态(是否开启,填写权限,已收集数据量) 199 | * read_entries, 获取某表单下的数据信息,批量获取或单条获取,并且可基于查询条件获取想要的数据 200 | * form_setting, 获取、更新表单的设置 201 | * users, 获取企业中的用户列表 202 | 203 | 204 | ## 访问限制 205 | 访问API是基于金数据授权的用户来做频率限制的,目前企业基础版每个企业20,000次/小时,协作版每个企业30,000次/小时,高级版每个企业50,000次/小时,商业合作版每个企业50,000次/小时,如需更多可联系金数据扩充。 206 | 207 | HTTP Header中会留下相应的信息。 208 | 209 | X-RateLimit-Limit:120 210 | X-RateLimit-Remaining:119 211 | 212 | 213 | ## 分页 214 | 215 | 当请求返回多个条目时,如表单列表、数据列表时,默认每次(per_page)返回20个条目,可以设定per_page参数来单次获得更多的数据,但目前最多支持50条。 216 | 217 | 例如: 218 | 219 | GET https://api.jinshuju.com/v4/forms?access_token=...&per_page=50 220 | 221 | 在每一次请求返回的header里会包含分页信息,如下表所示: 222 | 223 | Header Name | Description 224 | ------------- | ----------- 225 | X-Total | 符合条件的总数,例如X-Total:50 226 | X-Count | 当前请求返回的数量,例如X-Count:20 227 | Link | 包含上一页(prev)或下一页(next)的访问地址,rel目前仅支持next和prev。 228 | 229 | 例如获取表单列表时,request header里会返回如下: 230 | ```html 231 | Link:; rel="prev", 232 | ; rel="next" 233 | ``` 234 | 235 | 在发出第一次查询请求后,不断的检查返回的Link Header里的next列表,如果存在则直接使用链接去获取,不存在则代表批量获取完成。 236 | 237 | 链接中的cursor是查询的游标,在访问不同的api时,含义不同。查询表单列表时,代表下一次要取的表单的id;查询数据列表时,代表下一次要取的数据的序号,数据序号是一个递增的整数,由于存在数据删除的情况,所以可能是不连贯的,不建议采用分页数值和序号来拼cursor值。 238 | 239 | 240 | ### 获取企业中用户列表 241 | 242 | 需要Scope: `users` 243 | 244 | get https://api.jinshuju.com/v4/users 245 | 246 | 参数 247 | 248 | 参数名称 | 类型 | 备注 249 | ------------- | ------------- | ----------- 250 | access_token | string | **必须**,必须使用2.2中的企业access token。 251 | provider | string | **可选**,企业的subdomain。 252 | uid | string | **可选**,使用SDK静默注册的用户在用户的profile中记录的uid。 253 | 254 | Json Load: 255 | ```json 256 | { 257 | "openid": "033ae0b9-ed61-5587-900a-5c95961914ee", 258 | "name": "User_liudalu0002", 259 | "email": "liudalu0002@fake.xitian.com", 260 | "mobile": null, 261 | "role": "teamworker", 262 | "status": "active", 263 | "avatar": null, 264 | "forms_count": 2, 265 | "entries_count": 0, 266 | "authentications": [ 267 | { 268 | "provider": "xitian", 269 | "uid": "liudalu0002" 270 | }, 271 | ``` 272 | 273 | ### 获取当前用户信息 274 | 275 | 需要Scope: `public` 276 | 277 |    get https://api.jinshuju.com/v4/me 278 |     279 | 参数 280 | 281 | 参数名称 | 类型 | 备注 282 | ------------- | ------------- | ----------- 283 | access_token | string | **必须**,可使用2.1中的个人access token;或2.2中的企业access token。 284 | openid | string | **可选**,金数据中用户的唯一标识。如使用2.1中的个人access token,无需携带;如使用2.2中的企业access token,必须携带。 285 | 286 | Json Load: 287 | ```json 288 | { 289 | "openid": "5af4563b-4146-58a9-a2c0-9c41c488333b", 290 |    "name": "张三", 291 |    "email": "zhangsan@jinshuju.com", 292 | "mobile": "18000000001", 293 | "role": "admin", 294 | "status": "active", 295 | "avatar": null, 296 | "forms_count": 45, 297 | "entries_count": 21396 298 | }, 299 | ``` 300 | 301 | ### 获取当前企业信息 302 | 303 | 需要Scope: `profile` 304 | 305 |    get https://api.jinshuju.com/v4/profile 306 |     307 | 参数 308 | 309 | 参数名称 | 类型 | 备注 310 | ------------- | ------------- | ----------- 311 | access_token | string | **必须**,可使用2.1中的个人access token;或2.2中的企业access token。 312 | 313 | Json Load: 314 | ```json 315 | { 316 | "email": "creator@jinshuju.com", 317 |  "organization_name": "金数据", 318 | "organization_subdomain": "jinshuju", 319 | "paid": true, 320 | "custom_domain": "http://com-uat.tunnel.mobi" 321 | } 322 | ``` 323 | 324 | ### 注册用户 325 | 326 | 需要Scope: `users` 327 | 328 |    post https://api.jinshuju.com/v4/users 329 | 330 | 参数 331 | 332 | 参数名称 | 类型 | 备注 333 | ------------- | ------------- | ----------- 334 | access_token | string | **必须**,必须使用2.2中的企业access token。 335 | uid | string | **可选**,使用SDK静默注册的用户在用户的profile中记录的uid。 336 | 337 | Json Load: 338 | ```json 339 | { 340 | "openid": "033ae0b9-ed61-5587-900a-5c95961914ee", 341 | "name": "User_liudalu0002", 342 | "email": "liudalu0002@fake.xitian.com", 343 | "mobile": null, 344 | "role": "teamworker", 345 | "status": "active", 346 | "avatar": null, 347 | "forms_count": 2, 348 | "entries_count": 0, 349 | "authentications": [ 350 | { 351 | "provider": "xitian", 352 | "uid": "liudalu0002" 353 | }, 354 | ``` 355 | 356 | 357 | 358 | ### 获取表单列表 359 | 360 | 需要Scope: `forms` 361 | 362 | GET https://api.jinshuju.com/v4/forms 363 | 364 | 参数 365 | 366 | 参数名称 | 类型 | 备注 367 | ------------- | ------------- | ----------- 368 | access_token | string | **必须**,可使用2.1中的个人access token,可获取企业成员的的所有表单;或2.2中的企业access token,可获取企业中的所有表单。 369 | openid | string | **可选**,通过企业的access_token获取用户表单列表时必须填写,通过用户access_token获取用户列表时无需填写。 370 | source | string | **可选**,created可获取所有当前用户是表单创建者的表单列表;managed可获取所有当前用户是表单创建者和表单管理员的表单列表。 371 | 372 | ```json 373 | [ 374 | { 375 | "id": "56c28b33c02f6713aa000092", 376 | "token": "E2FBnj", 377 | "name": "市场调查表", 378 | "entries_count": 0, 379 | "shared": false, 380 | "description": "这是一个市场调查表", 381 | "created_at": "2016-02-16T02:36:35.756Z", 382 | "updated_at": "2016-02-16T02:37:35.756Z", 383 | "setting": { 384 | "icon": "fontello-paper-plane", 385 | "color": "#659199", 386 | "open_rule": "open", 387 | "permission": "public", 388 | "result_state": "closed", 389 | "result_url": null, 390 | "search_state": "closed", 391 | "search_url": null, 392 | "push_url": null 393 | } 394 | }, 395 | { 396 | "id": "56b2f86ca3f5206d76000143", 397 | "token": "TivBsE", 398 | "name": "小金俱乐部活动报名", 399 | "entries_count": 0, 400 | "shared": false, 401 | "description": "2016年小金俱乐部第一站来到了上海", 402 | "created_at": "2016-02-04T07:06:20.559Z", 403 | "created_at": "2016-02-04T07:09:20.559Z", 404 | "setting": { 405 | "icon": "fontello-pencil", 406 | "color": "#659199", 407 | "open_rule": "open", 408 | "permission": "public", 409 | "result_state": "closed", 410 | "result_url": null, 411 | "search_state": "closed", 412 | "search_url": null, 413 | "push_url": null 414 | } 415 | } 416 | ] 417 | 418 | ``` 419 | 420 | ### 获取表单详情 421 | 422 | 需要Scope: `forms` 423 | 424 | GET https://api.jinshuju.com/v4/forms/RygpW3?access_token=... 425 | 426 | ```json 427 | { 428 | "id": "58d0821a2084c548c9c76938", 429 | "token": "iIAVew", 430 | "name": "包含所有字段的表单", 431 | "entries_count": 3, 432 | "shared": false, 433 | "description": null, 434 | "creator_name": "增长天王", 435 | "creator_openid": "5af4563b-4146-58a9-a2c0-9c41c488333b", 436 | "created_at": "2017-03-21T01:30:02.618Z", 437 | "updated_at": "2017-03-22T10:22:41.050Z", 438 | "fields": [ 439 | { 440 | "type": "page_break", 441 | "label": null, 442 | "api_code": "field_1", 443 | "notes": "" 444 | }, 445 | { 446 | "type": "formula", 447 | "label": "计算字段", 448 | "api_code": "field_29", 449 | "notes": "", 450 | "validations": {}, 451 | "private": false, 452 | "formula": "field_10", 453 | "display_as_percentage": false 454 | }, 455 | { 456 | "type": "single_line_text", 457 | "label": "单行文字", 458 | "api_code": "field_2", 459 | "notes": "", 460 | "validations": {}, 461 | "predefined_value": null, 462 | "private": false 463 | }, 464 | { 465 | "type": "paragraph_text", 466 | "label": "多行文字", 467 | "api_code": "field_3", 468 | "notes": "", 469 | "validations": {}, 470 | "predefined_value": null, 471 | "private": false 472 | }, 473 | { 474 | "type": "single_choice", 475 | "label": "单项选择", 476 | "api_code": "field_4", 477 | "notes": "", 478 | "validations": {}, 479 | "private": false, 480 | "choices": [ 481 | { 482 | "name": "选项", 483 | "value": "EtdU", 484 | "hidden": false 485 | }, 486 | { 487 | "name": "选项", 488 | "value": "Z47n", 489 | "hidden": false 490 | }, 491 | { 492 | "name": "选项", 493 | "value": "eldU", 494 | "hidden": false 495 | } 496 | ], 497 | "allow_other": false 498 | }, 499 | { 500 | "type": "multiple_choice", 501 | "label": "多项选择", 502 | "api_code": "field_5", 503 | "notes": "", 504 | "validations": {}, 505 | "private": false, 506 | "choices": [ 507 | { 508 | "name": "选项", 509 | "value": "9WG4", 510 | "hidden": false 511 | }, 512 | { 513 | "name": "选项", 514 | "value": "86rJ", 515 | "hidden": false 516 | }, 517 | { 518 | "name": "选项", 519 | "value": "L4NO", 520 | "hidden": false 521 | } 522 | ], 523 | "allow_other": false 524 | }, 525 | { 526 | "type": "single_choice", 527 | "label": "图片单选", 528 | "api_code": "field_6", 529 | "notes": "", 530 | "validations": {}, 531 | "private": false, 532 | "choices": [ 533 | { 534 | "name": "1-Cfl_B1ALQS7VQGj_iSiyPA", 535 | "value": "hd0C", 536 | "hidden": false, 537 | "image_url": "https://dn-jintest.qbox.me/ic/20161026140743_599030@iclarge" 538 | }, 539 | { 540 | "name": "1-BJ1Jami58oxr5artYGaqDw", 541 | "value": "RWcw", 542 | "hidden": false, 543 | "image_url": "https://dn-jintest.qbox.me/ic/20161026140743_d3cd8d@iclarge" 544 | }, 545 | { 546 | "name": "1-CbGEoJYT-DVnXx0_w-iEeg", 547 | "value": "25gu", 548 | "hidden": false, 549 | "image_url": "https://dn-jintest.qbox.me/ic/20161026140743_9f23fe@iclarge" 550 | } 551 | ] 552 | }, 553 | { 554 | "type": "multiple_choice", 555 | "label": "图片多选", 556 | "api_code": "field_7", 557 | "notes": "", 558 | "validations": {}, 559 | "private": false, 560 | "choices": [ 561 | { 562 | "name": "1-DjFewMYwOJTfcAoDr8wgug", 563 | "value": "gb8K", 564 | "hidden": false, 565 | "image_url": "https://dn-jintest.qbox.me/ic/20161026140753_f10da1@iclarge" 566 | }, 567 | { 568 | "name": "1-EcIXQpX2CoV36BiD8fPq9w", 569 | "value": "4cF4", 570 | "hidden": false, 571 | "image_url": "https://dn-jintest.qbox.me/ic/20161026140753_38905f@iclarge" 572 | }, 573 | { 574 | "name": "1-G6gfugR9At7OlSj6YxIOKw", 575 | "value": "RP8o", 576 | "hidden": false, 577 | "image_url": "https://dn-jintest.qbox.me/ic/20161026140753_f7e716@iclarge" 578 | } 579 | ] 580 | }, 581 | { 582 | "type": "likert", 583 | "label": "矩阵单选", 584 | "api_code": "field_8", 585 | "notes": "", 586 | "validations": {}, 587 | "private": false, 588 | "choices": [ 589 | { 590 | "name": "选项", 591 | "value": "OrdJ" 592 | }, 593 | { 594 | "name": "选项", 595 | "value": "lIP4" 596 | }, 597 | { 598 | "name": "选项", 599 | "value": "MSwM" 600 | } 601 | ], 602 | "statements": [ 603 | { 604 | "name": "题目", 605 | "value": "vAfq" 606 | }, 607 | { 608 | "name": "题目", 609 | "value": "owYy" 610 | }, 611 | { 612 | "name": "题目", 613 | "value": "dl9C" 614 | } 615 | ] 616 | }, 617 | { 618 | "type": "matrix", 619 | "label": "矩阵填空", 620 | "api_code": "field_9", 621 | "notes": "", 622 | "validations": {}, 623 | "private": false, 624 | "statements": [ 625 | { 626 | "name": "题目", 627 | "value": "lNIw" 628 | }, 629 | { 630 | "name": "题目", 631 | "value": "KvbO" 632 | }, 633 | { 634 | "name": "题目", 635 | "value": "dZIP" 636 | } 637 | ], 638 | "dimensions": [ 639 | { 640 | "name": "项目", 641 | "value": "vWra" 642 | }, 643 | { 644 | "name": "项目", 645 | "value": "SKOh" 646 | }, 647 | { 648 | "name": "项目", 649 | "value": "1A1g" 650 | } 651 | ] 652 | }, 653 | { 654 | "type": "number", 655 | "label": "数字", 656 | "api_code": "field_10", 657 | "notes": "", 658 | "validations": {}, 659 | "predefined_value": null, 660 | "private": false, 661 | "display_as_percentage": false 662 | }, 663 | { 664 | "type": "time", 665 | "label": "时间", 666 | "api_code": "field_11", 667 | "notes": "", 668 | "validations": {}, 669 | "predefined_value": {}, 670 | "private": false 671 | }, 672 | { 673 | "type": "date", 674 | "label": "日期", 675 | "api_code": "field_12", 676 | "notes": "", 677 | "validations": {}, 678 | "predefined_value": null, 679 | "private": false 680 | }, 681 | { 682 | "type": "drop_down", 683 | "label": "下拉框", 684 | "api_code": "field_13", 685 | "notes": "", 686 | "validations": {}, 687 | "private": false, 688 | "choices": [ 689 | { 690 | "name": "选项", 691 | "value": "DdPZ", 692 | "hidden": false 693 | }, 694 | { 695 | "name": "选项", 696 | "value": "WHHp", 697 | "hidden": false 698 | }, 699 | { 700 | "name": "选项", 701 | "value": "nQs8", 702 | "hidden": false 703 | } 704 | ], 705 | "allow_other": false 706 | }, 707 | { 708 | "type": "section_break", 709 | "label": "描述", 710 | "api_code": "field_14", 711 | "notes": "请在右侧面板添加段落说明信息" 712 | }, 713 | { 714 | "type": "page_break", 715 | "label": null, 716 | "api_code": "field_15", 717 | "notes": "" 718 | }, 719 | { 720 | "type": "link", 721 | "label": "网址", 722 | "api_code": "field_16", 723 | "notes": "填写示例:http://jinshuju.com 或 https://jinshuju.com", 724 | "validations": {}, 725 | "predefined_value": null, 726 | "private": false 727 | }, 728 | { 729 | "type": "rating", 730 | "label": "评分", 731 | "api_code": "field_17", 732 | "notes": "", 733 | "validations": {}, 734 | "private": false, 735 | "rating_type": "star", 736 | "rating_max": 3 737 | }, 738 | { 739 | "type": "cascade_drop_down", 740 | "label": "二级下拉框", 741 | "api_code": "field_18", 742 | "notes": "", 743 | "validations": {}, 744 | "private": false, 745 | "choices": [ 746 | { 747 | "name": "选项1", 748 | "value": "0TX9", 749 | "sub_choices": [ 750 | { 751 | "name": "二级选项1", 752 | "value": "ecv0" 753 | }, 754 | { 755 | "name": "二级选项2", 756 | "value": "SUKk" 757 | } 758 | ] 759 | }, 760 | { 761 | "name": "选项2", 762 | "value": "dwpt", 763 | "sub_choices": [ 764 | { 765 | "name": "二级选项1", 766 | "value": "R15F" 767 | }, 768 | { 769 | "name": "二级选项2", 770 | "value": "k346" 771 | } 772 | ] 773 | } 774 | ] 775 | }, 776 | { 777 | "type": "attachment", 778 | "label": "附件", 779 | "api_code": "field_19", 780 | "notes": "", 781 | "validations": {}, 782 | "private": false, 783 | "max_file_quantity": 1, 784 | "media_type": { 785 | "type": "unlimited", 786 | "value": null 787 | } 788 | }, 789 | { 790 | "type": "form_association", 791 | "label": "表单关联", 792 | "api_code": "field_20", 793 | "notes": "", 794 | "validations": {}, 795 | "private": false, 796 | "associated_form_token": "ntZv4v", 797 | "associated_field_api_code": "serial_number" 798 | }, 799 | { 800 | "type": "single_line_text", 801 | "label": "姓名", 802 | "api_code": "field_21", 803 | "notes": "", 804 | "validations": {}, 805 | "predefined_value": null, 806 | "private": false 807 | }, 808 | { 809 | "type": "mobile", 810 | "label": "手机", 811 | "api_code": "field_22", 812 | "notes": "", 813 | "validations": {}, 814 | "predefined_value": null, 815 | "private": false 816 | }, 817 | { 818 | "type": "email", 819 | "label": "邮箱", 820 | "api_code": "field_23", 821 | "notes": "", 822 | "validations": {}, 823 | "private": false 824 | }, 825 | { 826 | "type": "address", 827 | "label": "地址", 828 | "api_code": "field_24", 829 | "notes": "", 830 | "validations": {}, 831 | "predefined_value": {}, 832 | "private": false 833 | }, 834 | { 835 | "type": "geo", 836 | "label": "地理位置", 837 | "api_code": "field_25", 838 | "notes": "", 839 | "validations": {}, 840 | "private": false 841 | }, 842 | { 843 | "type": "phone", 844 | "label": "电话", 845 | "api_code": "field_26", 846 | "notes": "", 847 | "validations": {}, 848 | "predefined_value": null, 849 | "private": false 850 | }, 851 | { 852 | "type": "goods", 853 | "label": "配图商品", 854 | "api_code": "field_27", 855 | "notes": "", 856 | "validations": {}, 857 | "private": false, 858 | "with_image": true, 859 | "goods_items": [ 860 | { 861 | "name": "1-EcIXQpX2CoV36BiD8fPq9w", 862 | "price": 0, 863 | "description": "", 864 | "api_code": "k6Bw", 865 | "inventory": null, 866 | "hidden": false, 867 | "predefined_value": { 868 | "number": null 869 | } 870 | }, 871 | { 872 | "name": "1-G6gfugR9At7OlSj6YxIOKw", 873 | "price": 0, 874 | "description": "", 875 | "api_code": "mfXz", 876 | "inventory": null, 877 | "hidden": false, 878 | "predefined_value": { 879 | "number": null 880 | } 881 | }, 882 | { 883 | "name": "1-DjFewMYwOJTfcAoDr8wgug", 884 | "price": 0, 885 | "description": "", 886 | "api_code": "7QWj", 887 | "inventory": null, 888 | "hidden": false, 889 | "predefined_value": { 890 | "number": null 891 | } 892 | } 893 | ] 894 | }, 895 | { 896 | "type": "goods", 897 | "label": "无图商品", 898 | "api_code": "field_28", 899 | "notes": "", 900 | "validations": {}, 901 | "private": false, 902 | "with_image": false, 903 | "goods_items": [ 904 | { 905 | "name": "商品一", 906 | "price": 0, 907 | "description": "", 908 | "api_code": "jQaM", 909 | "inventory": null, 910 | "hidden": false, 911 | "predefined_value": { 912 | "number": null 913 | } 914 | }, 915 | { 916 | "name": "商品二", 917 | "price": 0, 918 | "description": "", 919 | "api_code": "Ba3h", 920 | "inventory": null, 921 | "hidden": false, 922 | "predefined_value": { 923 | "number": null 924 | } 925 | }, 926 | { 927 | "name": "商品三", 928 | "price": 0, 929 | "description": "", 930 | "api_code": "cpLm", 931 | "inventory": null, 932 | "hidden": false, 933 | "predefined_value": { 934 | "number": null 935 | } 936 | } 937 | ] 938 | } 939 | ], 940 | "setting": { 941 | "icon": "form-icon-photo", 942 | "color": "#46B372", 943 | "open_rule": "open", 944 | "permission": "public", 945 | "gen_code_enabled": false, 946 | "result_state": "closed", 947 | "result_url": null, 948 | "search_state": "closed", 949 | "search_url": null, 950 | "push_url": null, 951 | "success_redirect_url": "https://www.XXX.com", 952 | "success_redirect_fields": [ 953 | "serial_number" 954 | ] 955 | } 956 | } 957 | ``` 958 | 959 | ### 复制表单 960 | 961 | 注意:示例中的<2d4iH0>为被复制的表单token 962 | 963 |    POST https://api.jinshuju.com/v4/forms/2d4iH0/copy 964 | ### 复制表单 965 | 966 | 参数 967 | 968 | 参数名称 | 类型 | 备注 969 | ------------- | ------------- | ----------- 970 | access_token | string | **必须**,可使用2.1中的个人access token,或2.2中的企业access token。 971 | openid | string | **可选**,获取的用户列表中的openid。使用个人的acces token无需填写;使用企业的access token必须填写。 972 | name | string | **可选**,复制出来的表单命名。如果不提供或者为空字符串,将使用“[新]”+原表单名作为复制后的表单的名字。 973 | 974 | 默认情况下,返回的response的形式如下: 975 | 976 | ````json 977 | { 978 | "id": "58512d8159601539b83e75fa", 979 | "token": "AyEpBI", 980 | "name": "[新]学习小组第一期话题投票", 981 | "entries_count": 0, 982 | "shared": false, 983 | "description": "这是一个大家都可以加入或旁听的学习小组,", 984 | "created_at": "2016-12-14T11:31:14.255Z", 985 | "updated_at": "2016-12-14T11:31:15.325Z", 986 | "fields": [ 987 | { 988 | "type": "single_line_text", 989 | "label": "你的大名", 990 | "api_code": "field_1", 991 | "notes": "", 992 | "validations": {}, 993 | "predefined_value": null, 994 | "private": false 995 | }, 996 | { 997 | "type": "multiple_choice", 998 | "label": "请选择你喜欢的话题", 999 | "api_code": "field_2", 1000 | "notes": "", 1001 | "validations": {}, 1002 | "private": false, 1003 | "choices": [ 1004 | { 1005 | "name": "如何理解产品经理这个角色", 1006 | "value": "gRpI", 1007 | "hidden": false 1008 | }, 1009 | { 1010 | "name": "如何提高碎片化阅读的效率", 1011 | "value": "gmIV", 1012 | "hidden": false 1013 | }, 1014 | { 1015 | "name": "利用Excel进行数据分析的技巧", 1016 | "value": "qTXj", 1017 | "hidden": false 1018 | }, 1019 | { 1020 | "name": "如何快速阅读一本书", 1021 | "value": "OASQ", 1022 | "hidden": false 1023 | }, 1024 | { 1025 | "name": "QA进阶。相信我,你们都不需要入门", 1026 | "value": "H2YM", 1027 | "hidden": false 1028 | }, 1029 | { 1030 | "name": "《无价》读书心得分享", 1031 | "value": "Ud2N", 1032 | "hidden": false 1033 | }, 1034 | { 1035 | "name": "设计中关于字体的二三事", 1036 | "value": "V2nl", 1037 | "hidden": false 1038 | }, 1039 | { 1040 | "name": "金数据产品运行的基本原理。", 1041 | "value": "BxvN", 1042 | "hidden": false 1043 | }, 1044 | { 1045 | "name": "金数据设计的基本原则和思考", 1046 | "value": "rQAm", 1047 | "hidden": false 1048 | } 1049 | ], 1050 | "allow_other": false 1051 | } 1052 | ], 1053 | "setting": { 1054 | "icon": "form-icon-chart", 1055 | "color": "#BB87AF", 1056 | "open_rule": "open", 1057 | "permission": "public", 1058 | "result_state": "closed", 1059 | "result_url": null, 1060 | "search_state": "closed", 1061 | "search_url": null, 1062 | "push_url": null, 1063 | "success_redirect_url": null, 1064 | "success_redirect_fields": [] 1065 | } 1066 | } 1067 | ```` 1068 | 1069 | ### 获取表单当前状态 1070 | 1071 | 需要Scope: `forms` 1072 | 1073 | GET https://api.jinshuju.com/v4/forms/RygpW3/status?access_token=... 1074 | 1075 | ```json 1076 | { 1077 | "is_open": true, 1078 | "permission": "public", 1079 | "entries_count": 60 1080 | } 1081 | ``` 1082 | 1083 | ### 获取多条数据 1084 | 1085 | 需要Scope: `read_entries` 1086 | 1087 | GET https://api.jinshuju.com/v4/forms/RygpW3/entries?access_token=... 1088 | 1089 | ```json 1090 | [ 1091 | { 1092 | "serial_number": 1, 1093 | "field_1": "小金", 1094 | "field_16": "金数据", 1095 | "field_2": "2jYk", 1096 | "field_4": { 1097 | "value": "18629058968", 1098 | "verified": true 1099 | }, 1100 | "field_3": [ 1101 | "zI63", 1102 | "uN9L" 1103 | ], 1104 | "field_17": "roody@jinshuju.com", 1105 | "field_5": [ 1106 | "7oLf", 1107 | "vQki" 1108 | ], 1109 | "field_10": "1lq3", 1110 | "field_11": "小金的应用场景", 1111 | "field_12": "金数据在各行各业的用法", 1112 | "field_6": "金数据有没有一些更加高级的技巧呢?", 1113 | "field_7": "", 1114 | "field_8": "1. 能否参加\n2. 哪个公司?\n3. 金数据的使用情况", 1115 | "field_15": "", 1116 | "field_18": "", 1117 | "creator_name": "o王琰o", 1118 | "updater_name": "", 1119 | "created_at": "2016-02-17T11:40:31.524Z", 1120 | "updated_at": "2016-02-17T11:40:31.524Z", 1121 | "info_remote_ip": "123.139.21.4", 1122 | "info_platform": "Macintosh", 1123 | "info_os": "OS X 10.11.3", 1124 | "info_browser": "Chrome 48.0.2564.109" 1125 | } 1126 | ] 1127 | ``` 1128 | 1129 | ### 数据查询 1130 | 1131 | 查询数据,支持与现有数据列表查询类似的接口 1132 | 1133 | * 文本、单选、多选、下拉框、评分、商品、序号(serial_number)、扩展属性(x_field_1) 1134 | `http://api.jinshuju.com/v4/forms/aJSON8/entries?access_token=&field_1=xxx` 1135 | *注:获取表单结构中暂无商品字段的item信息* 1136 | *注:全匹配查询,不支持模糊查询* 1137 | 1138 | * 同一字段的多个条件取并集查询 1139 | `http://api.jinshuju.com/v4/forms/aJSON8/entries?access_token=&field_1[]=xxx&field_1[]=yyy` 1140 | 1141 | * 多个字段取交集查询 1142 | `http://api.jinshuju.com/v4/forms/aJSON8/entries?access_token=&field_1=xxx&field_2=yyy` 1143 | 1144 | * 矩阵单选查询 1145 | `http://api.jinshuju.com/v4/forms/aJSON8/entries?access_token=&field_1[<题目code>][]=<选项code>` 1146 | 1147 | * 二级下拉框查询 1148 | `http://api.jinshuju.com/v4/forms/aJSON8/entries?access_token=&field_1[<一级选项code>]=<二级选项code>` 1149 | 1150 | * 微信省市查询 1151 | `http://api.jinshuju.com/v4/forms/aJSON8/entries?access_token=&x_field_weixin_province_city[陕西]=西安` 1152 | 1153 | * 数据提交时间查询 1154 | 指定日期:`http://api.jinshuju.com/v4/forms/aJSON8/entries?access_token=&created_at=2016-1-22` 1155 | 某一日期之后:`http://api.jinshuju.com/v4/forms/aJSON8/entries?access_token=&created_at[start]=2016-1-22` 1156 | 某一日期之前:`http://api.jinshuju.com/v4/forms/aJSON8/entries?access_token=&created_at[end]=2016-1-22` 1157 | 某个日期区间:`http://api.jinshuju.com/v4/forms/aJSON8/entries?access_token=&created_at[start]=2015-12-15&created_at[end]=2016-1-22` 1158 | 1159 | ### 获取单条数据 1160 | 1161 | 需要Scope: `read_entries` 1162 | 1163 | GET https://api.jinshuju.com/v4/forms/RygpW3/entries/<序列号>?access_token=... 1164 | 1165 | JSON Load: 1166 | 1167 | ```json 1168 | { 1169 | "serial_number": 1, 1170 | "field_1": "小金", 1171 | "field_16": "金数据", 1172 | "field_2": "2jYk", 1173 | "field_4": { 1174 | "value": "18629058968", 1175 | "verified": true 1176 | }, 1177 | "field_3": [ 1178 | "zI63", 1179 | "uN9L" 1180 | ], 1181 | "field_17": "roody@jinshuju.com", 1182 | "field_5": [ 1183 | "7oLf", 1184 | "vQki" 1185 | ], 1186 | "field_10": "1lq3", 1187 | "field_11": "小金的应用场景", 1188 | "field_12": "金数据在各行各业的用法", 1189 | "field_6": "金数据有没有一些更加高级的技巧呢?", 1190 | "field_7": "", 1191 | "field_8": "1. 能否参加\n2. 哪个公司?\n3. 金数据的使用情况", 1192 | "field_15": "", 1193 | "field_18": "", 1194 | "creator_name": "o王琰o", 1195 | "updater_name": "", 1196 | "created_at": "2016-02-17T11:40:31.524Z", 1197 | "updated_at": "2016-02-17T11:40:31.524Z", 1198 | "info_remote_ip": "123.139.21.4", 1199 | "info_platform": "Macintosh", 1200 | "info_os": "OS X 10.11.3", 1201 | "info_browser": "Chrome 48.0.2564.109" 1202 | } 1203 | ``` 1204 | ### 获取、更新表单设置 1205 | 1206 | 需要Scope: `form_setting` 1207 | 1208 | #### 获取表单设置 1209 | 1210 | get https://api.jinshuju.com/v4/forms/RygpW3/setting?access_token=... 1211 | 1212 | Json Load: 1213 | ```json 1214 | { 1215 | "icon": "fontello-sound", 1216 | "color": "#afa373", 1217 | "open_rule": "open", 1218 | "permission": "public", 1219 | "result_state": "closed", 1220 | "result_url": null, 1221 | "search_state": "closed", 1222 | "search_url": null, 1223 | "push_url": null, 1224 | "success_redirect_url": "https://baidu.com", 1225 | "success_redirect_fields": [ 1226 | "field_2", 1227 | "field_1" 1228 | ] 1229 | } 1230 | ``` 1231 | 1232 | 1233 | #### 更新表单设置 1234 | 1235 | put https://api.jinshuju.com/v4/forms/RygpW3/setting 1236 | 1237 | 参数名称 | 类型 | 备注 1238 | ------------- | ------------- | ----------- 1239 | access_token | string | **必须**,可使用2.1中的个人access token,或2.2中的企业access token。 1240 | success_redirect_url | string | 提交成功后的跳转网址 1241 | success_redirect_fields | string | 提交成功后的跳转网址附加字段参数,以及提交给该字段的信息,最多三个参数,多个参数以空格分隔,如"serial_number x_field_1",超过三个参数会回应报错信息。参数必须为表单里字段,会自动过滤非表单字段,目前支持:序号、单/多行文本、单选、多选、数字、邮箱、电话、日期以及网址等字段。如果表单中包含商品字段,则还可以附带序号和总价。可参考 https://help.jinshuju.net/articles/redirect-with-params.html 1242 | push_url | string | 数据以JSON格式推送的网址,使用请参考https://help.jinshuju.net/articles/http-push 1243 | 1244 | 1245 | 1246 | 1247 | #### 为表单添加协作成员 1248 |     1249 | 需要Scope: `forms` 1250 | 1251 | POST https://api.jinshuju.com/v4/forms/RygpW3/cooperators?access_token=... 1252 | 1253 | 参数名称 | 类型 | 备注 1254 | ------------- | ------------- | ----------- 1255 | access_token | string | **必须**,可使用2.1中的个人access token,或2.2中的企业access token。 1256 | openid | string | **必须**,获取的用户列表中的openid。这里需填写加为协作成员的用户openid。 1257 | role | string | **必须**,指定的角色,仅支持 manager, data_maintainer, data_viewer。 1258 | 1259 | 1260 | 1261 | 1262 | #### 为表单变更协作成员角色 1263 |     1264 | 需要Scope: `forms` 1265 | 1266 | PUT https://api.jinshuju.com/v4/forms/RygpW3/cooperators/?access_token=... 1267 | 1268 | 参数名称 | 类型 | 备注 1269 | ------------- | ------------- | ----------- 1270 | access_token | string | **必须**,可使用2.1中的个人access token,或2.2中的企业access token。 1271 | role | string | **必须**,指定的角色,仅支持 manager, data_maintainer, data_viewer。 1272 | 1273 | 1274 | 1275 | 1276 | 1277 | 1278 | #### 为表单移除协作成员 1279 |     1280 | 需要Scope: `forms` 1281 | 1282 | DELETE https://api.jinshuju.com/v4/forms/RygpW3/cooperators/?access_token=... 1283 | 1284 | 参数名称 | 类型 | 备注 1285 | ------------- | ------------- | ----------- 1286 | access_token | string | **必须**,可使用2.1中的个人access token,或2.2中的企业access token。 1287 | 1288 | 1289 | 1290 | 1291 | 1292 | 1293 | #### 删除表单 1294 |     1295 | 需要Scope: `forms` 1296 | 1297 | DELETE https://api.uat.jinshuju.com/v4/forms/YYtYiX?access_token=... 1298 | 1299 | 参数名称 | 类型 | 备注 1300 | ------------- | ------------- | ----------- 1301 | access_token   | string | **必须**,可使用2.1中的个人access token,或2.2中的企业access token。 1302 | 1303 | 1304 | 1305 | 1306 | -------------------------------------------------------------------------------- /enterprise-sdk.md: -------------------------------------------------------------------------------- 1 | # 金数据SDK文档(jinshuju.com) 2 | 3 | **本文档适用于您的金数据账号位于 jinshuju.com,如有疑问请联系客服或者销售** 4 | 5 | 金数据提供SDK可对表单进行创建和编辑操作。 6 | 7 | ## SDK应用场景列举 8 | 9 | ### 1 将金数据创建和编辑表单功能无缝接入企业当前系统 10 | 如果企业已有Web站点,可将金数据SDK嵌入到企业页面中。 通过在你的企业系统中点击按钮等事件触发新建表单或编辑已在金数据中已存在的表单。SDK提供的新建和编辑表单页面中不会显示金数据的账号信息和退出金数据登录按钮,并且新建的表单以及表单产生的数据依然存储在金数据中,你可以随时使用。 11 | 12 | 13 | ### 2 静默登录和注册金数据系统 14 | 如果企业中已拥有用户体系,金数据可以根据SDK请求中携带的企业用户ID自动登陆系统,静默登陆后可直接进行创建和编辑表单的操作。如果企业用户ID并未在金数据中注册,系统会静默注册金数据账号,然后直接创建和编辑表单。 15 | 16 | 17 | ### 3 灵活控制SDK可使用的字段范围 18 | 企业中也可以灵活控制SDK中创建和编辑表单可使用的字段范围。金数据企业版提供了28个表单字段。当企业调用SDK时,可定义SDK中不可使用的字段,让不同的企业用户可以有不同的字段权限。 19 | 20 | 21 | 22 | ## SDK使用指南 23 | 24 | ### 1. 向金数据申请初始化SDK 25 | 26 | 初始化脚本示例如下: 27 | 28 | ```` 29 |