Oracle Responsys Event Triggering
Overview
Oracle CrowdTwist integrates with Oracle Responsys using realtime API calls to trigger REI events. This allows for CrowdTwist events to enter loyalty members into Responsys Program for campaign orchestration.
Note: This requires the client to have their own Oracle Responsys instance.
Data Push Feeds
The following types of data feeds can be enabled:
- User Profile: Includes creations of new profiles and updates to existing profiles.
- User Activity: Includes data on user activity completions.
- User Redemption: Includes data on user reward redemptions.
Integration Setup Process
- Client submits request via Oracle Support to Responsys team to enable Oracle CrowdTwist REI Events.
- Once enabled, events should be provided to your Responsys instance. These can be viewed under Tools > Events, and should be named Loyalty Profile, Loyalty Activity and Loyalty Redemption.
- Client creates Responsys Program using the three new events, for testing this can simply filter members who do not have an email address at your company to exist, others to be sent an email campaign.
- Client generates API User Credentials for CrowdTwist platform.
- Client provides the configuration details to Oracle CrowdTwist:
- Folder Name and List Name for Responsys Contacts List being used by the Program
- Name of the Events added by Oracle Support
- URL for API calls in your environment
- If records should be matched on Email Address or Third Party ID/Customer Number
- Oracle CrowdTwist configures the Responsys REI Event integration.
- If successful, Oracle CrowdTwist configures automated process.
API Endpoint for Authorization
https://login{enviroment}.responsys.net/rest/api/v1.3/auth/token
API Endpoint for Table Population
- Events: https://{environment}/rest/api/v1.3/events/rei/{EVENT_NAME}
- Folder: !MasterData
- List: CONTACTS_LIST
Note: Pushes to Responsys are throttled to 1 call/second with each call containing data for up to 200 records.
Data Formats
Note: All CrowdTwist date formats are converted to MM/DD/YYYY HH:MI:SS. For example: 10/28/2019 17:51:50
User Profile
| REI Field Name | CT Field Name | Sample Value | Data Type | Description |
|
RSYS_CT_COUNTRY |
country |
US |
String |
User’s country code. |
| RSYS_CT_TIER_RESET_DATE | Tier -> resetDate | 2017-03-23T20:00:00Z | Timestamp (ISO 8601 Format) | |
|
RSYS_CT_TIER_DATE_REACHED |
Tier -> dateReached |
2017-03-23T19:00:00Z |
Timestamp (ISO 8601 Format) |
Date the member reached their current tier. This only changes when a member drops or jumps a tier. |
|
RSYS_CT_TIER_SCORE_REACH |
Tier -> scoreNeededToReach |
1000 |
Number |
Number of points needed for a member to jump to the next tier. |
|
RSYS_CT_TIER_ASSIGNED_BY_EVENT |
Tier -> assignedByEvent |
drop |
String |
The event that occurred when a member is assigned a tier. |
|
RSYS_CT_TIER_CURRENT |
Tier -> title |
Tier 1 |
Title |
Name of current tier level. |
|
RSYS_CT_TIER_DATE_ASSIGNED |
Tier -> dateAssigned |
2017-03-23T19:00:00Z |
Timestamp (ISO 8601 Format) |
Date the member is assigned current tier. This changes for all event types (start, jump, maintain, drop and reset). |
|
RSYS_CT_TIER_EXPIRATION_DATE |
Tier -> expirationDate |
2017-03-23T20:00:00Z |
Timestamp (ISO 8601 Format) |
Date a member’s tier will expire if they do not maintain. This is both fixed and rolling. |
|
RSYS_CT_IS_ACTIVE |
isActive |
1 |
Number (binary) |
If the user is active. |
|
RSYS_CT_SIGNUP_CAMPAIGN |
signUpCampaign |
null |
String |
Campaign with which the user joined the program. |
|
RSYS_CT_SIGNUP_CHANNEL_ID |
signUpChannelId |
null |
Number |
Channel ID from where the user joined the program. |
|
RSYS_CT_GENDER |
gender |
Male |
String |
User’s gender. |
|
RSYS_CT_DATE_CREATED |
dateCreated |
2017-03-23T19:00:00Z |
Timestamp (ISO 8601 Format) |
Date the user was created within the CrowdTwist platform. |
|
RSYS_CT_EMAIL_IS_VERIFIED |
emailIsVerified |
1 |
Number (binary) |
If a user’s email address has been verified. |
|
RSYS_CT_DATE_OF_BIRTH |
dateOfBirth |
2017-03-23T19:00:00Z |
Timestamp (ISO 8601 Format) |
User’s date of birth. |
|
RSYS_CT_LANG_PREF |
langPref |
null |
String |
Language preference of the user. |
User Activity
|
REI Field Name |
CT Field Name |
Sample Value |
Data Type |
Description |
| RSYS_USER_ACTIVITY_ID | userActivityId | 12348765 | Integer | Unique ID for the activity completion. |
|
RSYS_ACTIVITY_ID |
activityId |
198 |
Integer |
CrowdTwist activity ID |
|
RSYS_ACTIVITY_NAME |
activityName |
added gender |
String (200) |
Name of the activity performed |
|
RSYS_POINTS |
points |
80 |
Integer |
Number of points earned for the activity; positive for any added activity, negative for reward redeemed |
|
RSYS_REFERENCE_ID |
referenceId |
abc123 |
String (50) |
CrowdTwist reference ID |
|
RSYS_ACTIVITY_EXTRA_DATA |
activityExtraData |
{“apporderid”:”1”} |
String (4000) |
Extra data stored within the activity configuration. Limited to 4,000 characters, if longer will be trimmed to 3997 and appended with “…” |
|
RSYS_TITLE |
title |
Add Your Gender |
String (150) |
Title of the activity performed |
|
RSYS_DESCRIPTION |
description |
Add your gender and earn 50 points |
String (500) |
Description of the activity performed |
|
RSYS_USER_ACTIVITY_CUSTOM_DATA |
userActivityCustomData |
String (4000) |
Currently null, included to future proof |
|
|
RSYS_LANGUAGE_ID |
languageId |
es |
String (6) |
Preferred language for the member |
|
RSYS_TRANSLATED_TITLE |
translatedTitle |
Agrega tu género |
String (150) |
Title of the activity performed, in the member’s preferred language (relative to languageId) |
|
RSYS_TRANSLATED_DESCRIPTION |
translatedDescription |
Agrega tu género y gana 50 puntos |
String (500) |
Description of the activity performed, in the member’s preferred language (relative to languageId) |
User Redemption
|
REI Optional Data Name |
CT Field Name |
Sample Value |
CT Data Type |
Description |
|
RSYS_ORDER_ID |
orderId |
101 |
Integer |
Unique order ID of the redemption. |
|
RSYS_ORDER_DATE |
orderDate |
2017-03-23T19:00:00Z |
Timestamp |
Date the redemption was performed (unix timestamp). |
|
RSYS_REWARD_ID |
rewardId |
947563 |
Integer |
Id of the unique reward. When a reward has multiple sizes/colors, each will have a unique rewardId. |
|
RSYS_REWARD_GROUP_ID |
rewardGroupId |
12345 |
Integer |
Group the reward is in. When a reward has multiple sizes/colors, they will all share the same rewardGroupId. |
|
RSYS_CATEGORY_NAME |
category |
Gift Cards |
String (50) |
Category of the reward. |
|
RSYS_TITLE |
title |
$20 Gift Card |
String (100) |
The title of the reward. |
|
RSYS_REFERENCE_ID |
referenceId |
null |
String (50) |
The reward reference ID. |
|
RSYS_REWARD_EXTRA_DATA |
rewardExtraData |
null |
String (4000) |
Extra data stored within the reward configuration. Limited to 4,000 characters, if longer will be trimmed to 3997 and appended with “…” |
|
RSYS_TOTAL_POINTS_REDEEMED |
totalPointsRedeemed |
10 |
Integer |
Total points redeemed by user for reward. |
|
RSYS_REDEEMABLE_POINTS |
redeemablePoints |
2000 |
Integer |
Members balance after redemption. |
|
RSYS_QUANTITY |
quantity |
1 |
Integer |
Number of reward redeemed. |
|
RSYS_COUPON_CODE |
couponCode |
1.11122E+11 |
String (1000) |
If code reward – array of codes distributed for redemption. |
|
RSYS_SHIPPING_FIRST_NAME |
shippingFirstName |
null |
String (50) |
If required by reward – first name to whom the reward will be shipped. |
|
RSYS_SHIPPING_LAST_NAME |
shippingLastName |
null |
String (50) |
If required by reward – last name to whom the reward will be shipped. |
|
RSYS_SHIPPING_STREET_ADDRESS1 |
shippingStreetAddress1 |
null |
String (100) |
If required by reward – street address of destination the reward will be shipped. |
|
RSYS_SHIPPING_STREET_ADDRESS2 |
shippingStreetAddress2 |
null |
String (100) |
If required by reward – additional address info of destination the reward will be shipped. |
|
RSYS_SHIPPING_COUNTRY |
shippingCountry |
null |
String (100) |
If required by reward – country of destination the reward will be shipped. |
|
RSYS_SHIPPING_STATE |
shippingState |
null |
String (50) |
If required by reward – state of destination the reward will be shipped. |
|
RSYS_SHIPPING_CITY |
shippingCity |
null |
String (100) |
If required by reward – city of destination the reward will be shipped. |
|
RSYS_SHIPPING_POSTAL_CODE |
shippingPostalCode |
null |
String (25) |
If required by reward – zip code of destination the reward will be shipped. |
|
RSYS_SHIPPING_PHONE_NUMBER |
shippingPhoneNumber |
null |
String (30) |
If required by reward – phone number of user redeeming reward. |
|
RSYS_LANGUAGE_ID |
languageId |
es |
String (6) |
Preferred language for the member. |
|
RSYS_TRANSLATED_TITLE |
translatedTitle |
Tarjeta de regalo de $ 20 |
String (100) |
Title of the reward redeemed, in the member’s preferred language (relative to languageId). |