Leasyfan API

API de Leasyfan

v2.0.0

La API de Leasyfan te permite integrar el programa de fidelidad digital con tus propios sistemas: punto de venta, ecommerce, CRM o cualquier herramienta interna. Con ella puedes crear clientes y tarjetas, acumular sellos, puntos y visitas, canjear recompensas, enviar notificaciones y administrar automatizaciones.

URL Base

https://api.leasyfan.com

Formato

Todas las peticiones y respuestas usan application/json con codificación UTF-8.

Versión

Todos los endpoints están bajo el prefijo /api/v2.

Autenticación

Todas las peticiones deben incluir tu clave de API en el header X-API-Key. Puedes generar y consultar tu clave desde tu panel de Leasyfan, en la sección de Configuración. Mantén tu clave en secreto: cualquier persona con acceso a ella puede operar sobre tus datos.

Ejemplo con curl
curl -X GET "https://api.leasyfan.com/api/v2/cards" \
  -H "X-API-Key: TU_CLAVE_DE_API" \
  -H "Content-Type: application/json"

Paginación

Los endpoints que devuelven listas aceptan los parámetros de consulta page (número de página, inicia en 1) y itemsPerPage (elementos por página). La respuesta incluye un objeto meta con totalItems, itemsPerPage y currentPage para que puedas recorrer todos los resultados.

Formato de respuestas

Todas las respuestas comparten una misma envoltura: responseId (identificador único de la respuesta), createdAt (fecha y hora), code (código HTTP) y data (el recurso solicitado o el resultado de la acción). En las listas, data es un arreglo y se agrega el objeto meta de paginación.

Estructura general
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": { }
}

Tarjetas

Gestiona las tarjetas de fidelidad de tus clientes: crea, consulta, edita y elimina tarjetas, y ejecuta todas las acciones de acumulación y canje (sellos, puntos, visitas, recompensas, cupones y más). El parámetro id corresponde al número de serie de la tarjeta.

Tipos de tarjeta (notación)

Cada tipo de tarjeta tiene un ID numérico y un valor exacto en inglés dentro de la API. Los métodos de acumulación y canje aplican solo a ciertos tipos; en cada endpoint encontrarás la nota "Aplica a" con los tipos compatibles.

IDValor en la APITarjeta en Leasyfan
0StampSellos
1CashbackCashback
2MultipassSuscripción
3CouponCupón
4DiscountDescuento
5GiftTarjeta de Regalo
6MembershipMembresía
7RewardPuntos

Agregar monto a la tarjeta

POST/api/v2/cards/{id}/add-transaction-amount
Aplica a: Tarjeta Cashback (ID 1).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
amountrequeridointeger> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "amount": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Agregar punto a la tarjeta

POST/api/v2/cards/{id}/add-point
Aplica a: Tarjetas de Descuento, Cashback y Tarjeta de Regalo (IDs 4, 1, 5).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
pointsrequeridonumber (float)> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "points": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Agregar compra a la tarjeta

POST/api/v2/cards/{id}/add-purchase
Aplica a: Tarjeta de Sellos (ID 0) con mecánica de gasto y tarjeta de Puntos (ID 7) con mecánica de gasto.
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
amountrequeridonumber (float)> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "amount": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Agregar recompensa a la tarjeta

POST/api/v2/cards/{id}/add-reward
Aplica a: Tarjeta de Sellos (ID 0).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
rewardsrequeridointeger> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "rewards": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Agregar puntaje a la tarjeta

POST/api/v2/cards/{id}/add-scores
Aplica a: Tarjetas de Puntos con mecánica de tipo Puntos y Suscripción (IDs 7, 2).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
scoresrequeridointeger> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "scores": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Agregar sello a la tarjeta

POST/api/v2/cards/{id}/add-stamp
Aplica a: Tarjeta de Sellos (ID 0).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
stampsrequeridointeger> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "stamps": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Agregar visita a la tarjeta

POST/api/v2/cards/{id}/add-visit
Aplica a: Tarjeta de Suscripción (ID 2), Membresía sin límites (ID 6), Sellos (ID 0) con mecánica de visitas y Puntos (ID 7) con mecánica de visitas.
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
visitsrequeridointeger> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "visits": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Canjear recompensa

POST/api/v2/cards/{id}/receive-reward
Aplica a: Tarjeta de Puntos (ID 7).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
idrequeridonullableinteger> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "id": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Canjear cupón

POST/api/v2/cards/{id}/redeem-coupon
Aplica a: Tarjeta de Cupón (ID 3).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Establecer fecha de vencimiento de la tarjeta

POST/api/v2/cards/{id}/set-expiration-date
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
expiresAtnullablestring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "expiresAt": "string"
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Establecer nivel y período de la tarjeta de membresía

POST/api/v2/cards/{id}/set-membership-tier
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
tierIdrequeridonullableinteger
periodrequeridonullablestringValores: day, week, month, year

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "tierId": 0,
  "period": "day"
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Restar monto de la tarjeta

POST/api/v2/cards/{id}/subtract-transaction-amount
Aplica a: Tarjeta Cashback (ID 1).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
amountrequeridointeger> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "amount": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Restar punto de la tarjeta

POST/api/v2/cards/{id}/subtract-point
Aplica a: Tarjetas de Descuento, Cashback y Tarjeta de Regalo (IDs 4, 1, 5).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
pointsrequeridonumber (float)> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "points": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Restar compra de la tarjeta

POST/api/v2/cards/{id}/subtract-purchase
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
amountrequeridonumber (float)> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "amount": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Restar recompensa de la tarjeta

POST/api/v2/cards/{id}/subtract-reward
Aplica a: Tarjeta de Sellos (ID 0).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
rewardsrequeridointeger> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "rewards": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Restar puntaje de la tarjeta

POST/api/v2/cards/{id}/subtract-scores
Aplica a: Tarjetas de Puntos y Suscripción (IDs 7, 2).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
scoresrequeridointeger> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "scores": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Restar sello de la tarjeta

POST/api/v2/cards/{id}/subtract-stamp
Aplica a: Tarjeta de Sellos (ID 0).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
stampsrequeridointeger> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "stamps": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Restar visita de la tarjeta

POST/api/v2/cards/{id}/subtract-visit
Aplica a: Tarjeta de Suscripción (ID 2) y Membresía con límites (ID 6).
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
visitsrequeridointeger> 0
commentnullablestring
purchaseSumnullablenumber (float)

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "visits": 0,
  "comment": "string",
  "purchaseSum": 0
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Lista de tarjetas

GET/api/v2/cards

