Title
Create new category
Edit page index title
Edit category
Edit link
Approval Flow
The various methods for Approval Flow are listed below:
A campaign can be activated once its approval status is Approved. If no approvers are configured in retail settings (approvers: []), the campaign is considered pre-approved and can be activated immediately.
Submit approval request
Sends a preview approval email to all configured approvers for the retail campaign. Requires MediaPlan_Tags_Create permission.
Path Parameters
| Name | Data Type | Requirement | Parameter Type | Description |
|---|---|---|---|---|
| accountId | string | Mandatory | path | ID of the account. |
| retailCampaignIdx | integer | Mandatory | path | Index of the retail campaign. |
Sample Request
POST http://demo.stub.api.jivox.com/v2/accounts/:accountId/retail-campaigns/:retailCampaignIdx/approvalRequestParameters
| Field | Data Type | Requirement | Description |
|---|---|---|---|
| userName | string | Mandatory | Display name of the user submitting the request. |
| userEmail | string | Mandatory | Email address of the user submitting the request. |
requesterHostUrl and apiUrl are set server-side from the request headers and are not required in the body.
Request Body
{ "userName": "Chayan Pal", "userEmail": "chayanp@jivox.com"}Sample Response
{ "message": "Campaign preview approval mail sent successfully"}Get approval status
Returns the current approval status for a retail campaign. Requires MediaPlan_Tags_Create permission.
Activation rule: The campaign can be activated if:
statusis"Approved", or- No approvers are configured in retail settings (
approvers: [])
Path Parameters
| Name | Data Type | Requirement | Parameter Type | Description |
|---|---|---|---|---|
| accountId | string | Mandatory | path | ID of the account. |
| retailCampaignIdx | integer | Mandatory | path | Index of the retail campaign. |
Sample Request
GET http://demo.stub.api.jivox.com/v2/accounts/:accountId/retail-campaigns/:retailCampaignIdx/approvalStatusSample response
| Field | Data Type | Description |
|---|---|---|
| approvalIdx | integer | Internal ID of the approval record. |
| status | enum (string) | Overall approval status. Values: Pending, Approved, Rejected, Unavailable, Invalid. |
| requesterEmail | string | Email of the user who submitted the approval request. |
| requiredApprovals | integer | Number of approvals required to reach Approved status. |
| createdOn | string | Timestamp when the approval request was created. |
| updatedOn | string | Timestamp when the approval was last updated. |
| approverDetails | array | List of individual approver decision records. |
| approverDetails[].userEmail | string | Email address of the approver. |
| approverDetails[].userName | string | Display name of the approver (defaults to "External User" if not a platform user) |
| approverDetails[].userId | integer | Internal user ID of the approver (defaults to -1 for external approvers). |
| approverDetails[].approvalStatus | enum (string) | Individual decision by this approver. Values: Pending, Approved, Rejected, Unavailable, Invalid. |
Request Body
{ "approvalIdx": 42, "status": "Pending", "requesterEmail": "chayanp@jivox.com", "requiredApprovals": 2, "createdOn": "2024-05-10T09:00:00.000Z", "updatedOn": "2024-05-10T09:00:00.000Z", "approverDetails": [ { "userEmail": "john.doe@example.com", "userName": "John Doe", "userId": 101, "approvalStatus": "Approved" }, { "userEmail": "jane.doe@example.com", "userName": "External User", "userId": -1, "approvalStatus": "Pending" } ]}