v2.2.0: Loyalty Programs pending points & statistics, Introducing Loyalty customer inventory, customer profiles v2 integration dry runs
Summary
Integration API
- Introduce
loyalty
flag ingetCustomerInventory
endpoint to retrieve also profile's loyalty programs subscription and stats upon querying the endpoint - Introduce flags to control whether a customer profile update request v2 should be a "dry run" or force it to "run rule engine"
⚠️ Deprecation Notice: Integration API@v1 endpoints
This version also introduced the deprecation notices for Integration API@v1 endpoints:
These endpoints will be flagged deprecated on 15.07.2021, meaning support for requests to these endpoints will end on that date. We will not remove the endpoints, and they will still be accessible for you to use.
We do encourage migrating to the correspondent v2 endpoints for easier and more granular integration, as well as new features support (See our developer docs section about API V2.0).
Loyalty Programs
Introduce Loyalty Program pending points: points that belong to the program's balance but will become active in the future:
- Introduce Loyalty Program setting to control default points' pending duration
- Introduce a couple of new attributes to communicate better a ledger's points status (pending, active, expired and spent)
- Introduce Loyalty Programs statistics endpoint to get a loyalty program stats snapshot
⚠️ ⚠️ Breaking Change: Loyalty Program points addition payload
This version also introduced the ability to set both loyalty points pending and validity durations.
In order to communicate these more clear, we have renamed the former expiryDuration
attribute of LoyaltyPoints
entity to validityDuration
:
loyaltyProgramID := "1"
profileIntegrationID := "Customer_Profile_ID"
body := talon.LoyaltyPoints{}
body.SetPoints(42.42)
body.SetName("Points that expire after 3 days")
- body.SetExpiryDuration("72h")
+ body.SetValidityDuration("72h")
res, err = managementClient.ManagementApi.
AddLoyaltyPoints(managerAuthContext, loyaltyProgramID, profileIntegrationID).
Body(body).
Execute()
⚠️ Deprecation Notice: Loyalty Program Ledger's total
property
Please note that we are deprecating the total
property of the LoyaltySubLedger
entity. In order to be more transparent and express better distinction between a customer's balance in a program (active, pending, and expired points).
We will remove this property in the next version of the SDK, please use the new totalActivePoints
property instead.
Sandbox/Live Applications & Account Analytics
Applications now can be flagged as live or sandbox (available only via the web application):
- This can be seen via the
sandbox
attribute of the Application entity - Account analytics now respect this separation and reports new data points:
liveApplications
,sandboxApplications
andliveActiveCampaigns