Approval Flow

AI Tools

The various methods for Approval Flow are listed below:

  1. Submit approval request

  2. Get approval status

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/approvalRequest

Parameters

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:

  • status is "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/approvalStatus

Sample 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" } ] }