This endpoint catalog is based on the current Streaming API documentation snapshot and normalized to public terminology. Product docs use cart as the canonical transaction name.
Customersβ
| Method | Endpoint | Description |
|---|
POST | /customers | Create or enroll a Customer. |
GET | /customers | List Customers by IDs or phones. |
POST | /customers/search | Search Customers by any field. |
GET | /customers/{value} | Get a Customer. |
PATCH | /customers/{value} | Update a Customer. |
DELETE | /customers/{value} | Delete or anonymize a Customer. |
GET | /customers/{id}/attributes | Retrieve calculated attributes for a Customer. |
GET | /customers/{id}/tiers | Retrieve loyalty tiers for a Customer. |
GET | /customers/{id}/audience_validation | Check if a Customer belongs to a specific Audience. |
GET | /customers/{id}/audiences | Retrieve all Audiences for a Customer. |
POST | /associations | Create a Customer association. |
PATCH | /associations | Update a Customer association. |
DELETE | /associations | Delete a Customer association. |
GET | /customers/{id}/associates | Get associated Customers. |
POST | /customers/{id}/cards | Create a new card associated to a Customer. |
POST | /customers/transfer | Merge one Customer into another. |
POST | /customers/{associate_id}/unmerge | Unmerge one Customer from another. |
POST | /customers/transfer-new | Merge by creating a new Customer with the data of the other Customer. |
Customer Eventsβ
| Method | Endpoint | Description |
|---|
POST | /carts/realtime | Create a new cart in real time. |
POST | /carts/simulate | Simulate cart creation in real time. |
GET | /carts/{id} | Get a cart. |
GET | /carts | Get a list of carts. |
POST | /carts/cancellation | Cancel a full cart by creating a new cart with negative amounts. |
Custom Eventsβ
| Method | Endpoint | Description |
|---|
POST | /custom_events | Create a new Custom Event. |
GET | /custom_events | Get a list of Custom Events. |
GET | /custom_events/{id} | Get a Custom Event. |
Triggersβ
| Method | Endpoint | Description |
|---|
POST | /trigger | Process a trigger for a specific Customer. |
Loyalty and Gamification Campaignsβ
Discountsβ
| Method | Endpoint | Description |
|---|
POST | /discounts | Create a new discount campaign. |
GET | /discounts | Get available discount campaigns. |
PATCH | /discounts/{value} | Update a discount campaign. |
GET | /discounts/{value} | Get a discount campaign by ID. |
POST | /discounts/redeem | Redeem a discount. |
GET | /discounts/transactions | Show a Customer's redeemed-discount history. |
POST | /discounts/trigger | Trigger a coupon with a discount for a Customer. |
| Method | Endpoint | Description |
|---|
GET | /games | Get available game campaigns. |
GET | /games/{id} | Get a game campaign by ID. |
POST | /games/{id}/play | Play a game. |
Instant Winβ
| Method | Endpoint | Description |
|---|
GET | /instant_wins | Get the list of Instant Win campaigns, optionally for a Customer. |
GET | /instant_wins/{id} | Get one Instant Win campaign. |
Instant Win is evaluated automatically when the configured event is received (POST /carts/realtime, POST /trigger, or POST /custom_events). No call is needed to play: use these endpoints to show the available Instant Win campaigns in the app, and read the result of each draw from the event response (see How to know if the customer won an Instant Win).
Building the requestβ
| Parameter | Endpoint | Description |
|---|
id (path) | Detail | Identifier of the Instant Win, interpreted according to search_by. |
search_by | Detail | What id refers to: loyalty_rule_id (default), loyalty_rule_history_id, campaign_history_id, or static_code. |
customer_id / customer_code | List, detail | Identifies the Customer. Adds remaining_participations to each Instant Win and includes the Customer's targeted Instant Win campaigns. |
campaign_audience | List | Filters by audience: loyalty or targeted. |
location_id / location_code / countries | List, detail | Filters by the store (location_id / location_code) or the countries where the Instant Win applies. |
tier_id | List | Filters the Instant Win campaigns available to a tier. |
per_page / starting_after | List | Pagination: page size, and the next_token_starts_after value returned by the previous page. |
Response fieldsβ
| Field | Description |
|---|
id | Instant Win ID (loyalty rule ID). It is the rule_id of the instant_win effect in event responses. |
name / description | Name and description of the Instant Win campaign |
active | Whether the Instant Win is active |
available_from / available_to | Availability dates |
recurrence_type / recurrence_days | Recurrence (e.g., weekly) and the days of the week when the Instant Win is available |
select_customers | Audience: loyalty (all loyalty members) or targeted |
loyalty_rule_history_id | Targeted only: the Targeted Delivery assignment of the Instant Win to the Customer |
once / once_limit | Per-customer participation limit: period and maximum number of participations |
remaining_participations | Only when customer_id / customer_code is sent: participations the Customer has left |
instant_win.instant_win_prizes[] | Prizes of the Instant Win (see below) |
next_token_starts_after | List only: token to request the next page as starting_after |
Each item of instant_win.instant_win_prizes[]:
| Field | Description |
|---|
id / name | Prize ID and name |
outcome.promotion_type | Prize type: points (Points & Wallet), reward, or game (game participation). Empty for No Prize. |
outcome.promotion_id | ID of the prize's promotion: the points campaign, the reward, or the game rule |
weight | Probability of the prize as a fraction of 1 (e.g., 0.25 = 25%). The weights of all prizes add up to 1. |
stock | Remaining stock of the prize; -1 means unlimited |
stock_management_strategy | Behavior when the prize runs out of stock (e.g., remove_prize: the prize is no longer awarded and its probability goes to No Prize) |
How to know if the customer won an Instant Winβ
This section is for integrators (POS, WL App, external apps) that need to show the Instant Win result to the Customer after sending a cart, trigger, or custom event.
One effect per evaluated Instant Win. Every Instant Win whose victory conditions are met β and whose targeting and limits allow the Customer to take part β returns one effect with type: "instant_win" in the effects array. The effect is returned both when the Customer wins and when the draw returns No Prize.
| Field | Description |
|---|
type | Always instant_win |
rule_id / rule_name | ID and name of the Instant Win campaign |
select_customers | Audience of the Instant Win: loyalty (all loyalty members) or targeted |
campaign_history_id | Targeted only: the Targeted Delivery send that assigned the Instant Win |
coupon_info | Targeted only: the Customer's Targeted Delivery Voucher (voucher_id, voucher_code, coupon_id, coupon_name, static_code) |
prize_name | Only when the Customer wins: name of the prize won |
prize_description | Only when the Customer wins: description of the prize won |
prize_rule_id | Only when the Customer wins: ID of the prize's promotion β the points campaign, the reward, or the game rule |
winned_prize_index | Internal identifier of the selected prize, kept for backwards compatibility. Do not use it alone to know whether the Customer won |
effect_type, distribution_type, value | Empty / 0: an Instant Win does not change cart line values |
The prize fields (prize_name, prize_description, prize_rule_id) are returned for the three prize types: Points & Wallet, Reward, and Game participation.
How to interpret the response:
| Response | Meaning |
|---|
instant_win effect with prize_name / prize_rule_id | The Customer won that prize. It is delivered automatically. |
instant_win effect without prize data | The Customer took part but did not win: the draw returned No Prize, or the drawn prize had no stock left and its end-of-stock strategy is "Remove prize, leave probabilities unchanged". |
No instant_win effect for that campaign | The Customer did not take part: victory conditions not met, outside the availability dates or recurrence, limits reached, or β for a Targeted Instant Win β the Voucher was not sent in coupons_desired (["all"] or the Voucher code). |
No victory or defeat messages. Unlike Games, Instant Win has no victory or defeat messages. Any text shown to the Customer ("You wonβ¦" / "Better luck next time") is up to the app, built from the prize data in the effect.
Prize delivery. The prize is delivered automatically and asynchronously. The response tells the result of the draw; the prize (points in the wallet, the Reward, or the game participation) appears in the Customer's profile shortly after.
Examples
Won a game participation (Loyalty):
{
"rule_id": 323,
"line": 1,
"rule_name": "Gasta mΓ‘s de 3β¬",
"type": "instant_win",
"effect_type": "",
"distribution_type": "",
"value": 0,
"select_customers": "loyalty",
"winned_prize_index": 14,
"prize_name": "Ruleta navidad",
"prize_description": "Game de premio para Instant Win",
"prize_rule_id": 319
}
No Prize (Loyalty) β the effect has no prize data:
{
"rule_id": 324,
"line": 1,
"rule_name": "gasta mΓ‘s de 2β¬ menos probabilidad",
"type": "instant_win",
"effect_type": "",
"distribution_type": "",
"value": 0,
"select_customers": "loyalty",
"winned_prize_index": 16
}
Won (Targeted) β includes the Targeted Delivery send and Voucher:
{
"rule_id": 329,
"campaign_history_id": 173,
"line": 1,
"rule_name": "1 - IW targeted",
"type": "instant_win",
"effect_type": "",
"distribution_type": "",
"value": 0,
"select_customers": "targeted",
"coupon_info": {
"voucher_id": 4546215,
"voucher_code": "4546215",
"coupon_id": 8643904,
"coupon_name": "1 - IW targeted",
"static_code": ""
},
"winned_prize_index": 21,
"prize_name": "game prize",
"prize_description": "2 - Game IW prize",
"prize_rule_id": 328
}
Points & Walletβ
| Method | Endpoint | Description |
|---|
POST | /points | Create a new points campaign. |
GET | /points | Get available points/wallet campaigns. |
PATCH | /points/{value} | Update a points/wallet campaign. |
GET | /points/{value} | Get a points campaign by ID. |
GET | /points/transactions | Get points transactions for a Customer. |
GET | /customers/{value}/points | Retrieve total points/wallet balance. |
GET | /customers/{value}/points_expiring | Retrieve points about to expire. |
POST | /points/redeem | Redeem points from balance. |
POST | /points/redeem_cart | Redeem points from balance for a specific cart. |
POST | /points/transfer | Transfer points from one Customer to another. |
GET | /cashbacks | Get cashback conversion by location. |
GET | /cashback_thresholds | Retrieve cashback thresholds. |
Rewardsβ
| Method | Endpoint | Description |
|---|
GET | /rewards | Get a list of Rewards. |
GET | /rewards/{id} | Get a Reward. |
POST | /rewards/{id}/redeem | Redeem a Reward. |
GET | /rewards/transactions | Get reward transactions. |
POST | /rewards/transactions/{id}/rollback | Revert a reward redemption. |
Challengesβ
| Method | Endpoint | Description |
|---|
GET | /challenges | Get a list of Challenges. |
GET | /challenges/{id} | Get a Challenge. |
GET | /customers/{value}/challenges | Get challenges for a Customer. |
GET | /customers/{value}/challenges/{id} | Get one Challenge for a Customer. |
POST | /challenges/{id}/enroll | Enroll in a Challenge. |
Campaign Couponsβ
| Method | Endpoint | Description |
|---|
POST | /coupons | Create a new Coupon. |
PATCH | /coupons/{id} | Update a Coupon. |
DELETE | /coupons/{id} | Delete a Coupon. |
Campaign Vouchersβ
| Method | Endpoint | Description |
|---|
GET | /vouchers | Get a list of Vouchers. |
GET | /customers/{id}/vouchers/selected | Get selected Vouchers for a Customer. |
GET | /vouchers/{code} | Get or validate a Voucher. |
POST | /vouchers/redeem | Redeem a list of Vouchers. |
POST | /vouchers/rollback | Roll back a list of Vouchers. |
POST | /vouchers/print | Print a list of Vouchers. |
PUT | /vouchers/print | Print a specified list of Vouchers. |
POST | /vouchers/{code}/select | Select a Voucher. |
POST | /vouchers/{code}/deselect | Deselect a Voucher. |
PUT | /vouchers/select | Select a list of Vouchers. |
PUT | /vouchers/deselect | Deselect a list of Vouchers. |
POST | /vouchers/{code}/freeze | Freeze a Voucher. |
POST | /vouchers/{code}/unfreeze | Unfreeze a Voucher. |
GET | /vouchers/excluded_products | Get excluded products and product categories. |
| Method | Endpoint | Description |
|---|
POST | /carts/simulate | Simulate cart creation in real time. |
POST | /carts/realtime | Create a cart in real time. |
POST | /custom_events | Create a Custom Event. |
POST | /trigger | Process a trigger for a Customer. |
Company Dataβ
Productsβ
| Method | Endpoint | Description |
|---|
POST | /products | Create a new Product. |
GET | /products/{id} | Get a Product. |
PATCH | /products/{id} | Update a Product. |
DELETE | /products/{id} | Delete a Product. |
Product Taxonomiesβ
| Method | Endpoint | Description |
|---|
POST | /taxonomies | Create a product taxonomy. |
PATCH | /taxonomies/{slug} | Update a product taxonomy. |
DELETE | /taxonomies/{slug} | Delete a product taxonomy. |
Product Featuresβ
| Method | Endpoint | Description |
|---|
POST | /taxonomies/{taxonomy_slug}/features | Create a product feature. |
PATCH | /taxonomies/{taxonomy_slug}/features/{id} | Update a product feature. |
DELETE | /taxonomies/{taxonomy_slug}/features/{id} | Delete a product feature. |
Locationsβ
| Method | Endpoint | Description |
|---|
POST | /locations | Create a new Location. |
GET | /locations/{value} | Get a Location. |
PATCH | /locations/{value} | Update a Location. |
DELETE | /locations/{value} | Delete a Location. |
Location Taxonomiesβ
| Method | Endpoint | Description |
|---|
POST | /locations/taxonomies | Create a Location Taxonomy. |
PATCH | /locations/taxonomies/{slug} | Update a Location Taxonomy. |
DELETE | /locations/taxonomies/{slug} | Delete a Location Taxonomy. |
Location Featuresβ
| Method | Endpoint | Description |
|---|
POST | /locations/taxonomies/{taxonomy_slug}/features | Create a Location Feature. |
PATCH | /locations/taxonomies/{taxonomy_slug}/features/{id} | Update a Location Feature. |
DELETE | /locations/taxonomies/{taxonomy_slug}/features/{id} | Delete a Location Feature. |
| Method | Endpoint | Description |
|---|
POST | /promotions | Create a legacy Promotion. |
PATCH | /promotions/{id} | Update a legacy Promotion. |
DELETE | /promotions/{id} | Delete a legacy Promotion. |
Utilitiesβ
| Method | Endpoint | Description |
|---|
GET | /check | Check API availability. |
POST | /messages/print | Print a list of messages. |