Descripción adicional

Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
templateIdqueryintegerFiltrar por templateId
Ejemplo: 123
customerIdquerystring (uuid)Filtrar por customerId
customerEmailquerystringFiltrar por email del cliente
customerPhonequerystringFiltrar por teléfono del cliente
pagequeryintegerPage number
>= 1 · por defecto: 1
itemsPerPagequeryintegerItems per page
>= 1 · <= 1000 · por defecto: 30

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
metaobject
totalItemsinteger
itemsPerPageinteger
currentPageinteger
dataarray de object
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "meta": {
    "totalItems": 250,
    "itemsPerPage": 30,
    "currentPage": 1
  },
  "data": [
    {
      "id": "string",
      "companyId": 0,
      "templateId": 0,
      "customerId": "string",
      "type": "string",
      "device": "string",
      "status": "string",
      "customFields": [
        {
          "id": 0,
          "name": "string",
          "type": "string",
          "order": 0,
          "value": "string",
          "required": true,
          "unique": true
        }
      ],
      "customer": {
        "id": "string",
        "phone": "string",
        "email": "string",
        "gender": 0,
        "dateOfBirth": "2026-01-15",
        "surname": "string",
        "firstName": "string",
        "externalUserId": "string",
        "createdAt": "2026-01-15T10:30:00Z",
        "updatedAt": "2026-01-15T10:30:00Z",
        "segments": [
          {
            "id": 0,
            "type": 0,
            "name": "string"
          }
        ]
      },
      "balance": {
        "currentNumberOfUses": 0,
        "numberStampsTotal": 0,
        "numberRewardsUnused": 0,
        "balance": 0,
        "discountPercentage": 0,
        "discountAmount": 0,
        "bonusBalance": 0,
        "stampsBeforeReward": 0
      },
      "customerSubscription": {
        "id": 0,
        "customerId": "string",
        "cardId": 0,
        "templateId": 0,
        "period": "string",
        "status": 0,
        "membershipTierId": 0,
        "providerId": 0,
        "externalId": "string",
        "balance": 0,
        "createdAt": 0,
        "updatedAt": 0,
        "expiredAt": 0
      },
      "membershipTier": {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "description": "string",
        "dailyParameters": {
          "price": 0,
          "limit": 0,
          "perFilialLimit": 0,
          "active": true,
          "recommended": true
        },
        "weeklyParameters": {
          "price": 0,
          "limit": 0,
          "perFilialLimit": 0,
          "active": true,
          "recommended": true
        },
        "monthlyParameters": {
          "price": 0,
          "limit": 0,
          "perFilialLimit": 0,
          "active": true,
          "recommended": true
        },
        "yearlyParameters": {
          "price": 0,
          "limit": 0,
          "perFilialLimit": 0,
          "active": true,
          "recommended": true
        },
        "benefits": [
          "string"
        ]
      },
      "availableRewardTiers": [
        {
          "id": 0,
          "templateId": 0,
          "name": "string",
          "type": 0,
          "threshold": 0,
          "value": 0,
          "valueLimit": 0,
          "periodValueLimit": 0,
          "usageLimit": 0,
          "limitPeriod": 0,
          "calendarPeriod": true,
          "imageUrl": "string"
        }
      ],
      "installLink": "string",
      "shareLink": "string",
      "qrLink": "string",
      "directInstallLink": {
        "universal": "string",
        "apple": "string",
        "google": "string",
        "pwa": "string"
      },
      "couponRedeemed": true,
      "utmSource": "string",
      "acquisitionParams": [],
      "firstVisitDiscount": "string",
      "countVisits": 0,
      "totalRewardsRedeemed": 0,
      "totalRewardsEarned": 0,
      "totalStampsEarnedByReferral": 0,
      "totalPointsEarnedByReferral": 0,
      "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
      "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
      "lastStampEarnedAt": "2026-01-15T10:30:00Z",
      "expiresAt": "2026-01-15T10:30:00Z",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z"
    }
  ]
}

Crear tarjeta para un cliente

POST/api/v2/cards
Requiere el header X-API-Key con tu clave de API.

Cuerpo de la petición application/json

CampoTipoDescripción
templateIdrequeridointeger> 0
customerIdrequeridostring
customFieldsarray de object
idinteger
valuestring

Respuestas

201Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "templateId": 0,
  "customerId": "string",
  "customFields": [
    {
      "id": 0,
      "value": "string"
    }
  ]
}
Ejemplo de respuesta · 201
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 201,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Obtener tarjeta

GET/api/v2/cards/{id}

Obtiene la información de la tarjeta por su id (número de serie)

Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Eliminar tarjeta

DELETE/api/v2/cards/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idstring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string"
  }
}

Editar tarjeta

PATCH/api/v2/cards/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
customFieldsarray de object
idinteger
valuestring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
typerequeridostring
devicenullablestring
statusnullablestring
customFieldsnullablearray de object
idnullableinteger
namenullablestring
typenullablestring
ordernullableinteger
valuenullablestring
requiredrequeridoboolean
uniquerequeridoboolean
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
balancerequeridoobject
currentNumberOfUsesnullableinteger
numberStampsTotalnullableinteger
numberRewardsUnusednullableinteger
balancenullablenumber (float)
discountPercentagenullablenumber (float)
discountAmountnullableinteger
bonusBalancenullableinteger
stampsBeforeRewardnullableinteger
customerSubscriptionnullableobject
idrequeridointeger
customerIdrequeridostring
cardIdrequeridointeger
templateIdrequeridointeger
periodrequeridostring
statusrequeridointeger
membershipTierIdnullableinteger
providerIdnullableinteger
externalIdnullablestring
balancenullableinteger
createdAtnullableinteger
updatedAtnullableinteger
expiredAtnullableinteger
membershipTiernullableobject
idrequeridointeger
templateIdrequeridointeger
namenullablestring
descriptionnullablestring
dailyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
weeklyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
monthlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
yearlyParametersrequeridoobject
pricerequeridonumber (float)
limitrequeridointeger
perFilialLimitrequeridointeger
activerequeridoboolean
recommendedrequeridoboolean
benefitsrequeridoarray de string
availableRewardTiersrequeridoarray de object
idrequeridointeger
templateIdrequeridointeger
namenullablestring
typerequeridointeger
thresholdnullableinteger
valuenullablenumber (float)
valueLimitnullablenumber (float)
periodValueLimitnullablenumber (float)
usageLimitnullableinteger
limitPeriodrequeridointeger
calendarPeriodrequeridoboolean
imageUrlnullablestring
installLinkrequeridostring
shareLinkrequeridostring
qrLinkrequeridostring
directInstallLinkrequeridoobject
universalrequeridostring
applerequeridostring
googlerequeridostring
pwarequeridostring
couponRedeemednullableboolean
utmSourcenullablestring
acquisitionParamsnullablearray
firstVisitDiscountnullablestring
countVisitsnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsRedeemednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalRewardsEarnednullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalStampsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
totalPointsEarnedByReferralnullableintegerEste campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardRedeemedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastRewardEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
lastStampEarnedAtnullablestring (date-time)Este campo siempre viene vacío cuando se solicita una lista de tarjetas.
expiresAtnullablestring (date-time)
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de petición
{
  "customFields": [
    {
      "id": 0,
      "value": "string"
    }
  ]
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "companyId": 0,
    "templateId": 0,
    "customerId": "string",
    "type": "string",
    "device": "string",
    "status": "string",
    "customFields": [
      {
        "id": 0,
        "name": "string",
        "type": "string",
        "order": 0,
        "value": "string",
        "required": true,
        "unique": true
      }
    ],
    "customer": {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    },
    "balance": {
      "currentNumberOfUses": 0,
      "numberStampsTotal": 0,
      "numberRewardsUnused": 0,
      "balance": 0,
      "discountPercentage": 0,
      "discountAmount": 0,
      "bonusBalance": 0,
      "stampsBeforeReward": 0
    },
    "customerSubscription": {
      "id": 0,
      "customerId": "string",
      "cardId": 0,
      "templateId": 0,
      "period": "string",
      "status": 0,
      "membershipTierId": 0,
      "providerId": 0,
      "externalId": "string",
      "balance": 0,
      "createdAt": 0,
      "updatedAt": 0,
      "expiredAt": 0
    },
    "membershipTier": {
      "id": 0,
      "templateId": 0,
      "name": "string",
      "description": "string",
      "dailyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "weeklyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "monthlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "yearlyParameters": {
        "price": 0,
        "limit": 0,
        "perFilialLimit": 0,
        "active": true,
        "recommended": true
      },
      "benefits": [
        "string"
      ]
    },
    "availableRewardTiers": [
      {
        "id": 0,
        "templateId": 0,
        "name": "string",
        "type": 0,
        "threshold": 0,
        "value": 0,
        "valueLimit": 0,
        "periodValueLimit": 0,
        "usageLimit": 0,
        "limitPeriod": 0,
        "calendarPeriod": true,
        "imageUrl": "string"
      }
    ],
    "installLink": "string",
    "shareLink": "string",
    "qrLink": "string",
    "directInstallLink": {
      "universal": "string",
      "apple": "string",
      "google": "string",
      "pwa": "string"
    },
    "couponRedeemed": true,
    "utmSource": "string",
    "acquisitionParams": [],
    "firstVisitDiscount": "string",
    "countVisits": 0,
    "totalRewardsRedeemed": 0,
    "totalRewardsEarned": 0,
    "totalStampsEarnedByReferral": 0,
    "totalPointsEarnedByReferral": 0,
    "lastRewardRedeemedAt": "2026-01-15T10:30:00Z",
    "lastRewardEarnedAt": "2026-01-15T10:30:00Z",
    "lastStampEarnedAt": "2026-01-15T10:30:00Z",
    "expiresAt": "2026-01-15T10:30:00Z",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z"
  }
}

Canje de recompensas con costo (tarjetas de Sellos)

En el Scanner App, al canjear una recompensa puedes ingresar manualmente su costo. Ese monto se suma al LTV (valor de vida) del cliente.

