Bloomreach Engagement (Exponea)
This document is intended to serve as a guide for integrating Bloomreach Engagement (Exponea) into ZAP~POST
Last updated
This document is intended to serve as a guide for integrating Bloomreach Engagement (Exponea) into ZAP~POST
Last updated
Bloomreach Engagement can integrate with ZAP~POST. This guide explains how to set up the integration with ZAP~POST and provides two use cases as examples of how to use ZAP~POST with Bloomreach Engagement.
You'll need to create ZAP~POST API credentials. API credentials allow authentication for incoming webhook requests.
To create an API key:
In the ZAP~POST app, click Settings
> Api Consumers
.
Click Add New Consumer
.
Fill in the Consumer Name
field with a name you want it to have.
Make sure you Enable the Consumer.
Click Generate New Keys
.
Copy the key and password and store them safely for later use.
Finish by clicking Create Consumer
.
In Bloomreach Engagement, configure the webhook authentication for ZAP~POST so that data can be passed securely in the webhook request. You will use this webhook authentication while creating a scenario in a later step.
To configure webhook authentication:
In Bloomreach Engagement, open Data & Assets
> Integrations
.
Click Add new integration
> HTTP Authentication Schemas
> Add integration
.
Edit the name of the Integration - so anyone knows it is for your ZAP~POST account.
In Endpoint
, enter the ZAP~POST API base URL:
https://api.zappost.com
Make sure you select the Basic Authentication
method.
Enter the following:
Username
:
The Api Key from ZAP~POST created in the Setup process
Password
:
The Api Password from ZAP~POST created in the Setup process.
Test the integration - when it is all setup properly, the authentication will be successful.
Go ahead and click: Save integration
.
Use case
In Bloomreach, we provide an Action webhook preset option for working with ZAP~POST. This preset is available for an endpoint: /api/v1/records
- ZAP~POST Individual Post preset.
Imagine you're running an online store, and sometimes customers put items in their shopping cart but don't complete their purchase. When this happens, you may want to let ZAP~POST know about these abandoned carts so personalized messages can be mailed to customers. You can use the ZAP~POST Individual Post preset for this.
However, it's important to understand that this is physical mail, ZAP~POST doesn't send each one individually right away. Instead, ZAP~POST waits until the end of the day and then sends them all together as a single batch. This helps keep things organized and makes it easier to keep track of what's going on. So, if you're looking for updates in your ZAP~POST account on these abandoned carts, you'll need to wait until the day after you've reported them when they've been grouped together.
In a nutshell, the ZAP~POST Individual Post preset is for individual pieces of information.
In your scenario, you can use a combination of operators and actions to send zaps using ZAP~POST to relevant users based on custom conditions.
When using the ZAP~POST Individual Post action, you can also catch error responses returned by this Action node and update your account data or notify your team to check the address of customer, or notify the customer via other channels - email & sms - to update their postal address. You should also remove invalid addresses from future submissions - either via consent revocation or adding a flag to the customer record signifying the postal address is not valid until corrected.
Prerequisites
ZAP~POST
You understand the only parameter required by the Submissions API endpoints, which is a valid campaign ID.
Bloomreach Engagement
You know your audience and scenario execution requirements.
You have collected and are storing relevant customer properties, e.g. postal address, in the Data Manager.
Create a scenario
Let's create a scenario to automate the communication with your users based on custom conditions.
Specifically, you will use an action to send a webhook request to ZAP~POST to send a Zap. For that you will use webhook presets that are created specifically the Bloomreach integration with ZAP~POST.
📘
Your scenario path may vary from the following steps depending on the actions you decide to implement and the dynamic data you choose to include in your user communication. See Personalization Using Jinja.
To create a scenario in Bloomreach Engagement:
In Bloomreach Engagement, open Campaigns
> Scenarios
> Create new
.
(Optional) Click the edit symbol in the scenario name to change it.
Create an action with the webhook request to ZAP~POST.
The webhook will be sent even with only Campaign ID and will return code 200, which signals success. However, there will be no information sent to the campaign. You need to customize the customer properties category. There are mandatory properties like, for example, Customer ID and not mandatory, for example, Address 3. Read tooltips by hovering with a cursor over the 'i' and refer to the ZAP~POST documentation.
After an abandoned cart for a day, you can send a zap to all people who didn't complete their purchase in a day. For that, we will use the "ZAP~POST Individual Post" preset.
Make sure you customize customer properties because otherwise, no data will be sent in both examples. You can either modify values in the parameters tab or directly modify JSON. Customer properties that are required:
For more information visit the ZAP POST Documentation.
Click Save
.
ZAP~POST also provides an /api/v1/submissions
endpoint, which does almost the same thing as the /api/v1/records
endpoint.
Suppose you want to send a list of reminders for customers whose subscriptions expire soon or a reactivation campaign for customers who last purchased a while ago. You'd use the /api/v1/submissions
endpoint in that case.
In a nutshell, the /api/v1/records
endpoint is for individual pieces of information, like abandoned shopping carts, while the /api/v1/submissions
endpoint is for sending collections of related information, like lists of reminders or lapsed customers.
If you want to use the /api/v1/submissions
endpoint, use the ZAP~POST Individual Post preset and modify it as shown below.
This is an editor part of the "ZAP~POST Individual Post":
This is how it should be changed:
Click on the Editor
tab.
Change Endpoint
into /api/v1/submissions
.
Click on the Batch webhook
button and then on the Turn on and reset template
.
Copy and paste everything from the original Payload
to the Root
part and then change the inside of the "submissions" in the square brackets to:
{{ customers | join(",") }}
Copy and paste the inside of the original "submissions" without the square brackets into the Customer
part
Next steps
Before you launch your scenario, you can test and preview the complete workflow in the Test
tab. When you click Start
, you will see a confirmation window indicating how many customers will be affected by the scenario run.Set the frequency of data collection.
Map to ZAP~POST Campaign.
Map any custom fields you have set up in the ZAP~POST Campaign.
Bloomreach Contacts are updated to record recipients who have/have not received a ZAP.
Any returns (undeliverables) are updated on Bloomreach on a daily basis.
Integration to Bloomreach Engagement can be self-service but if you need any help, ZAP~POST’s “Tech-Sherpas” will assist and manage the setup where required, at no additional cost. Start a web chat from within the app, or send an email to support@zappost.com