OptiPromo Process

This document provides guidance on integrating OptiPromo with an external promotion or bonus system via API.

Create Promotion Process

Create Promotion Process

Step 1. Create tenant properties and get definitions

Set Tenant Promotion Properties- set up the promotion properties that will be available for configuration in promotions.
Get Tenant Config Details – get existing configuration details of properties. You can also get the list of customer properties (customer attributes).

Step 2. Create, edit and get promotions

Create Promotion – Create name, code, description. Promotion will be created as a draft. (can be done via UI).
Delete Promotion – Promotion will become archived, it will be removed from Campaign Builder dropdown, running campaigns that use it- it will not be validated and cannot restored (only duplicated). (can be done via UI).
Promotion Activation – Activate a promotion to make it avaliable for campaigns in campaign builder. (can be done via UI)
Promotion Deactivation – Promotion will be deactivate. it will be removed from Campaign Builder dropdown, running campaigns that use it- it will not be validated and can be activated again. (can be done via UI)
Duplicate Promotion – Duplicate a promotion with same details and a new code. (can be done via UI)
Edit Promotion Metadata – Edit promotion name and description (when draft, deactivated and active)
Set Promotion Reward Tiers – Set calculation for promotion reward tiers. (can be done via UI)
Set Promotion Properties – set properties to promotion (from existing tenant promotion list). (can be done via the UI)

*Note that when the promotion is in Deactivated status you will be able to edit properties as well. Tiers cannot be edited at any point after promotion is Active, even if Deactivated.
**Note that under Promotions Command, you are also able to send multiple number of commands in one API call.

Step 3. Attach promotion to campaigns

Attach promotion to a campaign in the campaign builder via the UI and scheduling the campaign.

For more information visit the How-To-Use OptiPromo guide.

Step 4. Get promotion and promotion value

For Scheduled Campaigns

Get a step-by-step guide of how information flows between OptiPromo and your promotion system to activate a promotion for scheduled campaigns.

There are three flows you can follow:

Flow 1: Optimove Handles All API Calls.

This flow is for tenants that use both Optimove Core and OptiPromo, and are not interested in conditional execution, a fully automated flow.

Flow 2: Shared Responsibility Between Optimove and Tenant.

This flow provides flexibility for the tenant to integrate with conditional execution, support non-native channels and generally gives a lot of flexibility, while still adding minimal work beyond what’s required for conditional execution. This is the recommended flow in most cases, as it provides most of the flexibility with very little additional integration work.

Flow 3: The tenant Manages All Operations, Optimove Provides APIs.

This flow is for tenants who have their own central coordination systems, and are interested in orchestrating the whole process via fine-grained API calls (“full manual”)


Flow 1: Optimove Handles All API Calls

Optimove Handles All API Calls - Flow

Optimove Handles All API Calls - Flow

  1. Event Trigger:

A web-hook (connected to the optimove-optipromo-publisher API) is set up as an event listener via Optimove’s External API.

  1. Execution Process:

When a campaign runs in Optimove with conditional execution, it triggers a call to the webhook URL.

  1. Webhook Operations (via optimove-optipromo-publisher API):
Optimove Handles All API Calls - Diagram

Optimove Handles All API Calls - Diagram


Flow 2: Shared Responsibility Between Optimove and Tenant

Shared Responsibility Between Optimove and Tenant - Flow

Shared Responsibility Between Optimove and Tenant - Flow

  1. Event Trigger:

A webhook (linked to the tenant’s API) is defined as an event listener via Optimove’s External API.

  1. Webhook Operations (via the Tenant’s API):
    1. Requests the list of targeted customers for the campaign from Optimove’s External API Customers/GetProcessedCampaignCustomers.
    2. Performs necessary operations as needed (e.g., filtering customers due to regulations).
    3. Sends batches of customer data (up to 10K per batch) to the optimove-optipromo-publisher API.

When a campaign runs in Optimove with conditional execution, it triggers a call to the webhook URL.

  1. optimove-optipromo-publisher API Operations:
    1. Validates customers and retrieves their rewards by calling the OptiPromo Promotions Validate API.
    2. Uploads the resulting data to the data connection.
      Updates Optimove’s External API with each customer’s promotion status.
  • Uploads the resulting data to the designated data connection.
  • Updates Optimove’s External API with each customer’s promotion status Integrations/UpdateCustomerPromotionStatus.
  • Shared Responsibility Between Optimove and Tenant - Diagram

    Shared Responsibility Between Optimove and Tenant - Diagram


Flow 3: The tenant Manages All Operations, Optimove Provides APIs

The tenant Manages All Operations, Optimove Provides APIs - Flow

The tenant Manages All Operations, Optimove Provides APIs - Flow

  1. Event Trigger:

A webhook (linked to the tenant’s API) is defined as an event listener via Optimove’s External API.

  1. Webhook Operations (via the Tenant’s API):
    1. Requests the list of targeted customers for the campaign from Optimove’s External API Customers/GetProcessedCampaignCustomers.
    2. Performs necessary operations as needed (e.g., filtering customers due to regulations).
    3. Validates customers and retrieves their rewards by directly calling the OptiPromo Promotions Validate API.
    4. (Optional) Uploads the resulting data to the data connection to utilize personalization tags.
    5. Updates Optimove’s External API with each customer’s promotion status (Integrations/UpdateCustomerPromotionStatus).
The tenant Manages All Operations, Optimove Provides APIs - Diagram

The tenant Manages All Operations, Optimove Provides APIs - Diagram


All Relevant API calls