Puedes lograr el mismo comportamiento a través de la API usando el método Restar recompensa de la tarjeta.

CampoDescripción
rewardsCantidad de recompensas a restar.
commentNota opcional para la transacción.
purchaseSumValor monetario de la recompensa canjeada (se incluye en el LTV).
Importante: la API no obtiene automáticamente el precio predefinido de la recompensa desde la configuración de la tarjeta. Debes indicar el valor manualmente en el campo purchaseSum.

Por el momento, solo la API de Leasyfan permite enviar el valor de la recompensa de esta manera. Las integraciones de terceros (Zapier, Pabbly y similares) no pueden obtener el costo de las recompensas directamente; solo transmiten los datos que tú configures.

Ejemplo
{
  "rewards": 1,
  "comment": "Recompensa canjeada",
  "purchaseSum": 10.5
}

Clientes

Administra la base de clientes de tu negocio: crea, consulta, edita y elimina clientes. Cada cliente puede tener una o más tarjetas asociadas.

Lista de clientes

GET/api/v2/customers
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
phonequerystringFiltrar por teléfono
emailquerystringFiltrar por email
pagequeryintegerPage number
>= 1 · por defecto: 1
itemsPerPagequeryintegerItems per page
>= 1 · <= 1000 · por defecto: 30

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
metaobject
totalItemsinteger
itemsPerPageinteger
currentPageinteger
dataarray de object
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "meta": {
    "totalItems": 250,
    "itemsPerPage": 30,
    "currentPage": 1
  },
  "data": [
    {
      "id": "string",
      "phone": "string",
      "email": "string",
      "gender": 0,
      "dateOfBirth": "2026-01-15",
      "surname": "string",
      "firstName": "string",
      "externalUserId": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "segments": [
        {
          "id": 0,
          "type": 0,
          "name": "string"
        }
      ]
    }
  ]
}

Crear cliente

POST/api/v2/customers
Requiere el header X-API-Key con tu clave de API.

Cuerpo de la petición application/json

CampoTipoDescripción
firstNamerequeridostring
surnamenullablestring
phonenullablestring
emailnullablestring
gendernullableintegerValores: 0, 1, 2
dateOfBirthnullablestring
externalUserIdnullablestring

Respuestas

201Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
Ejemplo de petición
{
  "firstName": "string",
  "surname": "string",
  "phone": "string",
  "email": "string",
  "gender": 0,
  "dateOfBirth": "string",
  "externalUserId": "string"
}
Ejemplo de respuesta · 201
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 201,
  "data": {
    "id": "string",
    "phone": "string",
    "email": "string",
    "gender": 0,
    "dateOfBirth": "2026-01-15",
    "surname": "string",
    "firstName": "string",
    "externalUserId": "string",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z",
    "segments": [
      {
        "id": 0,
        "type": 0,
        "name": "string"
      }
    ]
  }
}

Obtener cliente

GET/api/v2/customers/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "phone": "string",
    "email": "string",
    "gender": 0,
    "dateOfBirth": "2026-01-15",
    "surname": "string",
    "firstName": "string",
    "externalUserId": "string",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z",
    "segments": [
      {
        "id": 0,
        "type": 0,
        "name": "string"
      }
    ]
  }
}

Eliminar cliente

DELETE/api/v2/customers/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idstring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string"
  }
}

Editar cliente

PATCH/api/v2/customers/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
idrequeridostring
firstNamenullablestring
surnamenullablestring
emailnullablestring
gendernullableintegerValores: 0, 1, 2
dateOfBirthnullablestring
externalUserIdnullablestring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
Ejemplo de petición
{
  "id": "string",
  "firstName": "string",
  "surname": "string",
  "email": "string",
  "gender": 0,
  "dateOfBirth": "string",
  "externalUserId": "string"
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "phone": "string",
    "email": "string",
    "gender": 0,
    "dateOfBirth": "2026-01-15",
    "surname": "string",
    "firstName": "string",
    "externalUserId": "string",
    "createdAt": "2026-01-15T10:30:00Z",
    "updatedAt": "2026-01-15T10:30:00Z",
    "segments": [
      {
        "id": 0,
        "type": 0,
        "name": "string"
      }
    ]
  }
}

Ubicaciones

Gestiona las ubicaciones (sucursales o puntos de venta) de tu negocio. Las ubicaciones se usan, por ejemplo, para las notificaciones por geolocalización.

Lista de ubicaciones

GET/api/v2/locations
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
pagequeryintegerPage number
>= 1 · por defecto: 1
itemsPerPagequeryintegerItems per page
>= 1 · <= 1000 · por defecto: 30

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
metaobject
totalItemsinteger
itemsPerPageinteger
currentPageinteger
dataarray de object
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "meta": {
    "totalItems": 250,
    "itemsPerPage": 30,
    "currentPage": 1
  },
  "data": [
    {}
  ]
}

Crear ubicación

POST/api/v2/locations
Requiere el header X-API-Key con tu clave de API.

Cuerpo de la petición application/json

CampoTipoDescripción
namerequeridonullablestringlongitud mínima 3 · longitud máxima 255
addressrequeridonullablestringlongitud mínima 3 · longitud máxima 255
messagerequeridonullablestringlongitud mínima 3 · longitud máxima 255
latituderequeridonullablestring
longituderequeridonullablestring
displaybooleanpor defecto: true
templateIdsarray de integerpor defecto: []

Respuestas

201Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
Ejemplo de petición
{
  "name": "string",
  "address": "string",
  "message": "string",
  "latitude": "string",
  "longitude": "string",
  "display": true,
  "templateIds": [
    0
  ]
}
Ejemplo de respuesta · 201
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 201,
  "data": {}
}

Obtener ubicación

GET/api/v2/locations/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {}
}

Eliminar ubicación

DELETE/api/v2/locations/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idinteger
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": 0
  }
}

Actualizar ubicación

PATCH/api/v2/locations/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
namenullablestringlongitud mínima 3 · longitud máxima 255
addressnullablestringlongitud mínima 3 · longitud máxima 255
messagenullablestringlongitud mínima 3 · longitud máxima 255
latitudenullablestring
longitudenullablestring
displaynullableboolean
templateIdsnullablearray de integer

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
Ejemplo de petición
{
  "name": "string",
  "address": "string",
  "message": "string",
  "latitude": "string",
  "longitude": "string",
  "display": true,
  "templateIds": [
    0
  ]
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {}
}

Operaciones

Consulta el historial de operaciones registradas sobre las tarjetas: acumulaciones, canjes, visitas y demás transacciones.

Lista de operaciones

GET/api/v2/operations

Descripción adicional

Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
templateIdqueryintegerFiltrar por templateId
Ejemplo: 123
customerIdquerystring (uuid)Filtrar por customerId
cardIdquerystringFiltrar por cardId
Ejemplo: "430556-818-972"
startDatequerystring (date)Start date (format Y-m-d)
por defecto: null
endDatequerystring (date)End date (format Y-m-d)
por defecto: null
pagequeryintegerPage number
>= 1 · por defecto: 1
itemsPerPagequeryintegerItems per page
>= 1 · <= 1000 · por defecto: 30

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
metaobject
totalItemsinteger
itemsPerPageinteger
currentPageinteger
dataarray de object
idrequeridointeger
companyIdrequeridointeger
templateIdrequeridointeger
customerIdrequeridostring
customerrequeridoobject
idrequeridostring
phonenullablestring
emailnullablestring
gendernullableinteger
dateOfBirthstring (date)
surnamenullablestring
firstNamenullablestring
externalUserIdnullablestring
createdAtnullablestring (date-time)
updatedAtnullablestring (date-time)
segmentsrequeridoarray de object
idrequeridointeger
typerequeridointeger
namerequeridostring
cardIdrequeridostring
cardDevicenullablestring
eventIdrequeridointeger
eventNamerequeridostring
managerIdnullableinteger
locationIdnullableinteger
amountrequeridonumber (float)
purchaseSumrequeridonumber (float)
balancerequeridointeger
sourcerequeridostring
commentnullablestring
createdAtrequeridostring (date-time)
updatedAtnullablestring (date-time)
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "meta": {
    "totalItems": 250,
    "itemsPerPage": 30,
    "currentPage": 1
  },
  "data": [
    {
      "id": 0,
      "companyId": 0,
      "templateId": 0,
      "customerId": "string",
      "customer": {
        "id": "string",
        "phone": "string",
        "email": "string",
        "gender": 0,
        "dateOfBirth": "2026-01-15",
        "surname": "string",
        "firstName": "string",
        "externalUserId": "string",
        "createdAt": "2026-01-15T10:30:00Z",
        "updatedAt": "2026-01-15T10:30:00Z",
        "segments": [
          {
            "id": 0,
            "type": 0,
            "name": "string"
          }
        ]
      },
      "cardId": "string",
      "cardDevice": "string",
      "eventId": 0,
      "eventName": "string",
      "managerId": 0,
      "locationId": 0,
      "amount": 0,
      "purchaseSum": 0,
      "balance": 0,
      "source": "string",
      "comment": "string",
      "createdAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z"
    }
  ]
}

