Esta acción canjea una recompensa para un cliente, igual que lo haría él desde su Customer App. JeriCommerce comprueba las reglas de la recompensa, resta los puntos y da al cliente un código de descuento. Úsala cuando los clientes canjeen desde tu propia web, tu aplicación o tu punto de venta, o para canjear automáticamente desde un flujo de Klaviyo.
Qué ocurre ¶
- Los puntos de la recompensa se restan del saldo del cliente.
- El cliente recibe un código de descuento: un código nuevo de Shopify de un solo uso o el siguiente código de tu lote subido, según el descuento de la recompensa.
- El cliente recibe un correo con el código, y el código aparece en sus cupones.
- Se envían a tu webhook de eventos un evento Reward redeemed con el
codey un evento Balance changed. Escucha Reward redeemed si tu sistema necesita el código.
Una Fixed reward siempre cuesta lo que indica su Points cost. Una recompensa Points as cash permite que el cliente elija cuántos puntos usar, entre el mínimo y el máximo de la recompensa. El descuento son los puntos multiplicados por el valor de cada punto, redondeado a dos decimales. Por ejemplo, 500 puntos que valen 0,02 cada uno dan un descuento de 10,00.
El canje se rechaza, sin restar puntos, cuando:
- El cliente no tiene puntos suficientes, o algunos de sus puntos siguen retenidos.
- El cliente no cumple las reglas de visibilidad o de segmento de la recompensa.
- El descuento de la recompensa se ha quedado sin códigos.
- Faltan los puntos que canjear en una recompensa Points as cash, o están fuera de su mínimo y su máximo.
Configúralo ¶
Shopify Flow no tiene una acción de JeriCommerce para canjear recompensas. Para canjear desde una automatización, usa un webhook de Klaviyo o la API.
En tu tienda, los clientes pueden canjear recompensas ellos mismos desde la Customer App, y tu equipo puede canjearlas en caja como se describe en Consulta y canjea las recompensas de un cliente en Shopify POS.
Añade una acción Webhook a tu flujo de Klaviyo. Rellena el generador de abajo y copia cada valor en los ajustes del webhook. Para encontrar el ID de una recompensa, ábrela en Loyalty > Ways to redeem.
Tus datos
Encuéntralo en Settings > Technical > Program Information.
Crea una en Settings > Technical > API Keys. Se queda en tu navegador.
Detalles de la acción
Abre la recompensa en Loyalty > Ways to redeem para ver su ID.
Para Points as cash, introduce un número entero de puntos igual o superior a 1. Déjalo vacío para una recompensa Fixed reward.
Copiar y pegar en Klaviyo
https://api.jericommerce.com/v1/programs/your-program-slug/reward/redeemapi-keyyour-api-key[
{
"email": "{{ person.email|default:'' }}",
"rewardId": ""
}
]Para una recompensa Points as cash, introduce los puntos que canjear como un número entero de al menos 1. Déjalo en blanco para una Fixed reward. El Customer Hub de Klaviyo solo admite opciones de Fixed reward.
Los webhooks de Klaviyo van en cola: JeriCommerce procesa el canje unos segundos después, y Klaviyo no se entera si se rechaza.
POST https://api.jericommerce.com/v1/programs/{program_slug}/reward/redeem
Envía tu clave de API en el encabezado api-key. Consulta Autenticación mediante la API. El cuerpo es una matriz de hasta 100 elementos:
[
{
"email": "customer@example.com",
"rewardId": "2f6c1a2e-8f3b-4f0e-9a51-1d2b3c4d5e6f"
}
]
| Campo | Tipo | Obligatorio | Notas |
|---|---|---|---|
email |
string | Sí | Correo de un cliente que ya está en el programa. |
rewardId |
string | Sí | El id de la recompensa. Obtenlo con List rewards. |
pointsToRedeem |
integer | Solo para Points as cash | Cuántos puntos convertir, entre minPoints y maxPoints de la recompensa. Se ignora en una Fixed reward. |
En la API, una Fixed reward tiene "type": "fixed" y cuesta redeemCost puntos. Una recompensa Points as cash tiene "type": "dynamic", y su descuento es pointsToRedeem multiplicado por currencyPerPoint.
La API responde 201 con el cuerpo vacío en cuanto la solicitud es válida. El canje se procesa unos segundos después, así que la respuesta no incluye el código de descuento, y los rechazos no se comunican. Consulta los endpoints en cola. Para comprobarlo de antemano, compara el saldo del cliente, obtenido con Obtener los datos de un cliente, con el coste de la recompensa.
| Código | Estado | Significado |
|---|---|---|
MAX_ITEMS_PER_REQUEST_EXCEEDED |
400 |
La matriz tiene más de 100 elementos. |
| Errores de validación | 400 |
Falta email, rewardId no es un ID válido o pointsToRedeem no es un número entero de 1 o más. |
Crea una solicitud lista para ejecutar con tus propios valores:
Tus datos
Encuéntralo en Settings > Technical > Program Information.
Crea una en Settings > Technical > API Keys. Se queda en tu navegador.
Detalles de la acción
Abre la recompensa en Loyalty > Ways to redeem para ver su ID.
Para Points as cash, introduce un número entero de puntos igual o superior a 1. Déjalo vacío para una recompensa Fixed reward.
Tu solicitud
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": ""
}
]'Pégalo en una terminal para probar la solicitud con tu programa.