This guide demonstrates how to use Make to bridge CodeReadr and PassKit, instantly converting customer purchase values into loyalty points the moment a pass is scanned.
Note: This does not use the native CodeReadr integration provided by PassKit.
Prerequisites
A PassKit account
A Loyalty Card pass design set up with a points field
A CodeReadr account, and basic knowledge on how to set it up.
Full instructions to set up CodeReadr can be found HERE
Terminology
Make
An automation platform (formerly known as Integromat) that acts as the "bridge" to connect different apps and move data between them automatically.
PassKit
A digital pass platform used to design, issue, and manage digital loyalty cards and coupons for mobile wallets.
CodeReadr
A professional scanning enterprise app used by staff to scan member passes and input data (like purchase totals) directly from a smartphone or tablet.
Scenario
The entire automated workflow created within Make. It consists of a series of modules that start with a trigger and end with one or more actions.
Trigger
The specific event that starts a scenario. In this case, the trigger is a Webhook that "fires" when a staff member submits data in CodeReadr.
Action
The final step in the scenario where Make sends the processed data to PassKit to update the customer's loyalty pass.
Webhook
A unique URL generated by Make that "listens" for data. CodeReadr sends information to this URL immediately after a scan is completed.
Creating the Scenario
The Scenario Broken Down
Below is the Scenario which will be used.
Trigger - Webhook which is added in the CodeReadr Settings and will receive the information inputted by the staff member.
Tools - This handles the logic that will convert the monetary value into points
Action - Send the points value to PassKit to update the pass.
Webhook response - Success or fail message sent back to the CodeReader app.
Trigger Webhooks
This supplies a Webhook that you can use when setting up the service type in CodeReadr. This receive the data from CodeReadr which is entered by the person scanning the pass.
CodeReadr - Set the Question
This asks the person scanning the pass to add the total purchase amount.
CodeReadr - Add Webhook to CodeReadr
You can copy this webhook into CodeReadr in the service type section.
CodeReadr - Set the Webhook Template
This determines the data that is sent when the webhook triggers
I have chosen the question I set earlier "Total Purchase Amount", Timestamp, Result and Barcode.
Tools Set Variable
This take the Total Purchase Amount from CodeReadr (as entered by the person scanning) and converts it to points based on basic rules.
{{floor(1.`Question: Total Purchase Amount` / 10)}}
The above take the Total purchase amount and divides it by 10, and then rounds that number down to the nearest whole number (using "floor").
Floor: A mathematical function used to round a number down to the nearest whole integer.
Example: If a customer spends $19.99 and the rule is 1 point per $10, the calculation using "floor" would result in 1 point rather than 2.
Essentially 1 point for every 10 units spent.
Add points
This will set the number of points set from the outputs of the Set Variable module.
Success Webhook Response
If the update was successful then this message is sent to CodeReadr.
Fail Webhook Response
If the update failed, this message is sent back to CodeReadr.
Webhook Response Breakdown
The message is contained in the <message> object
<message>
<status>0</status>
<text>Points Not Added!</text>
</message>
Status - 0 for fail, 1 for success
<status>0</status>
Text - this is the text shown in CodeReadr
<text>Points Not Added!</text>
By connecting these tools, you’ve eliminated manual data entry and created a real-time reward experience for your customers. Your staff can now focus on service while your automation handles the calculations and pass updates behind the scenes.