Promociones

Crea y administra promociones vinculadas a tus plantillas de tarjeta, con campos personalizados y notificaciones push programadas al inicio y al final de cada promoción.

Lista de promociones

GET/api/v2/promotions
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
templateIdqueryintegerFiltrar por ID de plantilla
activequerybooleanFiltrar por estado activo
pagequeryintegerPage number
>= 1 · por defecto: 1
itemsPerPagequeryintegerItems per page
>= 1 · <= 1000 · por defecto: 30

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
metaobject
totalItemsinteger
itemsPerPageinteger
currentPageinteger
dataarray de object
customFieldsarray de objectArreglo de objetos de campos personalizados: { name: string, value: string, type: string }. type es uno de: string, title, startDate, endDate, remainingUsages.
namestring
valuestring
typestring
templatesarray de integerIDs de las plantillas a las que está vinculada la promoción.
pushesobjectConfiguración de push programados. Objeto con claves opcionales "start" y "end". Cada una: { enabled: bool, plannedDate: string (ISO 8601), text: string }.
startobject
enabledboolean
plannedDatestring
textstring
endobject
enabledboolean
plannedDatestring
textstring
idrequeridointeger
namerequeridostring
backgroundnullablestring
descriptionnullablestring
startDatenullablestring
endDatenullablestring
activerequeridoboolean
maxUsagesnullableinteger
maxGlobalRedemptionsrequeridointeger
currentGlobalRedemptionsrequeridointeger
currentRevenuenullablestring
createdAtrequeridostring
updatedAtnullablestring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "meta": {
    "totalItems": 250,
    "itemsPerPage": 30,
    "currentPage": 1
  },
  "data": [
    {
      "customFields": [
        {
          "name": "string",
          "value": "string",
          "type": "string"
        }
      ],
      "templates": [],
      "pushes": {
        "start": {
          "enabled": true,
          "plannedDate": "string",
          "text": "string"
        },
        "end": {
          "enabled": true,
          "plannedDate": "string",
          "text": "string"
        }
      },
      "id": 0,
      "name": "string",
      "background": "string",
      "description": "string",
      "startDate": "string",
      "endDate": "string",
      "active": true,
      "maxUsages": 0,
      "maxGlobalRedemptions": 0,
      "currentGlobalRedemptions": 0,
      "currentRevenue": "string",
      "createdAt": "string",
      "updatedAt": "string"
    }
  ]
}

Crear promoción

POST/api/v2/promotions
Requiere el header X-API-Key con tu clave de API.

Cuerpo de la petición application/json

CampoTipoDescripción
customFieldsarray de objectOpcional. Hasta 3 campos personalizados que se muestran en la tarjeta de la promoción. Cada elemento: name (requerido), value (opcional), type (opcional, uno de: string, title, startDate, endDate, remainingUsages).
máximo 3 elementos
namestringEtiqueta del campo
valuestringValor estático (para type string/title) o dejar vacío para los tipos de llenado automático (startDate, endDate, remainingUsages)
typestringUno de: string, title, startDate, endDate, remainingUsages
Valores: string, title, startDate, endDate, remainingUsages
templatesarray de integerOpcional. Arreglo de IDs de plantillas existentes a las que se vinculará la promoción. Usa un arreglo vacío si no aplica.
pushesobjectOpcional. Programa notificaciones push al inicio y/o al final de la promoción. Objeto con claves opcionales "start" y "end"; cada una tiene enabled (bool), plannedDate (fecha y hora ISO 8601 en que se enviará) y text (mensaje de la notificación).
startobjectPush cuando inicia la promoción
enabledboolean
plannedDatestringFecha y hora en formato ISO 8601
textstringTexto del mensaje push
endobjectPush cuando termina la promoción
enabledboolean
plannedDatestring
textstring
namerequeridonullablestring
descriptionnullablestring
startDaterequeridonullablestring
endDaterequeridonullablestring
activenullableboolean
maxUsagesnullableinteger>= 0
maxGlobalRedemptionsnullableinteger>= 0
backgroundImageBase64requeridonullablestring

Respuestas

201Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
customFieldsarray de objectArreglo de objetos de campos personalizados: { name: string, value: string, type: string }. type es uno de: string, title, startDate, endDate, remainingUsages.
namestring
valuestring
typestring
templatesarray de integerIDs de las plantillas a las que está vinculada la promoción.
pushesobjectConfiguración de push programados. Objeto con claves opcionales "start" y "end". Cada una: { enabled: bool, plannedDate: string (ISO 8601), text: string }.
startobject
enabledboolean
plannedDatestring
textstring
endobject
enabledboolean
plannedDatestring
textstring
idrequeridointeger
namerequeridostring
backgroundnullablestring
descriptionnullablestring
startDatenullablestring
endDatenullablestring
activerequeridoboolean
maxUsagesnullableinteger
maxGlobalRedemptionsrequeridointeger
currentGlobalRedemptionsrequeridointeger
currentRevenuenullablestring
createdAtrequeridostring
updatedAtnullablestring
Ejemplo de petición
{
  "customFields": [
    {
      "name": "Valid until",
      "value": "",
      "type": "endDate"
    },
    {
      "name": "Uses left",
      "value": "",
      "type": "remainingUsages"
    }
  ],
  "templates": [],
  "pushes": {
    "start": {
      "enabled": true,
      "plannedDate": "2025-03-01T10:00:00+00:00",
      "text": "Your promotion has started!"
    },
    "end": {
      "enabled": true,
      "plannedDate": "2025-03-31T23:59:59+00:00",
      "text": "Last day of the promotion!"
    }
  },
  "name": "string",
  "description": "string",
  "startDate": "string",
  "endDate": "string",
  "active": true,
  "maxUsages": 0,
  "maxGlobalRedemptions": 0,
  "backgroundImageBase64": "string"
}
Ejemplo de respuesta · 201
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 201,
  "data": {
    "customFields": [
      {
        "name": "string",
        "value": "string",
        "type": "string"
      }
    ],
    "templates": [],
    "pushes": {
      "start": {
        "enabled": true,
        "plannedDate": "string",
        "text": "string"
      },
      "end": {
        "enabled": true,
        "plannedDate": "string",
        "text": "string"
      }
    },
    "id": 0,
    "name": "string",
    "background": "string",
    "description": "string",
    "startDate": "string",
    "endDate": "string",
    "active": true,
    "maxUsages": 0,
    "maxGlobalRedemptions": 0,
    "currentGlobalRedemptions": 0,
    "currentRevenue": "string",
    "createdAt": "string",
    "updatedAt": "string"
  }
}

Obtener promoción por ID

