Developer's Guide

Introduction

In Jodoo, APIs include App API, Form & Data API, Docs API, Workflow API, and Contact API.

Note:

Starting from V2, Jodoo will introduce (never reduce) new input and output parameters while maintaining compatibility with previous versions. Developers should anticipate the addition of new parameters and ensure the stability of their codes. For instance, in the department API of version 2, a new parameter called "seq" has been added, but it does not impact the logic of version 1. It is not expected that similar updates will require the creation of new versions in the future.

Rule(s)

  • The URL for accessing APIs is https://api.jodoo.com/api. Note: This is not a direct URL, and it should be used in conjunction with parameters such as "appid".
  • All API requests are required to be authenticated and initiated via HTTPS.
  • All requests should be made using the POST method.
  • Data transmission encode should be UTF-8.
  • You should use the form_data format for the file upload API and use JSON for others.

Rate Limit

Maximum global request acceptance rate: 50 requests per second.

The request rate limit for each API can be found in the corresponding API documentation.

Authentication Method

Jodoo uses simple token-based authentication method. By default, API Key will not be generated and you need to click Create API Key to generate the key.

Steps: Open Platform > API Key > Create API Key. One company can generate up to 500 API keys.

Enable, disable, or delete existing API keys.

On the Guide page, click API Docs. Then you can read certain API documents according to your needs.

Use HTTP Headers to set the value of Authorization as "Bearer YOUR_APIKEY" for security authentication.

For example:

1 $ curl -i https://app.jodoo.com/api/v5/callback \
2     -H "Authorization: Bearer YOUR_APIKEY"

Error Reference

All APIs follow a response format of "code + error message" to indicate the reason for an error. The API should return an HTTP status code "2xx" for successful requests. In case of an error, it should return the HTTP status code "400", and the response body should include an error code ("code") and an error message ("msg") to provide detailed information about the error.

1 HTTP/1.1 400
2 Content-Type: application/json
3 {
4 "code": 8303,
5 "msg": "Too Many Requests",
6 }

Status Code

The followings are the status code references:

Status Code

Response

2xx

Success

400

Bad Request

502

Bad Gateway

579

File Upload Failed

Error Code

If the status code is 400, the server will return an error code ("code") and an error message ("msg"). Details about the error codes are as follows:

Code

Message

Description

1

Invalid Request

The request is invalid.

1005

Duplicate Email

The email already exists.

1010

Member Not Found

The member does not exist.

1017

Invalid Member Name

The member's name is in an invalid format.

1018

Invalid Email

The email is in an invalid format.

1019

Invalid Member Nickname

The member's nickname is in an invalid format.

1022

Invalid Company/Team

The member's current company/team does not exist.

1024

Invalid Mobile Number

The mobile number is invalid. Enter a new number and try again.

1027

Duplicate Phone Number

The phone number already exists.

1058

No Permission

Do not have permission to call the task list.

1065

Duplicate Member

The member has already been added to the team.

1082

Phone Number/Email Required

The phone number/email is required.

1085

Nickname Required

The member's nickname is required.

1087

Duplicate Unique Fields

Duplicate unique fields.

1092

Username Limit Exceeded

The length of the username has exceeded the limit.

1096

Invalid Request Parameter(s)

The request contains invalid member parameter(s).

1201

Invalid Role

The role does not exist.

1203

Invalid Role Group/Role

The role group/role information is invalid.

1205

Role Group Required

The role group is required.

1206

Invalid Role Group

The role group does not exist.

1207

Role Group Name Limit Exceeded

The length of the role group name has exceeded the limit.

1208

Role Group with Member(s)

Can't delete a role group with member(s).

2004

Invalid App

The app does not exist.

3000

Invalid Form

The form does not exist.

3001

Name Required

The member or department name is required.

3005

Invalid Parameter(s)

The request contains invalid parameter(s).

3041

Serial No. Limit Exceeded

The number of Serial No. fields has exceeded the limit in the form.

3042

Invalid Field Alias

Failed to verify the field alias.

3083

Widget Limit Exceeded

The number of widgets has exceeded the limit in the form.

3091

Form Name Limit Exceeded

The number of characters in the form name exceeds 100.

3092

Title Limit Exceeded

The number of characters in the title exceeds 100.

4000

Data Submission Failed

Failed to submit data.

4001

Invalid Data

Data does not exist.

4007

No Approver

No approver for the workflow.

4008

Closed Workflow

The workflow was closed.

4009

No Permission

Do not have permission to approve.

4015

Invalid Approver

The approver of the transferred node is invalid.

4016

Action Failed

The workflow can't be transferred to oneself.

4025

No Permission

Do not have permission for the workflow.

4042

Data Deletion Failed

Failed to delete the data.

4402

Aggregation Validation Failed

Failed to validate the aggregation calculation.

4815

Invalid Filter

The filter condition is invalid.

5003

Invalid Node

The workflow node doesn't exist.

5004

No Approval Comment

No comment for approval.

5009

Invalid Approver

The approver of the returned node is invalid.

5011

Invalid Node

The target node is invalid.

5012

No Signature

No signature for approval.

5034

