Please note: This integration has not been released for production and this article is for internal use at the moment. For more information please contact support@passkit.com
This article explains how to integrate Oracle Responsys with PassKit. After following these steps, you will be able to
Issue a coupon pass from Responsys
Refresh a coupon pass data on Responsys
Steps
Notes:
Step 1 : Create Coupon Campaign in PassKit
You need at least one Coupon Campaign created on PassKit.
To create a coupon campaign simply follow these steps:
Login to PassKit
On My Projects page, click Create New
Select Coupon
Click Create
Step 2: Install and Configure the PassKit App
Login to Oracle Responsys
Install PassKit App
Configure PassKit App
From Responsys Home, go to the Side Navigation Menu > Account > Applications > click the Configuration/Edit icon > enter your credentials > Save.
Step 3: Set Up Profile Extension Table and SQL View
This section describes how to prepare a profile extension table (PET) and SQL view. PET enables you to store pass id and other data sent from PassKit. SQL view links PET data against RIID.
It is important that you store PassKit Pass Id against RIID. You will need Pass Id to identify a pass issued for Responsys contact. Pass id is also required for PassKit App Actions such as Refresh Coupon Data.
The list of variables sent from PassKit is available here.
Create a profile extension table
From Responsys Home, go to the Side Navigation Menu > Data > Profile Lists > Create Profile Extension Table. Set PassKit variables you want to store on Responsys.
Example of Profile Extension Table
PASS_ID Text Field (to 100 chars)
PASS_URL Text Field (to 100 chars)
PASS_INSTALL_DEVICE Text Field (to 100 chars)
PASS_STATUS Text Field (to 100 chars)
PASS_EXPIRY Time Stamp Field (date + time)
COUPON_STATUS Text Field (to 100 chars)
COUPON_REDEEMED_DATE Time Stamp Field (date + time)
We recommend that you create one PET per Coupon Campaign. Because there is a 1:1 relationship between an RIID in the profile list and a PET record, Responsys cannot store information about multiple passes for the same RIID in a single PET.
Create a SQL view
① From Responsys Home, go to the Side Navigation Menu > Actions > Create View/Supplement Table > SQL View.
② On the Create Statement page, select Profile List and PET as Data Sources.
③ On the Create Data Source from SQL Statement, enter the SQL statement.
Example
Given PET has seven fields : PASS_ID, PASS_URL, INSTALL_DEVICE, PASS_STATUS, PASS_EXPIRY, COUPON_STATUS, REDEEMED_AT.
Given a Profile List table is $A$ and a PET table is $B$.
Then, the SQL statement will be
select $A$.RIID_, $B$.PASS_ID, $B$.PASS_URL, $B$.PASS_INSTALL_DEVICE, $B$.PASS_STATUS, $B$.PASS_EXPIRY, $B$.COUPON_STATUS, $B$.COUPON_REDEEMED_DATE from $A$ INNER JOIN $B$ ON $A$.RIID_=$B$.RIID_
Once you have entered the SQL statement, click Next.
④ On the Select Key Fields page, at minimum choose the RIID_ field as a data extraction key. Click Finish.
Step 4: Design Responsys Programs with PassKit App
Create a new program
From Responsys Home, go to the Side Navigation Menu > Programs > Create Program.
Set tracking variables
On your Program Design page, click Settings.
Then go to the Tracking and Variables section. Click + to add variable Name and Type.
Tracking variables vary depending on the App. The list of entry tracking variables is available here.
We recommend storinig PASS_ID against RIID. This allows you to search the pass record using PASS_ID.
Set an entry point
From the palette, drag an entry point such as Customer Activated.
Double click an entry point and configure the settings.
Configure PassKit app
From the palette, drag Apps onto the canvas.
Double click Apps and select a PassKit app. Click Done.
You will then see an App configuration dialog box. Click Configure App.
On the App Configuration dialog, set required and custom fields. Click Save. Close the App Configuration dialog.
Configure Set Data
From the palette, drag Set Data onto the canvas.
Double click Set Data. Click a dropdown of List or Profile Extension and select PET you have created for this program. (Set up PET & SQL view)
Select Entry Tracking Variables > click Add > select a PET Field as Field > select an entry tracking variable as Value > click Update.
Click Done.
Set End
From the palette, drag End onto the canvas.
Entry Tacking Variables
Entry Tracking Variable for Issue Coupon
It is recommended that you store PASS_ID because it is required to refresh coupon data.
Field Name | Data Type | Description |
PASS_ID | Text (to 100 characters) | Coupon Id. This id is required to Refresh Coupon Data.
|
PASS_URL | Text (to 100 characters) | URL to install a pass. |
Entry Tracking Variables for Refresh Coupon Data
Field Name | Data Type | Description |
PASS_INSTALL_DEVICE | Text (to 100 characters) | User agent provided by the Wallet Application. Available values are NoAttributes,Ios,Android,SupportWallet,WalletScanner,WalletDaemon,WalletPasses,Windows,OSX,Linux,Mobile,Desktop,Tablet and UnsupportedIos.
|
PASS_STATUS | Text (to 100 characters) | Pass install status. Available values are PASS_ISSUED,PASS_INSTALLED,PASS_UNINSTALLED and PASS_INVALIDATED. |
PASS_EXPIRY | Time Stamp Field (date + time) | Pass expiry date. |
COUPON_STATUS | Text (to 100 characters) | Coupon status. Available values are UNREDEEMED and REDEEMED. |
COUPON_REDEEMED_DATE | Time Stamp Field (date + time) | Date coupon was redeemed. |
App Configuration Input Fields
Input Fields for Issue Coupon
Field Name | Required / Optional | Data Type | Description |
First Name | Optional | string | Forename / Given name of the pass holder. |
Last Name | Optional | string | Surname / Family name of the pass holder. |
Email Address | Optional | string | Email address of the pass holder. If distribution email is activated on PassKit, welcome email will be sent to this email address. |
Mobile | Optional | string |
|
Date Of Birth | Optional | Datetime or string | Valid values are Oracle Datetime or YYYY-MM-DD string. |
Pass Opt Out | Optional | string | Option to receive notification when pass is specific pass contents are updated. Default is false. To set true, please set 1 or true. |
Expiry Date | Optional | Datetime | Expiry date of the pass. To set custom expiry, Offer.CouponExpirySetting needs to be EXPIRE_ON_VARIABLE_DATE_TIME and Campaign needs to be published. |
Utm Name | Optional | string |
|
Utm Source | Optional | string |
|
Utm Medium | Optional | string |
|
Utm Term | Optional | string |
|
Utm Content | Optional | string |
|
Coupon External Id | Optional | string | Unique identifier of the coupon which can be used for PassKit Coupon API. The value must be unique within the Campaign. |
Coupon SKU | Optional | string |
|
Input Fields for Refresh Coupon Data
Field Name | Required / Optional | Data Type | Description |
Pass ID | Required | string | PassKit coupon id. |