GET/api/v2/promotions/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
customFieldsarray de objectArreglo de objetos de campos personalizados: { name: string, value: string, type: string }. type es uno de: string, title, startDate, endDate, remainingUsages.
namestring
valuestring
typestring
templatesarray de integerIDs de las plantillas a las que está vinculada la promoción.
pushesobjectConfiguración de push programados. Objeto con claves opcionales "start" y "end". Cada una: { enabled: bool, plannedDate: string (ISO 8601), text: string }.
startobject
enabledboolean
plannedDatestring
textstring
endobject
enabledboolean
plannedDatestring
textstring
idrequeridointeger
namerequeridostring
backgroundnullablestring
descriptionnullablestring
startDatenullablestring
endDatenullablestring
activerequeridoboolean
maxUsagesnullableinteger
maxGlobalRedemptionsrequeridointeger
currentGlobalRedemptionsrequeridointeger
currentRevenuenullablestring
createdAtrequeridostring
updatedAtnullablestring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "customFields": [
      {
        "name": "string",
        "value": "string",
        "type": "string"
      }
    ],
    "templates": [],
    "pushes": {
      "start": {
        "enabled": true,
        "plannedDate": "string",
        "text": "string"
      },
      "end": {
        "enabled": true,
        "plannedDate": "string",
        "text": "string"
      }
    },
    "id": 0,
    "name": "string",
    "background": "string",
    "description": "string",
    "startDate": "string",
    "endDate": "string",
    "active": true,
    "maxUsages": 0,
    "maxGlobalRedemptions": 0,
    "currentGlobalRedemptions": 0,
    "currentRevenue": "string",
    "createdAt": "string",
    "updatedAt": "string"
  }
}

Eliminar promoción

DELETE/api/v2/promotions/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idinteger
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": 0
  }
}

Editar promoción (actualización parcial)

PATCH/api/v2/promotions/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

Todos los campos son opcionales. Solo se actualizan los campos enviados.

CampoTipoDescripción
customFieldsarray de objectHasta 3 campos personalizados en la tarjeta de la promoción. Cada elemento: name (requerido), value (opcional), type (opcional). Type es uno de: string, title, startDate, endDate, remainingUsages.
máximo 3 elementos
namestring
valuestring
typestringValores: string, title, startDate, endDate, remainingUsages
templatesarray de integerOpcional. Arreglo de IDs de plantillas existentes a las que se vinculará la promoción. Usa un arreglo vacío si no aplica.
pushesobjectNotificaciones push al inicio o fin de la promoción. Claves opcionales: start, end. Cada una: enabled (bool), plannedDate (ISO 8601), text (mensaje).
startobject
enabledboolean
plannedDatestring
textstring
endobject
enabledboolean
plannedDatestring
textstring
namenullablestring
descriptionnullablestring
startDatenullablestring
endDatenullablestring
activenullableboolean
maxUsagesnullableinteger>= 0
maxGlobalRedemptionsnullableinteger>= 0
backgroundImageBase64nullablestring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
customFieldsarray de objectArreglo de objetos de campos personalizados: { name: string, value: string, type: string }. type es uno de: string, title, startDate, endDate, remainingUsages.
namestring
valuestring
typestring
templatesarray de integerIDs de las plantillas a las que está vinculada la promoción.
pushesobjectConfiguración de push programados. Objeto con claves opcionales "start" y "end". Cada una: { enabled: bool, plannedDate: string (ISO 8601), text: string }.
startobject
enabledboolean
plannedDatestring
textstring
endobject
enabledboolean
plannedDatestring
textstring
idrequeridointeger
namerequeridostring
backgroundnullablestring
descriptionnullablestring
startDatenullablestring
endDatenullablestring
activerequeridoboolean
maxUsagesnullableinteger
maxGlobalRedemptionsrequeridointeger
currentGlobalRedemptionsrequeridointeger
currentRevenuenullablestring
createdAtrequeridostring
updatedAtnullablestring
Ejemplo de petición
{
  "customFields": [
    {
      "name": "string",
      "value": "string",
      "type": "string"
    }
  ],
  "templates": [],
  "pushes": {
    "start": {
      "enabled": true,
      "plannedDate": "string",
      "text": "string"
    },
    "end": {
      "enabled": true,
      "plannedDate": "string",
      "text": "string"
    }
  },
  "name": "string",
  "description": "string",
  "startDate": "string",
  "endDate": "string",
  "active": true,
  "maxUsages": 0,
  "maxGlobalRedemptions": 0,
  "backgroundImageBase64": "string"
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "customFields": [
      {
        "name": "string",
        "value": "string",
        "type": "string"
      }
    ],
    "templates": [],
    "pushes": {
      "start": {
        "enabled": true,
        "plannedDate": "string",
        "text": "string"
      },
      "end": {
        "enabled": true,
        "plannedDate": "string",
        "text": "string"
      }
    },
    "id": 0,
    "name": "string",
    "background": "string",
    "description": "string",
    "startDate": "string",
    "endDate": "string",
    "active": true,
    "maxUsages": 0,
    "maxGlobalRedemptions": 0,
    "currentGlobalRedemptions": 0,
    "currentRevenue": "string",
    "createdAt": "string",
    "updatedAt": "string"
  }
}

Notificaciones Push

Envía mensajes push a las tarjetas instaladas de tus clientes y consulta el historial de envíos.

Lista de mensajes push

GET/api/v2/pushes
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
templateIdqueryintegerFiltrar por templateId
Ejemplo: 123
cardIdquerystringFiltrar por cardId
Ejemplo: "430556-818-972"
startDatequerystring (date)Start date (format Y-m-d)
por defecto: null
endDatequerystring (date)End date (format Y-m-d)
por defecto: null
pagequeryintegerPage number
>= 1 · por defecto: 1
itemsPerPagequeryintegerItems per page
>= 1 · <= 1000 · por defecto: 30

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
metaobject
totalItemsinteger
itemsPerPageinteger
currentPageinteger
dataarray de object
idrequeridostring
templateIdrequeridointeger
cardIdnullablestring
messagerequeridostring
statusrequeridostring
typerequeridostring
sentAmountrequeridointeger
deliveredAmountrequeridointeger
createdAtrequeridostring (date-time)
scheduledAtrequeridostring (date-time)
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "meta": {
    "totalItems": 250,
    "itemsPerPage": 30,
    "currentPage": 1
  },
  "data": [
    {
      "id": "string",
      "templateId": 0,
      "cardId": "string",
      "message": "string",
      "status": "string",
      "type": "string",
      "sentAmount": 0,
      "deliveredAmount": 0,
      "createdAt": "2026-01-15T10:30:00Z",
      "scheduledAt": "2026-01-15T10:30:00Z"
    }
  ]
}

Enviar push

POST/api/v2/pushes
Requiere el header X-API-Key con tu clave de API.

Cuerpo de la petición application/json

CampoTipoDescripción
messagerequeridostringpor defecto: ""
templateIdrequeridointeger> 0
cardIdnullablestring
scheduledAtnullablestring (date-time)

Respuestas

201Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
templateIdrequeridointeger
cardIdnullablestring
messagerequeridostring
statusrequeridostring
typerequeridostring
sentAmountrequeridointeger
deliveredAmountrequeridointeger
createdAtrequeridostring (date-time)
scheduledAtrequeridostring (date-time)
Ejemplo de petición
{
  "message": "string",
  "templateId": 0,
  "cardId": "string",
  "scheduledAt": "2026-01-15T10:30:00Z"
}
Ejemplo de respuesta · 201
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 201,
  "data": {
    "id": "string",
    "templateId": 0,
    "cardId": "string",
    "message": "string",
    "status": "string",
    "type": "string",
    "sentAmount": 0,
    "deliveredAmount": 0,
    "createdAt": "2026-01-15T10:30:00Z",
    "scheduledAt": "2026-01-15T10:30:00Z"
  }
}

Obtener push

GET/api/v2/pushes/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
templateIdrequeridointeger
cardIdnullablestring
messagerequeridostring
statusrequeridostring
typerequeridostring
sentAmountrequeridointeger
deliveredAmountrequeridointeger
createdAtrequeridostring (date-time)
scheduledAtrequeridostring (date-time)
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string",
    "templateId": 0,
    "cardId": "string",
    "message": "string",
    "status": "string",
    "type": "string",
    "sentAmount": 0,
    "deliveredAmount": 0,
    "createdAt": "2026-01-15T10:30:00Z",
    "scheduledAt": "2026-01-15T10:30:00Z"
  }
}

SMS

Envía mensajes SMS a tus clientes.

Enviar SMS a un cliente

POST/api/v2/sms
Requiere el header X-API-Key con tu clave de API.

Cuerpo de la petición application/json

CampoTipoDescripción
messagerequeridostringpor defecto: ""
customerIdrequeridostring

Respuestas

201Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idrequeridostring
Ejemplo de petición
{
  "message": "string",
  "customerId": "string"
}
Ejemplo de respuesta · 201
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 201,
  "data": {
    "id": "string"
  }
}

