Configure approvals for Automated Marketing tasks, SMS Marketing tasks, and Lingyang SuperSMS marketing tasks.
Approval process
-
The approval process supports multiple nodes. A task moves to the next node only after the current node approves it and is fully approved only after passing all nodes. If any node rejects the task, the approval fails.
-
If a node has multiple approvers, the node is approved when any approver approves it and rejected when any approver rejects it.
Limits
-
Workspace administrator: An administrator of the current workspace.
-
Specified members: Members of the current workspace.
-
Specified role: Any role within the current workspace.
Accessing the feature
-
On the Quick Audience homepage, click Configuration Management in the top menu bar.
-
Navigate to Configuration Management > Security Settings to open the Approval Configuration page, as shown in the following figure.

-
In the Enable Approval Configuration dialog box, configure the approval node information.

Parameter
Description
Approval type
The approval type name.
External OA integration
For more information, see External OA integration.
Approval node
-
A maximum of 5 levels of approval nodes are supported.
-
Approver:
-
Workspace administrator: A member with workspace administrator permissions in the current workspace.
-
Specified members: Specify members of the current workspace. You can specify a maximum of 5 members. When a task is submitted for approval, if no members exist for this node, the task is automatically sent to the workspace administrator for approval.
-
Specified role: Specify any role in the current workspace. When a task is submitted for approval, if the specified role has no members, the task is automatically sent to the workspace administrator for approval.
-
-
Description (Optional): A description of the approval members, up to 200 characters.
Remarks (Optional)
A description of the approval configuration, up to 200 characters.
-
-
After configuring the approvers, click Save and Enable.
-
Click Message Center to view items that require your approval. As shown in the following figures, click Details to review the approval request. You can then approve or reject the task.


External OA integration
1. Overall process
2. Call the external OA system API
The external Office Automation (OA) system provides a notification API. Configure the API path when you enable the approval configuration.
API path: Domain Name + Path
Request type: POST
Request parameters:
|
Parameter Name |
Parameter type |
Description |
|
applyId |
String |
The approval request ID. |
|
applyContent |
String |
Extended information containing the following keys: crowdNames (audience names, comma-separated), channelTypes (channels, comma-separated), maWebhookIds (webhook IDs, comma-separated), taskName (task name), processId (task ID), and taskLink (task link). Sample data: { "processId": "task_id", "taskLink": "Task Link", "maWebhookIds": "webHookId1,webHookId2", "channelTypes": "channel1,channel2", "taskName": "canvas_task", "crowdNames": "audience_name1,audience_name2" } |
|
applyReason |
String |
The reason for the request. |
|
applicantName |
String |
The name of the requester. |
|
applicantPhone |
String |
Phone |
|
applicantMail |
String |
The email address. |
|
moduleName |
Integer |
A description of the approval type. |
|
resourceName |
Integer |
A description of the object for approval. |
|
resourceDetailUrl |
String |
The URL of the feature details page. Must include the business ID to support redirection. |
|
startTime |
date |
The start time of the approval. |
|
endTime |
date |
The end time of the approval. |
|
organizationId |
String |
The organization ID. |
|
organizationName |
String |
The organization name. |
|
workspaceId |
String |
The workspace ID. |
|
workspaceName |
String |
The workspace name. |
Response parameters: Returns a Boolean value.
3. External OA system callback API
API: openapi/apply/externalApplyCallBack
Content-Type: application/x-www-form-urlencoded
Request type: POST
Request parameters:
|
Parameter Name |
Parameter type |
Description |
Required |
|
applyId |
String |
The approval request ID. |
true |
|
approverStatus |
Integer |
The approval result. 1: Approved, 2: Rejected. |
true |
|
approverReason |
String |
Approval remarks. |
false |
|
approvalNode |
Integer |
The approval node. This is required for multi-level approvals. For example, 1 for level 1, 2 for level 2. |
false |
|
approverName |
String |
The name of the approver for the current node. |
true |
|
nextApproverName |
String |
The name of the approver for the next node. This is required for multi-level approvals. If there are multiple approvers, separate their names with commas (,). |
false |
|
applyStatus |
Integer |
The status of the approval request. 0: Pending, 1: Approved, 2: Rejected. |
true |
|
accessId |
String |
The organization ID. |
true |
|
workspaceId |
String |
The workspace ID. |
true |
Response parameters: Returns a Boolean value.
Sample request:
curl --location 'https://xxx.xxx.xxx.xxx/openapi/apply/externalApplyCallBack' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'accessId=6d212e40-48d1-4064-806f-00cf3694026d' \
--data-urlencode 'applyId=6b2d80748cfe11ee9f8e5a51625d9458' \
--data-urlencode 'approverStatus=1' \
--data-urlencode 'approverName=John Doe' \
--data-urlencode 'nextApproverName=Jane Smith' \
--data-urlencode 'applyStatus=0' \
--data-urlencode 'approverReason=External node approval test 1' \
--data-urlencode 'workspaceId=1a53dca5-b345-4802-ad34-ea706b52cdb3'
Sample response:
{
"data": "true",
"errorCode": null,
"errorDesc": null,
"exStack": null,
"opers": [],
"solution": null,
"success": true,
"traceId": "0ada03af17013970520966528d00ae"
}
