Saltearse al contenido

Puntos

Consultar saldo

GET /api/v1/points/customers/:customerId/balance

Ejemplo

Ventana de terminal
curl https://api.novity.com.ar/api/v1/points/customers/cus_abc123/balance \
-H "Authorization: Bearer nv_tu_api_key"

Respuesta

{
"id": "bal_abc",
"balance": 1250,
"customerId": "cus_abc123",
"currencyId": "cur_default"
}

Sumar puntos

POST /api/v1/points/customers/:customerId/add

Cuerpo

CampoTipoDescripción
amountnúmeroObligatorio. Cantidad de puntos a sumar. Debe ser mayor a 0.
categorytextoCategoría del movimiento. Válidas: Purchase, Bonus, Referral, Campaign, Loyalty, Refund, Interest, AdminBonus, Adjustment. Por defecto Bonus.
commenttextoNota interna (máximo 500 caracteres).
loyaltyProgramIdtextoPrograma de fidelidad (si tenés más de uno). Debe pertenecer a tu organización.
expiresAtfechaFecha de expiración de estos puntos (ISO 8601, debe ser futura).

Si el cliente no existe o pertenece a otra organización, la API responde 404 Cliente no encontrado. Cualquier otro campo del cuerpo se ignora.

Ejemplo

Ventana de terminal
curl -X POST https://api.novity.com.ar/api/v1/points/customers/cus_abc123/add \
-H "Authorization: Bearer nv_tu_api_key" \
-H "Content-Type: application/json" \
-d '{
"amount": 100,
"category": "Bonus",
"comment": "Bienvenida"
}'

Descontar puntos

POST /api/v1/points/customers/:customerId/deduct

Cuerpo

Igual que sumar puntos, con dos diferencias: las categorías válidas son Redemption, Fee, Penalty, AdminDeduction, Exchange, Adjustment (por defecto Adjustment) y expiresAt no aplica. Si el cliente no tiene saldo suficiente, la API responde 400 Saldo insuficiente.

Ejemplo

Ventana de terminal
curl -X POST https://api.novity.com.ar/api/v1/points/customers/cus_abc123/deduct \
-H "Authorization: Bearer nv_tu_api_key" \
-H "Content-Type: application/json" \
-d '{
"amount": 50,
"category": "AdminDeduction",
"comment": "Ajuste manual"
}'