Estadísticas

Consulta estadísticas de ingresos de tu negocio y estadísticas por recompensa o por enlace UTM de una plantilla.

Estadísticas de ingresos

GET/api/v2/statistics/revenue
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
companyIdqueryintegerFiltrar por companyId
Ejemplo: 123
templateIdqueryintegerFiltrar por templateId
Ejemplo: 123
startDatequerystring (date)Start date (format Y-m-d)
por defecto: null
endDatequerystring (date)End date (format Y-m-d)
por defecto: null

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
totalCostrequeridonumber (float)
revenueTotalrequeridonumber (float)
revenueByDayrequeridoarray de object
daterequeridostring
valuerequeridonumber (float)
roirequeridonumber (float)
roiByDayrequeridoarray de object
daterequeridostring
valuerequeridonumber (float)
ltvrequeridonumber (float)
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "totalCost": 0,
    "revenueTotal": 0,
    "revenueByDay": [
      {
        "date": "string",
        "value": 0
      }
    ],
    "roi": 0,
    "roiByDay": [
      {
        "date": "string",
        "value": 0
      }
    ],
    "ltv": 0
  }
}

Estadísticas por recompensa de una plantilla

GET/api/v2/templates/{templateId}/statistics/rewards
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
startDatequerystring (date)Start date (format Y-m-d)
por defecto: null
endDatequerystring (date)End date (format Y-m-d)
por defecto: null
templateIdrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataarray de object
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": [
    {}
  ]
}

Estadísticas por UTM de una plantilla

GET/api/v2/templates/{templateId}/statistics/utm
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
startDatequerystring (date)Start date (format Y-m-d)
por defecto: null
endDatequerystring (date)End date (format Y-m-d)
por defecto: null
templateIdrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataarray de object
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": [
    {}
  ]
}

Automatizaciones

Crea y administra automatizaciones (workflows): flujos que se disparan con un evento (trigger), evalúan condiciones y ejecutan acciones como enviar mensajes, aplicar bonificaciones o esperar un tiempo determinado. Consulta los catálogos de disparadores, acciones y filtros disponibles, y revisa los registros de ejecución.

Activar automatización

POST/api/v2/workflows/{id}/activate
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idstring (uuid)
namestring
statusstringUno de: draft, active, paused, needs_configuration, deleted
definitionnullableobject
startTransitionRefIdnullablestring
eventnullableobject
triggerstring
parametersobject
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
transitionsarray de object
refIdstringIdentificador estable dentro de la respuesta. Devuelve el refId enviado para transiciones guardadas vía la API v2; para definiciones creadas por otras vías (endpoints legacy v1) el almacenamiento guarda un id numérico y la salida emite un slug sintético "step-N". Los refs son estables dentro de una misma respuesta, pero no se garantiza que coincidan con slugs antiguos entre sistemas.
actionstring
parametersobjectObjeto plano con los parámetros de la acción. Para action="delay", parameters.delayMinutes contiene el retraso configurado.
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
nextnullablestring
trueNextnullablestring
falseNextnullablestring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "string",
    "status": "string",
    "definition": {
      "startTransitionRefId": "string",
      "event": {
        "trigger": "string",
        "parameters": {},
        "conditions": [
          [
            {
              "filterName": "string",
              "operator": "string",
              "value": "string",
              "startValue": "string",
              "endValue": "string"
            }
          ]
        ]
      },
      "transitions": [
        {
          "refId": "string",
          "action": "string",
          "parameters": {},
          "conditions": [
            [
              {
                "filterName": "string",
                "operator": "string",
                "value": "string",
                "startValue": "string",
                "endValue": "string"
              }
            ]
          ],
          "next": "string",
          "trueNext": "string",
          "falseNext": "string"
        }
      ]
    }
  }
}

Lista de automatizaciones

GET/api/v2/workflows
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
statusquerystringFiltrar por estado de la automatización
Valores: draft, active, paused, needs_configuration, deleted
pagequeryintegerPage number
>= 1 · por defecto: 1
itemsPerPagequeryintegerItems per page
>= 1 · <= 1000 · por defecto: 30

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
metaobject
totalItemsinteger
itemsPerPageinteger
currentPageinteger
dataarray de object
idstring (uuid)
namestring
statusstringUno de: draft, active, paused, needs_configuration, deleted
definitionnullableobject
startTransitionRefIdnullablestring
eventnullableobject
triggerstring
parametersobject
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
transitionsarray de object
refIdstringIdentificador estable dentro de la respuesta. Devuelve el refId enviado para transiciones guardadas vía la API v2; para definiciones creadas por otras vías (endpoints legacy v1) el almacenamiento guarda un id numérico y la salida emite un slug sintético "step-N". Los refs son estables dentro de una misma respuesta, pero no se garantiza que coincidan con slugs antiguos entre sistemas.
actionstring
parametersobjectObjeto plano con los parámetros de la acción. Para action="delay", parameters.delayMinutes contiene el retraso configurado.
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
nextnullablestring
trueNextnullablestring
falseNextnullablestring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "meta": {
    "totalItems": 250,
    "itemsPerPage": 30,
    "currentPage": 1
  },
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "string",
      "status": "string",
      "definition": {
        "startTransitionRefId": "string",
        "event": {
          "trigger": "string",
          "parameters": {},
          "conditions": [
            [
              {
                "filterName": "string",
                "operator": "string",
                "value": "string",
                "startValue": "string",
                "endValue": "string"
              }
            ]
          ]
        },
        "transitions": [
          {
            "refId": "string",
            "action": "string",
            "parameters": {},
            "conditions": [
              [
                {
                  "filterName": null,
                  "operator": null,
                  "value": null,
                  "startValue": null,
                  "endValue": null
                }
              ]
            ],
            "next": "string",
            "trueNext": "string",
            "falseNext": "string"
          }
        ]
      }
    }
  ]
}

Crear automatización

POST/api/v2/workflows
Requiere el header X-API-Key con tu clave de API.

Cuerpo de la petición application/json

CampoTipoDescripción
namerequeridostring
definitionnullableobjectGrafo declarativo completo de una automatización: qué evento la inicia, qué transiciones existen y cuál es el punto de entrada. Todas las referencias cruzadas entre transiciones se hacen por refId.
startTransitionRefIdrequeridostringrefId de la transición que se ejecuta primero.
eventrequeridoobjectDefinición del evento de la automatización: qué disparador la activa y (opcionalmente) qué condiciones deben cumplirse al inicio.
triggerrequeridostringIdentificador del disparador. Consulta GET /api/v2/workflows/triggers para ver la lista completa y los parámetros requeridos.
Valores: customerCreated, customerDeleted, customerBirthday, cardInstalled, cardExpired, cardDeleted, cardIssued, cardScanned, couponRedeemed, feedbackCreated, stampsAmountReached, bonusesAmountReached, rewardsAmountReached, rewardsUsedAmountReached, becomeRfmSegment, inboundWebhook, expiringStamps, expiringBonuses, manual, scheduledTime
parametersobjectObjeto plano con los parámetros del disparador (por ejemplo templateId, threshold, rfmSegmentName, expirationOffsetValue). Consulta GET /api/v2/workflows/triggers para conocer los parámetros requeridos de cada disparador.
conditionsarray de array de objectOpcional. Condiciones adicionales que se evalúan sobre el cliente o la tarjeta justo después de que se activa el disparador. El arreglo exterior es un OR de grupos y cada grupo es un AND de bloques de filtro.
filterNamerequeridostring
operatorrequeridostring
valuenullablestringValor para operadores como eq, neq, gt, gte, lt, lte, like, in.
startValuenullablestringInicio del rango para el operador between.
endValuenullablestringFin del rango para el operador between.
transitionsarray de object
refIdrequeridostring
actionrequeridostringIdentificador de la acción. Consulta GET /api/v2/workflows/actions para ver la lista completa y los parámetros requeridos.
Valores: delay, condition, sendEmail, sendSms, sendPush, accrual, withdraw, sendHttpRequest, sendMetaAdsConversion, changeCardExpiration
parametersobjectObjeto plano con los parámetros de la acción. Consulta GET /api/v2/workflows/actions para conocer los parámetros requeridos de cada acción. Para action="delay" envía parameters.delayMinutes (entero >= 1).
conditionsnullablearray de array de objectRequerido cuando action="condition". El arreglo exterior es un OR de grupos y cada grupo es un AND de bloques de filtro.
filterNamerequeridostring
operatorrequeridostring
valuenullablestringValor para operadores como eq, neq, gt, gte, lt, lte, like, in.
startValuenullablestringInicio del rango para el operador between.
endValuenullablestringFin del rango para el operador between.
nextnullablestringrefId de la siguiente transición. Permitido para cualquier acción excepto "condition".
trueNextnullablestringrefId que se toma cuando la condición evalúa a true. Permitido solo cuando action="condition".
falseNextnullablestringrefId que se toma cuando la condición evalúa a false. Permitido solo cuando action="condition".
activatebooleanpor defecto: false

