Recompensas
Las recompensas separan el catálogo de las asignaciones individuales:- Una recompensa es la definición del beneficio: qué es, cuántas veces se canjea, cuándo expira. Se identifica con un
slugestable. - Un derecho (entitlement) es esa recompensa ya asignada a un pase concreto, con su propio vencimiento y sus canjes restantes.
Esta función debe estar habilitada en tu cuenta. Consultar y administrar el catálogo siempre funciona; asignar y canjear requieren la función activa. Si recibes
403 REWARDS_DISABLED, escríbenos a dev@alaramx.com.El objeto recompensa
string
Identificador estable y legible, por ejemplo
cafe_gratis. Es inmutable.string
Nombre visible del beneficio.
string
gift, discount o custom.string
Descripción del beneficio.
string
active o archived.integer
Versión actual. Cada edición publica una versión nueva; los derechos ya asignados conservan la versión con la que se crearon.
boolean
Si un mismo pase puede recibir la recompensa más de una vez.
integer
Cuántos canjes permite cada derecho asignado.
integer | null
Cuántas veces puede asignarse en total.
null significa sin límite.object
Política de vencimiento.
string
RFC 3339.
string
RFC 3339.
El objeto derecho
string
Identificador (UUID) del derecho.
string
Identificador de la familia de recompensa.
string
Versión concreta de la recompensa asignada.
string
slug de la recompensa.string
Nombre en el momento de la asignación.
string
gift, discount o custom.string
Pase al que pertenece.
string
available, redeemed o expired.integer
Canjes disponibles.
string | null
Cuándo expira, RFC 3339.
string | null
time_elapsed o replaced.string
manual (asignado por API o desde el Dashboard) o automatic (asignado por una regla de activación).string
RFC 3339.
string
RFC 3339.
Crear una recompensa
string
required
Nombre del beneficio. Máximo 200 caracteres.
string
required
gift, discount o custom.string
Identificador estable. Debe cumplir el patrón
minusculas_y_numeros (segmentos alfanuméricos separados por guion bajo), máximo 80 caracteres. Si lo omites, se genera a partir del name.string
Descripción. Máximo 2 000 caracteres.
boolean
Permite que un mismo pase reciba la recompensa más de una vez.
integer
Canjes por derecho asignado. Debe ser al menos
1; enviar 0 equivale a 1.integer
Tope total de asignaciones. Omítelo para que sea ilimitado.
object
required
Política de vencimiento.
201 Created con la recompensa.
Listar el catálogo
boolean
default:"false"
Incluye también las recompensas archivadas.
200 OK con un objeto { "rewards": [ ... ] }. Este listado no está paginado.
Consultar una recompensa
200 OK con la recompensa, o 404 RESOURCE_NOT_FOUND.
Editar una recompensa
slug, que es inmutable.
Devuelve 200 OK con la recompensa y su version incrementada.
Archivar, restaurar y eliminar
204 No Content.
200 OK.
204 No Content.
Asignar una recompensa a un pase
string
required
El
pass_id del pase.string
required
slug de la recompensa a asignar.201 Created con el derecho creado.
Errores
Listar los derechos de un pase
boolean
default:"false"
Por omisión devuelve solo los derechos canjeables. Con
true incluye también los canjeados y expirados.200 OK con un objeto { "entitlements": [ ... ] }.
Canjear un derecho
string
required
El
pass_id del pase.string
required
UUID del derecho.
integer
default:"1"
Cuántos canjes descontar.
string
Dónde se canjeó, por ejemplo la sucursal o la caja.
string
Nota libre sobre el canje.
200 OK con el registro del canje y el derecho actualizado.
Errores
Conteo de derechos
Asignación automática
Para otorgar recompensas sin intervención manual, usa la acciónassign_reward de una regla de activación. Los derechos así creados llegan con assignment_source_type: "automatic".