Child Workflow(s)/Plugin Node(s) Found

This node has child workflow(s)/plugin node(s).

5044

Child Workflow Error

The child workflow is wrongly configured. For example, no initiator for the child workflow.

5045

Child Workflow Limit Exceeded

The number of child workflow exceeds 200.

5049

Transfer Disabled

The Transfer feature hasn't been enabled at this node.

5053

Action Failed

The initial department is invalid. Can't flow to the node with multi-level approval.

6000

Duplicate Sub-Department

There is a sub-department with the same name within the same-level department.

6001

Invalid Parent Department

The parent department doesn't exist.

6002

Invalid Department

The department doesn't exist.

6003

Department with Sub-Department(s)

Can't delete a department with sub-department(s).

6004

Department Update Failed

Failed to update the department.

6005

Department Creation Failed

Failed to create the department.

6006

Department with Member(s)

Can't delete a department with member(s).

6010

Invalid Department ID

The department ID is in an invalid format.

6011

Circular Department Relationship

There is a circular relationship among departments.

6012

Invalid Department Name

The department name is invalid.

6013

Duplicate Department ID

The department ID already exists.

6014

No Sub-Department Under Root Department

There must be at least one sub-department belonging to the root department.

6015

Root Department

Can't delete a root department.

6017

Department Cascading Levels Limit Exceeded

The number of cascade levels in the department exceeds the limit.

6019

Member List Required

The member list is required.

6020

Imported Departments Limit Exceeded

The number of departments in a single import exceeds the limit.

6021

Imported Members Limit Exceeded

The number of members in a single import exceeds the limit.

6064

Duplicate Department

The parent department already exists.

7103

System Limit Exceeded

System usage exceeds the limit. The system has been suspended. Go to Management > Plan Details to view the usage details and upgrade plan to restore the system.

7212

Data Limit Exceed

Monthly data exceeds the limit. Can't submit new data. Contact the business owner to upgrade the plan.

7216

Attachment Upload Limit Exceeded

Attachment upload limit exceeded. Contact the link creator to fix it.

7217

Attachment Upload Limit Exceeded

Attachment upload limit exceeded. Contact the business owner to fix it.

7218

Attachment Upload Limit Exceeded

Attachment upload limit exceeded. Contact the link creator to fix it.

7219

Attachment Upload Limit Exceeded

Attachment upload limit exceeded. Contact the business owner to fix it.

8017

Invalid Company/Team

Company/Team doesn't exist or has been closed.

8301

Invalid Authorization

Failed to verify the API key for authorization.

8302

No Permission

Do not have permission for the API calls.

8303

Company/Team Request Limit Exceeded

The call frequency of the company/team exceeds the frequency limit.

8304

Request Limit Exceeded

The call frequency exceeds the frequency limit.

9004

Creation Failed

Failed to create the task.

9007

Lock Obtain Failed

Failed to obtain the lock.

17017

Invalid Parameter(s)

The request contains invalid parameter(s).

17018

Invalid API Key

The API key is invalid.

17023

Batch Update Limit Exceeded

The batch update at one time exceeds the limit.

17024

Batch Creation Limit Exceeded

The batch creation at one time exceeds the limit.

17025

Invalid transaction_id Parameter(s)

The transaction_id contains invalid parameter(s).

17026

Duplicate transaction_id

The transaction_id already exists.

17027

Uploading Failed

Failed to upload the API file.

17032

Invalid Field Type

The field type isn't supported.

17034

Invalid Sub-Field Type

The sub-field type isn't supported.

50000

Invalid Node

The target node doesn't exist.

50004

Invalid Task

The task doesn't exist.

50008

Action Failed

Workflow processing error.

50011

Invalid Task

The task doesn't exist.

50014

Invalid Approver

No permission to close the task.

50016

Invalid instance_id

The instance_id is invalid.

50019

Invalid Action

The action is not supported.

50021

Invalid data_id

The data_id is invalid.

50031

Invalid data_id

The data_id is invalid.

50040

Return Failed

This node can't be returned.

50041

Return Failed

Can't return to the current node.

50047

Workflow Being Migrated

Workflow being migrated. Try again later.

50049

Return Failed

Can't return to the Start Node without an initiator.

50051

Duplicate Request

The workflow has been approved/transferred/returned.

50053

Invalid Approver

No approver to add.

50054

No Nesting

Can't add nested approval. For example, after approver A has added approver B, approver B can't add approver C.

50055

Action Failed

No pre-approver or post-approver was added.

50056

Invalid Parent Task

The parent task is lost. For example, approver A has added approver B. After approver B had approved the assigned task, the initial task for approver A was lost.

50057

Add Approver Disabled

The Add Approver feature hasn't been enabled.

50059

Approver Added

The member is added as an approver.

50060

Invalid Approver

The approver is invalid.

50061

Approver Limit Exceeded

Can't add more than one approver.

50062

Added Approver Reviewing

The added approver is reviewing the task.

50070

Return Failed

Can't return to the plugin node.

50073

Return Failed

Can't return to the in-progress node.

Was this information helpful?
Yes
NoNo
Need more help? Contact support