Respuestas

201Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idstring (uuid)
namestring
statusstringUno de: draft, active, paused, needs_configuration, deleted
definitionnullableobject
startTransitionRefIdnullablestring
eventnullableobject
triggerstring
parametersobject
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
transitionsarray de object
refIdstringIdentificador estable dentro de la respuesta. Devuelve el refId enviado para transiciones guardadas vía la API v2; para definiciones creadas por otras vías (endpoints legacy v1) el almacenamiento guarda un id numérico y la salida emite un slug sintético "step-N". Los refs son estables dentro de una misma respuesta, pero no se garantiza que coincidan con slugs antiguos entre sistemas.
actionstring
parametersobjectObjeto plano con los parámetros de la acción. Para action="delay", parameters.delayMinutes contiene el retraso configurado.
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
nextnullablestring
trueNextnullablestring
falseNextnullablestring
Ejemplo de petición
{
  "name": "string",
  "definition": {
    "startTransitionRefId": "welcome-sms",
    "event": {
      "trigger": "customerCreated",
      "parameters": {
        "templateId": 123
      },
      "conditions": [
        [
          {
            "filterName": "CardStatus",
            "operator": "eq",
            "value": "active",
            "startValue": "2024-01-01",
            "endValue": "2024-12-31"
          }
        ]
      ]
    },
    "transitions": [
      {
        "refId": "welcome-sms",
        "action": "delay",
        "parameters": {},
        "conditions": [
          [
            {
              "filterName": "CardStatus",
              "operator": "eq",
              "value": "active",
              "startValue": "2024-01-01",
              "endValue": "2024-12-31"
            }
          ]
        ],
        "next": "string",
        "trueNext": "string",
        "falseNext": "string"
      }
    ]
  },
  "activate": true
}
Ejemplo de respuesta · 201
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 201,
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "string",
    "status": "string",
    "definition": {
      "startTransitionRefId": "string",
      "event": {
        "trigger": "string",
        "parameters": {},
        "conditions": [
          [
            {
              "filterName": "string",
              "operator": "string",
              "value": "string",
              "startValue": "string",
              "endValue": "string"
            }
          ]
        ]
      },
      "transitions": [
        {
          "refId": "string",
          "action": "string",
          "parameters": {},
          "conditions": [
            [
              {
                "filterName": "string",
                "operator": "string",
                "value": "string",
                "startValue": "string",
                "endValue": "string"
              }
            ]
          ],
          "next": "string",
          "trueNext": "string",
          "falseNext": "string"
        }
      ]
    }
  }
}

Obtener automatización

GET/api/v2/workflows/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idstring (uuid)
namestring
statusstringUno de: draft, active, paused, needs_configuration, deleted
definitionnullableobject
startTransitionRefIdnullablestring
eventnullableobject
triggerstring
parametersobject
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
transitionsarray de object
refIdstringIdentificador estable dentro de la respuesta. Devuelve el refId enviado para transiciones guardadas vía la API v2; para definiciones creadas por otras vías (endpoints legacy v1) el almacenamiento guarda un id numérico y la salida emite un slug sintético "step-N". Los refs son estables dentro de una misma respuesta, pero no se garantiza que coincidan con slugs antiguos entre sistemas.
actionstring
parametersobjectObjeto plano con los parámetros de la acción. Para action="delay", parameters.delayMinutes contiene el retraso configurado.
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
nextnullablestring
trueNextnullablestring
falseNextnullablestring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "string",
    "status": "string",
    "definition": {
      "startTransitionRefId": "string",
      "event": {
        "trigger": "string",
        "parameters": {},
        "conditions": [
          [
            {
              "filterName": "string",
              "operator": "string",
              "value": "string",
              "startValue": "string",
              "endValue": "string"
            }
          ]
        ]
      },
      "transitions": [
        {
          "refId": "string",
          "action": "string",
          "parameters": {},
          "conditions": [
            [
              {
                "filterName": "string",
                "operator": "string",
                "value": "string",
                "startValue": "string",
                "endValue": "string"
              }
            ]
          ],
          "next": "string",
          "trueNext": "string",
          "falseNext": "string"
        }
      ]
    }
  }
}

Actualizar automatización

PUT/api/v2/workflows/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Cuerpo de la petición application/json

CampoTipoDescripción
namenullablestring
definitionnullableobjectGrafo declarativo completo de una automatización: qué evento la inicia, qué transiciones existen y cuál es el punto de entrada. Todas las referencias cruzadas entre transiciones se hacen por refId.
startTransitionRefIdrequeridostringrefId de la transición que se ejecuta primero.
eventrequeridoobjectDefinición del evento de la automatización: qué disparador la activa y (opcionalmente) qué condiciones deben cumplirse al inicio.
triggerrequeridostringIdentificador del disparador. Consulta GET /api/v2/workflows/triggers para ver la lista completa y los parámetros requeridos.
Valores: customerCreated, customerDeleted, customerBirthday, cardInstalled, cardExpired, cardDeleted, cardIssued, cardScanned, couponRedeemed, feedbackCreated, stampsAmountReached, bonusesAmountReached, rewardsAmountReached, rewardsUsedAmountReached, becomeRfmSegment, inboundWebhook, expiringStamps, expiringBonuses, manual, scheduledTime
parametersobjectObjeto plano con los parámetros del disparador (por ejemplo templateId, threshold, rfmSegmentName, expirationOffsetValue). Consulta GET /api/v2/workflows/triggers para conocer los parámetros requeridos de cada disparador.
conditionsarray de array de objectOpcional. Condiciones adicionales que se evalúan sobre el cliente o la tarjeta justo después de que se activa el disparador. El arreglo exterior es un OR de grupos y cada grupo es un AND de bloques de filtro.
filterNamerequeridostring
operatorrequeridostring
valuenullablestringValor para operadores como eq, neq, gt, gte, lt, lte, like, in.
startValuenullablestringInicio del rango para el operador between.
endValuenullablestringFin del rango para el operador between.
transitionsarray de object
refIdrequeridostring
actionrequeridostringIdentificador de la acción. Consulta GET /api/v2/workflows/actions para ver la lista completa y los parámetros requeridos.
Valores: delay, condition, sendEmail, sendSms, sendPush, accrual, withdraw, sendHttpRequest, sendMetaAdsConversion, changeCardExpiration
parametersobjectObjeto plano con los parámetros de la acción. Consulta GET /api/v2/workflows/actions para conocer los parámetros requeridos de cada acción. Para action="delay" envía parameters.delayMinutes (entero >= 1).
conditionsnullablearray de array de objectRequerido cuando action="condition". El arreglo exterior es un OR de grupos y cada grupo es un AND de bloques de filtro.
filterNamerequeridostring
operatorrequeridostring
valuenullablestringValor para operadores como eq, neq, gt, gte, lt, lte, like, in.
startValuenullablestringInicio del rango para el operador between.
endValuenullablestringFin del rango para el operador between.
nextnullablestringrefId de la siguiente transición. Permitido para cualquier acción excepto "condition".
trueNextnullablestringrefId que se toma cuando la condición evalúa a true. Permitido solo cuando action="condition".
falseNextnullablestringrefId que se toma cuando la condición evalúa a false. Permitido solo cuando action="condition".
activatebooleanpor defecto: false

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idstring (uuid)
namestring
statusstringUno de: draft, active, paused, needs_configuration, deleted
definitionnullableobject
startTransitionRefIdnullablestring
eventnullableobject
triggerstring
parametersobject
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
transitionsarray de object
refIdstringIdentificador estable dentro de la respuesta. Devuelve el refId enviado para transiciones guardadas vía la API v2; para definiciones creadas por otras vías (endpoints legacy v1) el almacenamiento guarda un id numérico y la salida emite un slug sintético "step-N". Los refs son estables dentro de una misma respuesta, pero no se garantiza que coincidan con slugs antiguos entre sistemas.
actionstring
parametersobjectObjeto plano con los parámetros de la acción. Para action="delay", parameters.delayMinutes contiene el retraso configurado.
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
nextnullablestring
trueNextnullablestring
falseNextnullablestring
Ejemplo de petición
{
  "name": "string",
  "definition": {
    "startTransitionRefId": "welcome-sms",
    "event": {
      "trigger": "customerCreated",
      "parameters": {
        "templateId": 123
      },
      "conditions": [
        [
          {
            "filterName": "CardStatus",
            "operator": "eq",
            "value": "active",
            "startValue": "2024-01-01",
            "endValue": "2024-12-31"
          }
        ]
      ]
    },
    "transitions": [
      {
        "refId": "welcome-sms",
        "action": "delay",
        "parameters": {},
        "conditions": [
          [
            {
              "filterName": "CardStatus",
              "operator": "eq",
              "value": "active",
              "startValue": "2024-01-01",
              "endValue": "2024-12-31"
            }
          ]
        ],
        "next": "string",
        "trueNext": "string",
        "falseNext": "string"
      }
    ]
  },
  "activate": true
}
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "string",
    "status": "string",
    "definition": {
      "startTransitionRefId": "string",
      "event": {
        "trigger": "string",
        "parameters": {},
        "conditions": [
          [
            {
              "filterName": "string",
              "operator": "string",
              "value": "string",
              "startValue": "string",
              "endValue": "string"
            }
          ]
        ]
      },
      "transitions": [
        {
          "refId": "string",
          "action": "string",
          "parameters": {},
          "conditions": [
            [
              {
                "filterName": "string",
                "operator": "string",
                "value": "string",
                "startValue": "string",
                "endValue": "string"
              }
            ]
          ],
          "next": "string",
          "trueNext": "string",
          "falseNext": "string"
        }
      ]
    }
  }
}

