OptiPromo Process
This document provides guidance on integrating OptiPromo with an external promotion or bonus system via API.
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
- Event Trigger:
A web-hook (connected to the optimove-optipromo-publisher
API) is set up as an event listener via Optimove’s External API.
- Execution Process:
When a campaign runs in Optimove with conditional execution, it triggers a call to the webhook URL.
- Webhook Operations (via
optimove-optipromo-publisher
API):
- Retrieves the list of customers targeted by the campaign from Optimove’s External API GetProcessedCampaignCustomers.
- Validates customers and retrieves their rewards by calling the OptiPromo Promotions Validate API.
- Uploads the resulting data to the designated data connection.
- Updates Optimove’s External API with each customer’s promotion status Integrations/UpdateCustomerPromotionStatus.
Flow 2: Shared Responsibility Between Optimove and Tenant
- Event Trigger:
A webhook (linked to the tenant’s API) is defined as an event listener via Optimove’s External API.
- Webhook Operations (via the Tenant’s API):
- Requests the list of targeted customers for the campaign from Optimove’s External API Customers/GetProcessedCampaignCustomers.
- Performs necessary operations as needed (e.g., filtering customers due to regulations).
- 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.
- optimove-optipromo-publisher API Operations:
- Validates customers and retrieves their rewards by calling the OptiPromo Promotions Validate API.
- 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.
Flow 3: The tenant Manages All Operations, Optimove Provides APIs
- Event Trigger:
A webhook (linked to the tenant’s API) is defined as an event listener via Optimove’s External API.
- Webhook Operations (via the Tenant’s API):
- Requests the list of targeted customers for the campaign from Optimove’s External API Customers/GetProcessedCampaignCustomers.
- Performs necessary operations as needed (e.g., filtering customers due to regulations).
- Validates customers and retrieves their rewards by directly calling the OptiPromo Promotions Validate API.
- (Optional) Uploads the resulting data to the data connection to utilize personalization tags.
- Updates Optimove’s External API with each customer’s promotion status (Integrations/UpdateCustomerPromotionStatus).
All Relevant API calls
- Create a promotion
- Delete an existing promotion
- Activate a draft or deactivated promotion
- Set a condition to a draft or deactivated promotion
- Deactivate an active promotion
- Duplicate an existing promotion
- Set metadata to a draft promotion
- Set a promotion tier to a draft or deactivated promotion
- Set properties to a draft or deactivated promotion
- Create a promotion transaction
- Validate promotion code
- Get a promotion by id
- Validate promotion customers
- Create a tenant
- Delete an existing tenant
- Activate a draft or deactivated tenant
- Set customer property schema to a draft or deactivated tenant
- Deactivate an active tenant
- Set metadata to a draft or deactivated tenant
- Set promotion property schema to a draft or deactivated tenant
- Create a tenant transaction
- Get a tenant by id
Updated 8 days ago