Questa azione riscatta un premio per un cliente, esattamente come farebbe dalla sua Customer App. JeriCommerce controlla le regole del premio, toglie i punti e assegna al cliente un codice sconto. Usala quando i clienti riscattano dal tuo sito, dalla tua app o dal punto vendita, oppure per riscattare in automatico da un flusso Klaviyo.
Cosa succede ¶
- I punti del premio vengono tolti dal saldo del cliente.
- Il cliente riceve un codice sconto: un nuovo codice Shopify monouso o il prossimo codice del gruppo che hai caricato, a seconda dello sconto del premio.
- Il cliente riceve un'email con il codice, e il codice compare tra i suoi coupon.
- Un evento Reward redeemed con il
codee un evento Balance changed vengono inviati al tuo webhook degli eventi. Ascolta Reward redeemed se il tuo sistema ha bisogno del codice.
Un Fixed reward costa sempre il suo Points cost. Un premio Points as cash permette al cliente di scegliere quanti punti usare, tra il minimo e il massimo del premio. Lo sconto è dato dai punti moltiplicati per il valore di ogni punto, arrotondato a due decimali. Per esempio, 500 punti da 0,02 ciascuno danno uno sconto di 10,00.
Il riscatto viene rifiutato, senza togliere punti, quando:
- Il cliente non ha abbastanza punti, oppure alcuni dei suoi punti sono ancora in sospeso.
- Il cliente non rispetta le regole di visibilità o di segmento del premio.
- Lo sconto del premio non ha più codici.
- I punti da riscattare mancano per un premio Points as cash, oppure sono fuori dal suo minimo e massimo.
Configurazione ¶
Shopify Flow non ha un'azione JeriCommerce per riscattare i premi. Per riscattare da un'automazione, usa un webhook Klaviyo o l'API.
Nel tuo negozio i clienti possono riscattare i premi da soli dalla Customer App, e il tuo staff può riscattarli alla cassa come descritto in Vedi e riscatta i premi dei clienti su Shopify POS.
Aggiungi un'azione Webhook al tuo flusso Klaviyo. Compila il generatore qui sotto e copia ogni valore nelle impostazioni del webhook. Per trovare l'ID di un premio, aprilo in Loyalty > Ways to redeem.
I tuoi dati
Lo trovi in Settings > Technical > Program Information.
Creane una in Settings > Technical > API Keys. Resta nel tuo browser.
Dettagli dell’azione
Apri il premio in Loyalty > Ways to redeem per vederne l’ID.
Per Points as cash, inserisci un numero intero pari almeno a 1. Lascia vuoto per un Fixed reward.
Copia e incolla in Klaviyo
https://api.jericommerce.com/v1/programs/your-program-slug/reward/redeemapi-keyyour-api-key[
{
"email": "{{ person.email|default:'' }}",
"rewardId": ""
}
]Per un premio Points as cash, inserisci i punti da riscattare come numero intero di almeno 1. Lascia vuoto per un Fixed reward. Klaviyo Customer Hub supporta solo le opzioni Fixed reward.
I webhook di Klaviyo vengono messi in coda: JeriCommerce elabora il riscatto qualche secondo dopo e Klaviyo non viene informato se viene rifiutato.
POST https://api.jericommerce.com/v1/programs/{program_slug}/reward/redeem
Invia la tua chiave API nell'header api-key. Consulta Autenticazione tramite API. Il corpo è un array di massimo 100 elementi:
[
{
"email": "customer@example.com",
"rewardId": "2f6c1a2e-8f3b-4f0e-9a51-1d2b3c4d5e6f"
}
]
| Campo | Tipo | Obbligatorio | Note |
|---|---|---|---|
email |
string | Sì | Email di un cliente già presente nel programma. |
rewardId |
string | Sì | L'id del premio. Ottienilo da Elenco premi. |
pointsToRedeem |
integer | Solo per Points as cash | Quanti punti convertire, tra minPoints e maxPoints del premio. Ignorato per un Fixed reward. |
Nell'API, un Fixed reward ha "type": "fixed" e costa redeemCost punti. Un premio Points as cash ha "type": "dynamic" e il suo sconto è pointsToRedeem moltiplicato per currencyPerPoint.
L'API risponde 201 con un corpo vuoto non appena la richiesta è valida. Il riscatto viene elaborato qualche secondo dopo, quindi la risposta non include il codice sconto e i rifiuti non vengono segnalati. Consulta gli endpoint in coda. Per controllare in anticipo, confronta il saldo del cliente ottenuto con Ottieni i dettagli del cliente con il costo del premio.
| Codice | Stato | Significato |
|---|---|---|
MAX_ITEMS_PER_REQUEST_EXCEEDED |
400 |
L'array ha più di 100 elementi. |
| Errori di validazione | 400 |
email manca, rewardId non è un ID valido o pointsToRedeem non è un numero intero pari o superiore a 1. |
Crea una richiesta pronta all'uso con i tuoi valori:
I tuoi dati
Lo trovi in Settings > Technical > Program Information.
Creane una in Settings > Technical > API Keys. Resta nel tuo browser.
Dettagli dell’azione
Apri il premio in Loyalty > Ways to redeem per vederne l’ID.
Per Points as cash, inserisci un numero intero pari almeno a 1. Lascia vuoto per un Fixed reward.
La tua richiesta
curl --request POST \
--url 'https://api.jericommerce.com/v1/programs/your-program-slug/reward/redeem' \
--header 'api-key: your-api-key' \
--header 'Content-Type: application/json' \
--data '[
{
"email": "customer@example.com",
"rewardId": ""
}
]'Incollalo in un terminale per testare la richiesta con il tuo programma.