Eliminar automatización

DELETE/api/v2/workflows/{id}
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idstring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "string"
  }
}

Lista de acciones de automatización con sus esquemas de parámetros

GET/api/v2/workflows/actions
Requiere el header X-API-Key con tu clave de API.

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataarray de object
idstring
displayNamestring
descriptionstring
branchingstringUno de: linear, condition. Las acciones "condition" se bifurcan vía trueNext/falseNext; todas las demás usan next.
parametersarray de object
namestring
typestringUno de: string, integer, number, boolean
requiredboolean
allowedValuesnullablearray de string
minnullableinteger
maxnullableinteger
referencenullablestringPista sobre qué otro recurso debe referenciar el valor (por ejemplo "userTemplate").
requiredExternalServicenullablestringSlug del servicio externo que debe estar conectado para que esta acción funcione, o null.
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": [
    {
      "id": "string",
      "displayName": "string",
      "description": "string",
      "branching": "string",
      "parameters": [
        {
          "name": "string",
          "type": "string",
          "required": true,
          "allowedValues": [
            "string"
          ],
          "min": 0,
          "max": 0,
          "reference": "string"
        }
      ],
      "requiredExternalService": "string"
    }
  ]
}

Lista de filtros de segmentación disponibles para usar dentro de event.conditions o de una acción de tipo condition.

GET/api/v2/workflows/filters
Requiere el header X-API-Key con tu clave de API.

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataarray de object
namestring
valueTypenullablestringUno de: string, number
allowedOperatorsarray de string
possibleValuesarray de string
descriptionnullablestring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": [
    {
      "name": "string",
      "valueType": "string",
      "allowedOperators": [
        "string"
      ],
      "possibleValues": [
        "string"
      ],
      "description": "string"
    }
  ]
}

Lista de registros de ejecución de una automatización

GET/api/v2/workflows/{workflowId}/logs
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
statusquerystringFiltrar por estado del registro
Valores: succeeded, failed
workflowInstanceIdquerystring (uuid)Filtrar por una sola instancia (ejecución) de la automatización
pagequeryintegerPage number
>= 1 · por defecto: 1
itemsPerPagequeryintegerItems per page
>= 1 · <= 1000 · por defecto: 30
workflowIdrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
metaobject
totalItemsinteger
itemsPerPageinteger
currentPageinteger
dataarray de object
idstring (uuid)
workflowIdstring (uuid)
workflowInstanceIdstring (uuid)
workflowTransitionIdstring (uuid)
actionstringAcción de la transición ejecutada
statusstringUno de: succeeded, failed
errorMessagenullablestring
customerIdstring (uuid)
createdAtstring (date-time)
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "meta": {
    "totalItems": 250,
    "itemsPerPage": 30,
    "currentPage": 1
  },
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "workflowId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "workflowInstanceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "workflowTransitionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "action": "string",
      "status": "string",
      "errorMessage": "string",
      "customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "createdAt": "2026-01-15T10:30:00Z"
    }
  ]
}

Lista de disparadores disponibles con sus esquemas de parámetros

GET/api/v2/workflows/triggers
Requiere el header X-API-Key con tu clave de API.

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataarray de object
idstring
displayNamestring
descriptionstring
typestringUno de: event, webhook
parametersarray de object
namestring
typestringUno de: string, integer, number, boolean
requiredboolean
allowedValuesnullablearray de string
minnullableinteger
maxnullableinteger
referencenullablestringPista sobre qué otro recurso debe referenciar el valor (por ejemplo "userTemplate").
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": [
    {
      "id": "string",
      "displayName": "string",
      "description": "string",
      "type": "string",
      "parameters": [
        {
          "name": "string",
          "type": "string",
          "required": true,
          "allowedValues": [
            "string"
          ],
          "min": 0,
          "max": 0,
          "reference": "string"
        }
      ]
    }
  ]
}

Pausar automatización

POST/api/v2/workflows/{id}/pause
Requiere el header X-API-Key con tu clave de API.

Parámetros

ParámetroUbicaciónTipoDescripción
idrequeridorutastring

Respuestas

200Respuesta exitosa
Esquema de respuesta application/json
CampoTipoDescripción
responseIdstring (uuid)
createdAtstring (date-time)
codeinteger
dataobject
idstring (uuid)
namestring
statusstringUno de: draft, active, paused, needs_configuration, deleted
definitionnullableobject
startTransitionRefIdnullablestring
eventnullableobject
triggerstring
parametersobject
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
transitionsarray de object
refIdstringIdentificador estable dentro de la respuesta. Devuelve el refId enviado para transiciones guardadas vía la API v2; para definiciones creadas por otras vías (endpoints legacy v1) el almacenamiento guarda un id numérico y la salida emite un slug sintético "step-N". Los refs son estables dentro de una misma respuesta, pero no se garantiza que coincidan con slugs antiguos entre sistemas.
actionstring
parametersobjectObjeto plano con los parámetros de la acción. Para action="delay", parameters.delayMinutes contiene el retraso configurado.
conditionsnullablearray de array de object
filterNamestring
operatorstring
valuenullablestring
startValuenullablestring
endValuenullablestring
nextnullablestring
trueNextnullablestring
falseNextnullablestring
Ejemplo de respuesta · 200
{
  "responseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "createdAt": "2026-01-15T10:30:00Z",
  "code": 200,
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "string",
    "status": "string",
    "definition": {
      "startTransitionRefId": "string",
      "event": {
        "trigger": "string",
        "parameters": {},
        "conditions": [
          [
            {
              "filterName": "string",
              "operator": "string",
              "value": "string",
              "startValue": "string",
              "endValue": "string"
            }
          ]
        ]
      },
      "transitions": [
        {
          "refId": "string",
          "action": "string",
          "parameters": {},
          "conditions": [
            [
              {
                "filterName": "string",
                "operator": "string",
                "value": "string",
                "startValue": "string",
                "endValue": "string"
              }
            ]
          ],
          "next": "string",
          "trueNext": "string",
          "falseNext": "string"
        }
      ]
    }
  }
}