Objetos
Los objetos que devuelve la API, campo por campo, y la diferencia entre un beneficio y un beneficio canjeable.
Esta página es el diccionario de la API: cada objeto que aparece en una respuesta, con todos sus campos. Las páginas de endpoint enlazan acá en lugar de repetir las listas.
Los tres códigos
Antes que nada, esto: la API maneja tres identificadores parecidos y confundirlos es el error más común al integrarse.
| Código | Qué identifica | Dónde se usa |
|---|---|---|
client_code | Un cliente. Es el número que tiene cada persona registrada en Loybox. | Registrar un consumo, consultar un cliente |
benefit_id | Un beneficio del catálogo, el que creó el comercio. | Consultar un beneficio, comprarlo |
client_benefit_code | Un beneficio ya comprado por un cliente concreto. | Consultar el código, canjearlo |
Beneficio y beneficio canjeable no son lo mismo
El comercio crea beneficios, y cada uno tiene un benefit_id. Cuando un
cliente compra uno con sus puntos recibe un beneficio canjeable con su propio
client_benefit_code.
El benefit_id sirve sólo para consultar información. El
client_benefit_code sirve para consultar y para canjear: es el código que
el cliente presenta en el local, o pega en el checkout de la tienda online.
Cliente
Aparece en listar clientes y consultar un cliente.
codeintegerrequeridoEl código del cliente.
usernamestringrequeridoNombre del cliente.
emailstringrequeridoEmail del cliente.
pointsinteger | nullPuntos que tiene en el comercio.
Beneficio
El beneficio del catálogo. Aparece en casi todas las respuestas de Beneficios, Clientes, Mi cuenta y Público.
idstringrequeridoEl benefit_id.
typestringrequeridoQué clase de premio es: percentage_discount, absolute_discount o
free_product.
descriptionstringrequeridoDescripción del beneficio.
costnumberrequeridoCuántos puntos cuesta comprarlo.
expirationdate-time | nullrequeridoHasta cuándo está vigente. null si no vence.
benefit_typestringnormal para los del catálogo; welcome, birthday, monthly_top o
level para las recompensas especiales. Por defecto, normal.
colorstring | nullColor de marca del comercio, en hexadecimal.
buy_limitinteger | nullCantidad total de canjes permitidos para este beneficio. 0 significa sin
límite.
prizePremio | nullEl detalle del premio. Ver Premio.
tiendanube_couponCupón de Tiendanube | nullEl cupón, si el beneficio se aplica en una tienda de Tiendanube. Ver Cupón de Tiendanube.
Beneficio (v2)
GET /v2/benefits/preview/{client_benefit_code}
devuelve una versión con tres campos más, que evitan tener que entrar a prize
para lo básico:
titlestringrequeridoTítulo del beneficio. En la v1 sólo estaba dentro de prize.
valuenumber | nullEl valor del descuento: el porcentaje si es percentage_discount, el monto
si es absolute_discount.
productProducto | nullEl producto, si es free_product. Ver Producto.
El resto de los campos son los mismos que en Beneficio.
Beneficio canjeable
Un beneficio que un cliente ya compró. Aparece en beneficios comprados, mis beneficios y como respuesta de comprar un beneficio.
client_benefit_codeintegerrequeridoEl código de canje. Es lo que el cliente presenta en el comercio, y también el código de cupón en una tienda online.
issue_datedate-timerequeridoCuándo lo compró.
due_datedate-time | nullHasta cuándo puede canjearlo. null si no vence.
usedbooleanSi ya fue canjeado. Por defecto, false.
benefitBeneficiorequeridoEl beneficio comprado. Ver Beneficio.
Premio
El detalle de lo que gana el cliente. Va dentro de prize.
typestringrequeridopercentage_discount, absolute_discount o free_product.
titlestring | nullTítulo del premio.
descriptionstring | nullDescripción del premio.
valuenumber | nullEl porcentaje o el monto del descuento, según el type.
productProducto | nullEl producto de regalo. Ver Producto.
expirationdate-time | nullVencimiento del premio.
imagestring | nullURL de la imagen del premio.
Producto
idinteger | string | nullId del producto en Loybox.
namestring | nullNombre del producto.
external_idstring | nullId del producto en el sistema del comercio.
Comercio
Los datos de marca del programa. Aparece en datos del comercio y dentro de mi cuenta.
idintegerrequeridoEl commerce_id, el mismo que va en el header X-Commerce-Id.
namestringrequeridoNombre del comercio.
logostring | nullURL del logo.
colorstring | nullColor de marca en hexadecimal, para la UI del programa.
category_namestring | nullRubro del comercio, por ejemplo Tienda de comics.
currencystring | nullMoneda del comercio.
Mi cuenta
La respuesta de GET /v1/me.
usernamestring | nullNombre del usuario.
emailstring | nullEmail del usuario.
phonestring | nullTeléfono del usuario.
pointsintegerPuntos del usuario en este comercio. Por defecto, 0.
subscribedbooleanSi el usuario está adherido al programa de este comercio. Por defecto,
false.
commerceComercio | nullDatos del comercio, para pintar la marca del programa. Ver Comercio.
points_expirationVencimiento de puntos | nullPuntos que están por vencer. Ver Vencimiento de puntos.
Vencimiento de puntos
pointsintegerPuntos que están por vencer. Por defecto, 0.
expiration_datedate-time | nullCuándo vencen.
days_leftinteger | nullDías que faltan.
months_leftinteger | nullMeses que faltan.
modestring | nullCómo vencen los puntos en este comercio: none, rolling o accumulated.
none significa que no vencen.
Cuando los puntos no vencen
Si el comercio no hace vencer los puntos, el objeto viene con mode: "none" y
points: 0, no en null. Ver
Vencimiento de puntos para el detalle de los
modos.
Nivel
La respuesta de GET /v1/me/level.
namestring | nullNombre del nivel.
rankinteger | nullPosición del nivel en la escalera.
points_multipliernumber | nullMultiplicador de puntos que da el nivel.
icon_urlstring | nullURL del icono del nivel.
reached_atdate-time | nullCuándo alcanzó el nivel.
expiration_datedate-time | nullCuándo vence el nivel.
is_expiredboolean | nullSi el nivel ya venció.
next_levelPróximo nivel | nullEl nivel siguiente y qué falta para alcanzarlo. Ver Próximo nivel.
total_earned_pointsinteger | nullPuntos ganados en total, el acumulado histórico.
total_spent_amountnumber | nullMonto gastado en total.
total_consumptions_countinteger | nullCantidad de consumos registrados.
Próximo nivel
namestring | nullNombre del próximo nivel.
rankinteger | nullPosición del próximo nivel.
threshold_typestring | nullCon qué se mide el umbral: por puntos acumulados o por monto gastado.
thresholdnumber | nullEl valor del umbral a alcanzar.
Movimiento
Cada item de mi historial.
typestringrequeridoQué pasó: consumption (una compra que sumó puntos), benefit_exchange
(compró un beneficio con puntos), benefit_usage (canjeó un beneficio) o
points_special_reward (una recompensa automática le dio puntos).
datedate-time | nullCuándo pasó.
pointsinteger | nullPuntos que sumó o restó el movimiento.
benefitBeneficio | nullEl beneficio involucrado, en los movimientos de beneficio. Ver Beneficio.
amountnumber | nullMonto de la compra, en los movimientos de tipo consumption.
eventstring | nullEl evento que disparó la recompensa, en los points_special_reward.
additional_notestring | nullNota adicional del movimiento.
Recompensa automática
Cada item de recompensas del programa.
eventstringrequeridoEvento que la dispara: welcome, birthday o monthly_top.
reward_typestringrequeridobenefit si entrega un beneficio, points si entrega puntos.
benefitBeneficio | nullEl beneficio que entrega, cuando reward_type es benefit. Ver
Beneficio.
pointsinteger | nullLos puntos que entrega, cuando reward_type es points.
Sesión
La respuesta de verificar el código.
accessstringrequeridoToken de acceso. Se manda como Authorization: Bearer {access} en los
endpoints de Mi cuenta.
refreshstringrequeridoToken de refresco, para obtener un nuevo access sin volver a pedir un
código.
expires_inintegerrequeridoSegundos de validez del token de acceso.
user_idintegerrequeridoId del usuario.
usernamestring | nullNombre del usuario.
emailstring | nullEmail del usuario.
phonestring | nullTeléfono del usuario.
Cupón de Tiendanube
Va dentro de tiendanube_coupon cuando el beneficio se aplica en una tienda de
Tiendanube.
typestringrequeridopercentage, absolute o shipping.
valuenumberrequeridoEl valor del cupón.
categorystring | nullId de la categoría de Tiendanube a la que aplica el cupón.
category_namestring | nullNombre de esa categoría.
end_datedate-time | nullHasta cuándo vale el cupón.
productProducto de Tiendanube | nullEl producto al que aplica el cupón, si aplica a uno solo. Ver Producto de Tiendanube.
Producto de Tiendanube
tiendanube_idinteger | nullId del producto en Tiendanube.
namestring | nullNombre del producto.
urlstring | nullURL del producto en la tienda.
availableboolean | nullSi hay stock.
publishedboolean | nullSi está publicado en la tienda.
brandstring | nullMarca del producto.
categoriesarray de categoríasCategorías del producto, cada una con id y name. Por defecto, vacío.