Form & Data APIs
Introduction
Form & data APIs include form API and data API.
Type | Help Docs | Description |
Call the field list or field information of a specified form. | ||
Call the record in a form based on a specified data ID. | ||
The returned records are always sorted in ascending order based on the data ID. | ||
Call records in a form based on a specified data ID. | ||
A maximum of 100 records can be created. | ||
Update record in a form based on a specified data ID. | ||
A maximum of 100 records can be updated. | ||
Delete record in a form based on a specified data ID. |
Before programming, read Developer's Guide carefully.
Field Name
Once a form field is added, it will be represented by a fixed field ID with the prefix widget. The field ID will remain the same no matter how you modify the field.
Each field corresponds to a field alias. Users can set field aliases by themselves. If you set field aliases, the aliases will the set as the actual field names for the corresponding field names in all subsequent APIs. If no alias is set, the field IDs will be set as the actual field names.
You can go to Extension > Webhook > Set Field Alias to set the field alias.
Reference Table for Field & Data Type
Form Fields
Field Name | Field Type | Data Type | Data Sample | Notes |
Single Line | text | String | "Martin" | / |
Multi Line | textarea | String | "I love Jodoo" | / |
Serial No. | sn | String | “00001” | / |
Number | number | number | 10 | / |
Date&Time | datetime | String | "2018-01-01T10:10:10.000Z" | The time string in the format of UTC |
{ “field”:“CreateTime”, "method":"range", "value":["2022-01-01",null] } | Used to refer to a value greater than "2022-01-01". | |||
Radio | radiogroup | String | ”First grade" | / |
Checkbox | checkboxgroup | Array | ["Option 1", "Option 2"] | / |
Single Select | combo | String | "Female" | / |
Multi Select | combocheck | Array | ["Option 1", "Option 2"] | / |
Image | image | Array | [ { "name": "image1.png", "size": 262144, "mime": "image/png", "url": "https://files.jodoo.com/cqbrmcwhxm" }, { "name": "image2.png", "size": 262100, "mime": "image/png", "url": "https://files.jodoo.com/cqbrywmwh" } ] | The url included in the data is an image link, which is valid within 15 days. |
Attachment | upload | Array | [ { "name": "Product documentation.pdf", "size": 524288, "mime": "application/pdf", "url": "https://files.jodoo.com/ojiwvfeyt" }, [ { "name": "Development architecture document.pdf", "size": 524288, "mime": "application/pdf", "url": "https://files.jodoo.com/mst" } ] | The url included in the data is an attachment link, which is valid within 15 days. |
Subform | subform | Array | [ { "_id":"5b237548b22ab14884086cc0", "_widget_1529400746031":...... }, { "_id":"5b237548b22ab14884086cc1", "_widget_1529400746031":...... } ] | _id is the sub-form data ID, which is generated by the server. |
Select Data | linkdata | JSON | { "id": "5b237548b22ab14884086cc0", "key": "Jodoo" } | id represents the ID of the associated data; key represents the value of the primary key field. |
Signature | signature | JSON | { "name": "signature_1238921857.png", "size": 1024, "mime": "image/png", "url": "https://files.jodoo.com/ojiwsdf" } | The url included in the data is a signature link, which is valid within 15 days. |
Member | user | JSON | { name: "Peach" username: "Martin", "status": 1, "type": 0, "departments": [1, 3], "integrate_id": "Martin" } | The username in the member information represents the unique member ID within the company's contacts. The logic corresponding to status -1 Inactive 0 Not joined 1 Joined |
Members | usergroup | Array | [ { name: "Peach" username: "Martin", "status": 1, "type": 0, "departments": [1, 3], "integrate_id": "Martin" } ] | The logic corresponding to status -1 Inactive 0 Not joined 1 Joined |
Department | dept | JSON | { "name": "Finance department", "dept_no": 1, "type": 0, "parent_no": 2, "status": 1, "integrate_id": 1 } | The 'dept_no' in the department information represents the unique department ID within the company's contacts. |
Departments | deptgroup | Array | [ { "name": "Finance department", "dept_no": 1, "type": 0, "parent_no": 2, "status": 1, "integrate_id": 1 } ] | / |
System Fields
Among the retrieved data, besides form fields, there are also some system fields.
System Field | Field name | Data Type | Data Sample | Notes |
App ID | appId | String | “5b237267b22ab14884086c49” | Global unique ID |
Form ID | entryId | String | “5b237267b22ab14884086cc9” | The combination of appId and entryId ensures the uniqueness of the form ID. |
Data ID | _id | String | “5b237267b22ab14884086c50” | Global unique ID for the data |
URL Parameter | ext | String | "Japan" | / |
Created Time | createTime | String | "2018-01-01T10:10:10.000Z" | / |
Created User | creator | JSON | { name: "Peach" username: "Martin", "status": 1, "type": 0, "departments": [1, 3], "integrate_id": "Martin" } | The logic corresponding to status -1 Inactive 0 Not joined 1 Joined |
Updated Time | updateTime | String | "2018-01-01T10:10:10.000Z" | / |
Updated User | updateTime | JSON | { name: "Peach" username: "Martin", "status": 1, "type": 0, "departments": [1, 3], "integrate_id": "Martin" } | The logic corresponding to status -1 Inactive 0 Not joined 1 Joined |
Deleted User | deleter | JSON | { name: "Peach" username: "Martin", "status": 1, "type": 0, "departments": [1, 3], "integrate_id": "Martin" } | The logic corresponding to status -1 Inactive 0 Not joined 1 Joined |
Workflow Status Workflow form only | flowState | 0 | This field is only supported in workflow forms. 2 indicates manual termination of the workflow; 1 indicates completion of the workflow; 0 indicates the workflow is in progress. | / |
Time Format Restriction
The following date formats are supported when you input data through the API:
Supported Format | Example | Note |
ISO Date Format |
| If you have a timestamp in the format '2018-11-09T10:00:00Z', it indicates that the time is based on the UTC time zone. When querying this timestamp using local time for comparison, you will observe an eight-hour difference due to the offset between your local time zone and UTC. |
Milliseconds Timestamp |
o 1639106951 o 0 | / |
rfc 3339 yyyy–MM–dd HH:mm:ss yyyy–MM–dd |
|
Note:
Disallowed inputs will be passed as null values.
The following date formats are not supported:
null,// No input. The date is empty.
undefined,
'',
'Thu, 04 Jun 2020 13:54:52 +0800',// IETF date format: not supported
'2021/10/10 10:10:10',// not supported
["2021-03-19 23:10:00"],// not supported
'Mar 31 10:10:43 UTC+0800 2012',// not supported
'2020-06-04T14:41:54,767135400+08:00',//not supported
'~',' ',// not supported
API Operation Association Relationship
Function | create | update | delete | batch_create | batch_update |
Delayed computation in data factory | Triggered | Triggered | Triggered | Triggered | Triggered |
Data message push | Triggered | Triggered | Not triggered | Triggered | Triggered |
Trigger an aggregate table | Triggered | Triggered | Triggered | Triggered | Triggered |
Data action history | Record | Record | Record | Record | Record |
Webhook | Not triggered | Not triggered | Not triggered | Not triggered | Not triggered |
Automations | Triggered | Triggered | Triggered | Not triggered | Not triggered |
Duplicate values validations | No validation | No validation | / | No validation | No validation |
Form validations | No validation | No validation | / | No validation | No validation |
Required field validation | No validation | No validation | / | No validation | No validation |
Workflow node validation | No validation | No validation | / | No validation | No validation |
Trigger a workflow | Triggered | Not triggered | / | Triggered | Not triggered |
Aggregate table validation | Verification | Verification | Triggered | No validation | No validation |
Data linkage, formula | Not triggered | Not triggered | / | Not triggered | Not triggered |
Notifications in forms | Triggered | Triggered | / | Not triggered | Not triggered |
Notes
All API paths include 'app_id' and 'entry_id', which represent the application ID and form ID within that app, respectively. Therefore, 'app_id+entry_id' represents a globally unique form ID.