Release Notes
On this page you can keep up to date with new functionality that has been added to Spaaza (sincee January 2023). We typically release updates every 3-4 weeks, with major changes described here.
16 Jun 2025 - Spaaza API additions and improvements (version 1.5.7)
- Added - added
add-note
,get-notes
,delete-note
endpoints to manageNote
objects (these endpoints are restricted to admin authentication) - Added - added
get-content-pages
anddelete-content-page
endpoints to manage content pages - Added - Added
opt_in_secondary_last_modified_date
to auser
, which is a datetime field that records the last timeopt_in_secondary
date changed - Added - added non-payment error response to API to indicate when Spaaza customers are in payment default and cannot use the API
- Added - it is now possible to configure an optional
maximum_basket_total_value_spend
in a campaign - a maximum basket total value for a reward to be redeemed in a basket - Added - it is now possible to configure an optional
maximum_basket_total_value_earn
in a campaign - a maximum basket total value for a reward to be earned - Added - the
add-basket
andget-basket-price
endpoints can now override the campaign redemption grace period. By specifying a redemption grace period in a specific basket, the campaign’s default grace period can be overridden - Added - the
alter-chain
andget-chain
endpoints can now set a chain redemption grace period, which is the number of hours during which a campaign’s vouchers can still be redeemed correctly after theactive_date_until
has passed - Added - user authentication against the Shopify API is now supported, allowing end-users to authenticate against the Shopify API using their Spaaza credentials, such as when using the Spaaza whitelabel mobile app
- Added - issue a reward when a customer subscription renewal is received via a Stripe webhook
- Improved — improved retry handling when making calls to external APIs such as Magento 2, Green Solutions and other providers
- Improved - it is now possible to apply basket value restrictions (
maximum_basket_total_value_spend
andmaximum_basket_total_value_earn
) to matching item campaigns, allowing for more control over the redemption process - Improved - improvements in content page campaign handling
- Improved - it is now possible to restrict redemption of a competition grand prize to the store in which the prize was issued
- Improved - updates to IOS mobile pass wallet handling
- Improved - completed Shopify API communication migration to Shopify GraphQL admin API
- Improved - improvements to win distribution time algorithm for store-budgeted competition campaigns
- Improved - performance improvements in competition budget checking when issuing instant win vouchers
- Improved - webhook handling for Stripe subscription features
- Improved - event pipeline performance improvements for wallet mutation events
- Improved - locale (language) field is now synchronised between Spaaza user account and Shopify customer account, allowing for better localisation of content and campaigns
- Improved - performance when user member number updates take place
- Improved - issue-avoidance when processing simultaneous duplicate webhooks received from Shopify
- Fixed - issues in Shopify account activation flow
- Fixed - bug in matching non-product campaign assignments
- Fixed - issue with missing title when creating Shopify discount code for wallet voucher
- Fixed - issue with unhandled exception when no response is received from Green Solutions (formerly Garden Connect) API
- Fixed - issue with voucher redemption after campaign active date has passed
- Fixed - issue where wallet mutation event was not dispatched correctly when a customer used points to receive a reward
- Deprecated - the user-specific
notes
field has been replaced by the newNote
object in theadd-note
,get-notes
anddelete-note
endpoints, which allows for more flexible and structured note management. Thenotes
field will be removed from the response to theget-card
endpoint in version1.6.0
.
10 Jun 2025 - Spaaza API additions and improvements
- Added - Maximum values:
maximum_basket_total_value_earn
: Maximum basket value allowed for campaigns to issue rewards during basket processingmaximum_basket_total_value_spend
: Maximum basket value allowed for redeeming standalone vouchers in baskets
- Added - added
opt_in_secondary_last_modified_date
, which is a datetime field that records the last timeopt_in_secondary
date changed in User object.
15 April 2025 - Spaaza API additions and improvements
- Added - per-store budgets and wins distribution for competition campaigns, ensuring fair distribution of rewards across stores
- Improved - competition campaigns now limit the number of wins per store per day and distribute win opportunities throughout the day
1 April 2025 - Spaaza API additions and improvements (version 1.5.6)
- Improved - after a successful Stripe payment notification webhook is received, Spaaza updates the (external) identity handler after user opt_in_secondary is set
- Improved - when nullifying user username in
alter-user
, use a chain’s dummy email domain, if available, to set a dummy email address - Improved - if a chain does not allow repeated use of
retailer_basket_code
values for baskets, an exclusiveretailer_basket_code
parameter inclaim-vouchers
andlock_voucher
will now generate abasket_already_exists
error when an associated basket already exists. - Improved - the
get-campaigns
endpoint now supports pagination for API requests.
6 January 2025 - Spaaza API additions and improvements (version 1.5.5)
- Improved - in a return transaction, if it is not possible to match a returned item to an original purchase item, the item will be treated as a negatively-priced purchase item in the returning basket and the
excluded_from_spaaza
parameter will be set totrue
to avoid applying any Spaaza campaign logic to the item. See returns documentation for more information. - Improved - return a
parameter_mismatch
warning in basket endpoints when sum ofitem_price
amounts for items does not matchbasket_total_price
value - Improved - return a warning in basket endpoints when a returned item cannot be matched to an original purchase transaction
25 Nov 2024 - Spaaza API additions and improvements
- Improved - when all purchase items in a basket have both
item_price
anditem_original_price
fields populated, the difference between the two values is used to calculate the redemption amount and distribution of vouchers being redeemed instead of making any reference to previously calculated voucher redemption values. This allows client-specific discounts to still be applied between calls to theget-basket-price
andadd-basket
endpoints, although we recommend caution. See the subsection called Basket Discounts and Vouchers for more information about voucher redemption. (versions >= 1.5.4) - Improved - added address fields to Profile Completion campaign
- Improved - excluded delete campaigns from campaign groups in responses
- Improved - return a warning in basket endpoints when a returned item cannot be matched to an original purchase transaction
- Improved - return a warning in basket endpoints when sum of
item_price
amounts for items does not matchbasket_total_price
value. (versions >= 1.5.4) - Fixed - fixed issue creating duplicate rewards in Profile Completion campaign
- Fixed - fixed issue with checking active campaigns in basket campaigns
- Fixed - fixed issue with transactions when using
update_if_exists
flag inadd-user
18 Nov 2024 - Spaaza API additions and improvements
- Fixed - allow basket campaigns to give 100% discount instead of 99.99%
- Fixed - fixed issue resolving empty basket vouchers array in basket calls
7 Nov 2024 - Spaaza API additions and improvements
- Added - added get-product-variants endpoint with pagination and the ability to filter by barcodes
- Improved - add
retailer_basket_code
to referral relation and use in redemption tracking - Improved - added reward redemption count and progress to get-campaigns output for end users
- Improved - allow editable campaign assignment groups
- Improved - allow supplier contribution in a basket campaign to be set to null
- Improved - check whether
assigned_groups
parameter for campaign is an array - Improved - database improvements in communications with Magento 2 REST API and module
- Improved - extended product endpoints to allow product, product variant and barcode deletion
- Fixed - fixed issue with
max_reward_quantity
when successive baskets do not contain complete reward complement - Fixed - fixed rounding issue when meal deal and free basket competition are used at the same time
20 Oct 2024 - Spaaza API additions and improvements
- Added - add-product and add-product-variant endpoints and products now indexed in analytics database
- Added - added Campaign Groups to group campaigns together, and API endpoints to manage them
- Improved - added
meal_deal_monetary_discount
andcheapest_product_discount
promotion types to basket campaigns - Improved - added external funding ratio to promotional campaigns allowing 3rd party brands to sponsor them
- Improved - added
max_reward_quantity
recurrence limit to basket campaigns - Improved - added warning for unrecognised branch by
branch_business_owner_code
in basket calls - Improved - allowed multiple campaign assignment groups to be used in meal deal and other promotional basket campaigns
- Improved - campaign assignments added to responses for content zones
- Improved - improvements to user signature upload flow
- Fixed - fixed issue with content zone filtering not working properly in get-content-page
- Fixed - fixed issue with content zones returned when applying business filter
- Fixed - fixed issue with ordering business by distance in get-businesses
- Fixed - issue with returning only active campaigns when searching
1 Oct 2024 - Spaaza API additions and improvements (API version 1.5.4)
- Added - Split
minimum_basket_total_value
into two fields:minimum_basket_total_value_earn
: Minimum basket value required for campaigns to issue rewards during basket processingminimum_basket_total_value_spend
: Minimum basket value required for redeeming standalone vouchers in baskets
- Improved - added Item Purchase Count and Progress campaigns to output of user-wallet-ledger
- Improved - added business filtering to get-content-page endpoint
- Improved - added campaign type and tag filtering to content pages
- Improved - added extra user information to the response of get-basket-price and add-basket in version >= 1.5.4
- Improved - added privileged authentication to get-businesses API endpoint
- Improved - aligned business term search with expected in get-businesses
- Improved - allow
chain_id
and removeentity_type
requirement in basket calls in version >= 1.5.4 - Improved - remove
campaign_budget_constraint_monetary
from competition campaign - Improved - restrict competition budget period to single day or entire competition validity period for clarity
- Fixed - fixed issue with basket voucher distribution when basket voucher and percentage discount voucher were being redeemed together
- Fixed - issued competition vouchers for later use now indexed in get-basket-price call
9 Sep 2024 - Spaaza API additions and improvements
- Improved - added campaign active from/until date to voucher analytics
- Improved - allow admin and end-user access to get-businesses endpoint
- Improved - enable rewards creation via add-user-purchase-progress for Item Purchase Count campaign and other non-wallets
- Improved - make
chain_id
optional in get-businesses as it’s only needed for admin authentication - Fixed - fixed issue calculating previous balance in some circumstances in add-user-purchase-progress
- Fixed - issue with BasketCampaign
fixed_monetary_discount
and add-basket whenitem_original_price
is missing.
27 Aug 2024 - Spaaza API additions and improvements
- Added - added Fixed Unit basket voucher and
fixed_unit_basket_voucher
reward method to campaign award which provides a fixed monetary discount per purchase unit of a matching item - Added - added content zones functionality and alter-content-page and get-content-page API endpoints to API
- Improved - added
totalvalue
transaction message parameter - Improved - adjusted win spread for competition campaigns relative to budget to avoid win clustering
- Improved - changed default Purchase Count logic to not include baskets purchased before campaign live date
- Improved - extended add-user-purchase-progress endpoint to allow adding Progress and Item Purchase Count campaign amounts
- Improved - improve
min_earn_quantity
logic for Matching Item campaign - Improved - make
budget_period_quantity
nullable in competition campaign - Improved - use campaign voucher text field for voucher text when creating competition vouchers
- Fixed - fixed issue where it was possible for one competition budget period parameter to be null
- Fixed - fixed issue where wrong returned basket item field was indexed leading to erroneous analytics data for returns
- Fixed - fixed issue with BasketCampaign
fixed_monetary_discount
and add-basket whenitem_original_price
is missing - Fixed - fixed issue with recurrence logic in purchase count campaign
14 Jul 2024 - Spaaza API additions and improvements
- Added - added
quantity_unit
promotion type to basket campaigns - single unit monetary discount - Added - added business_format and business_region as campaign assignments
- Added - added campaign
minimum_matching_item_value
to basket and other campaigns - Added - added end-user signature storage
- Improved - allow PurchaseCount campaign to define the number of times a customer can be rewarded
- Improved - campaign assignments exclude option now only applies to barcode assignments
- Fixed - fixed bug in competition campaign award calculation and returns
10 Jun 2024 - Spaaza API additions and improvements (API version 1.5.3)
- Added - entries wallets for competitions
- Improved - made
chain_id
parameter as mandatory with admin authentication inclaim-voucher
andunclaim-voucher
endpoints for requests >= 1.5.3 - Improved - extended Competition campaign functionality by adding budget and budget-based probability calculation
- Improved - added call processing queuing to assigning a member_number in MyPrice App
- Improved - added a minimum basket value for instant win competitions
- Improved - added
business_region
andbusiness_format
as campaign assignment fields - Improved - added
entryreference
variable to transaction messages - Improved - added new user identifiers to claim-voucher and unclaim-voucher
- Improved - added segment checking to birthday campaign issue script
- Improved - added several variables to transaction messages:
firstname
,itemsneeded
, value,eligibleitems
- Improved - added total count to get-businesses response
- Improved - allow increased competition budget amounts
- Improved - competition campaigns decide whether to award wins based on supplied basket timestamp rather than processing timestamp
- Improved - extended matching item campaign to issue points on value of basket if a basket contains a defined number of matching items
- Improved - extended user-wallet-ledger to include branch business ID in the response
- Improved - improved admin user authentication permissions-checking and input validation
- Improved - improved user/customer synchronisation with Garden Connect API
- Improved - removed
member_number
from user on obfuscation - Improved - removed redundant user eligibility check from event handling in birthday campaign
- Improved - the way in which creating a dummy email address works
- Fixed - edge-case in promotional basket reward calculation
- Fixed - rounding issue in BasketCampaign
- Fixed - issue with promotions display for wallet and points wallet
- Fixed - parameter name issue when searching for businesses
- Fixed - issue where user’s dummy email address could be changed inadvertently
- Fixed - reintroduced missing log_message in user_purchase_progress points and wallet ledger entries and notifications
- Fixed - stop returning unredeemed competition vouchers in response to get-basket-price
14 May 2024 - Spaaza API additions and improvements (API version 1.5.2)
- Added competition campaigns and functionality
- Added
claim-vouchers
endpoint to allow claiming (and optional locking) of multiple vouchers in a single call - Added new business endpoints
get-business
,get-businesses
,delete-business
- Users can now be created in
add-user
without requiring an email address or any other parameters - Added third party id to voucher object when chain configuration is set to allow third party id
- Added default 400 HTTP response code for certain older API errors when request version is >= 1.5.2
- Added template-based transaction messages to created vouchers and purchase progress in
get-basket-price
andadd-basket
responses - Restricted the implementation of dummy email addresses when a
username
value ofnull
is passed inalter-user
, so that this only happens in requests with a version\>= 1.5.2
- Garden Connect/Green Solutions integration now supports adding users with password
21 March 2024 - Spaaza API additions and improvements (API version 1.5.1)
- Google and Apple wallet integration for showing membership passes
- Allow an end user to request to update their own password
- “Favorite Store” - added functionality calculating and returning a user’s favorite store in API endpoints, based on their recent purchase history
- “ARTS POSlog” - added functionality to import ARTS (Association for Retail Technology Standards) POSlog transaction files into the Spaaza system
- Added cost price functionality to basket items in
get-basket-price
andadd-basket
endpoints in order to allow profit margin calculations and analytics sliced by various parameters such as store, product, user segment etc - Standardised custom headers to use
X-Spaaza-
prefix - Services API now returns standardised error codes and messages
- Upgraded unit price rounding to max 4 decimal places in basket items and receipt line items in
get-basket-price
,add-basket
and ARTS POSLog endpoints endpoints - Added
authentication_point_identifier
as a parameter inget-user-vouchers
endpoint
5 March 2024 - Spaaza Console improvements
- New transactions section: view, filter and export transactions.
- New transaction overview page: see details of transaction and view the customers receipt.
- New category report with top products per category.
- Signup channels report.
- Improvements to signups report.
- Top signup channels report.
- Improvements to stores report export - comparison dates and KPIs now included.
- Improved task export with ability to export JSON or CSV (transactions and wallet mutations only for now, vouchers and people export coming soon).
- Bug fixes: issue with customer comparative date ranges, bug with filters on geo coordinates.
9 Jan 2024 - Spaaza Console improvements
- Rich text editor for notes fields: format campaign notes and voucher notes in Markdown with visual feedback as selectors to be used in app/website client.
- Voucher expiry notifications: add and manage task triggers related to a specific voucher expiry notification.
- Product price trends graph: visualized product price changes over time on the dashboard.
- Local time zone for analytics: reports and analytics automatically align with your local time.
- External URLs in app content section: link to external resources within app/website client.
- Sorted country codes: selection of countries when creating new users.
- Chain ID visible in settings: view chain ID in the settings page.
- General improvements and bug fixes: enhanced performance and reliability of the console.
4 Dec 2023 - Spaaza API additions and improvements (API version 1.5.0)
- “Business Groups” - features to group chain branches and introduce the concept of a user belonging to a business group, which can be used as a region and based on user location, and used to target campaigns.
- “Meal Deal Promotions” - promotional campaigns allowing grouping of campaign assignments, and redemption in basket calls
- “Client-Led promotions” - allow basket API endpoint clients (e.g. a POS or e-commerce) to define which promotions are applied to items in a basket, rather than requiring a call to
get-basket-price
to do that - “Fixed Monetary Discount” - promotional campaigns allowing a fixed monetary discount to be applied to each matching item in a basket
- Various performance improvements, bug fixes and deprecation notices
1 Nov 2023 - Spaaza Console improvements
- Activate and de-activate webhook triggers
- Refresh people segment search with a button
- Improve rounding support for contributor campaigns and add rounding support on wallets
8 May 2023 - Updates to get-basket-price and add-basket API endpoint responses (API version 1.4.8)
- The
purchase_progress
section of the response toget-basket-price
andadd-basket
now includes an array of objects - one for each active wallet or progress campaign. Each object contains general wallet or progress campaign information, the previous and new balance for the customer, and an array of individual mutations. This allows API clients to build a full picture for inclusion in e.g. receipts. - The response to
get-basket-price
andadd-basket
now includes avoucher_created
section describing vouchers which may have (provisionally) been created as a result of a transaction.
9 Feb 2023 - Improvements to CSV-based import scripts
- Improvements made to robustness of CSV-based import scripts, accessed via Console and used for importing wallet amounts to be awarded to end-users.
30 Jan 2023 - Updates to Wallet Dashboards
- Wallets are used in Spaaza for points, cashback, charity savings and other use cases. We updated the Console Wallet Dashboard to provide a lot more detail on mutations in a particular wallet during a period of time. For example, it is now possible to see how many mutations were made as a result of returned items or due to successful referrals.