Ir al contenido
StampyWalletDocs
API y webhooks / Referencia / Añadir una visita

Añadir una visita

POST /v1/passages añade un sello o puntos a la tarjeta de un cliente desde tu TPV, e indica si se ha conseguido una recompensa.

POST/v1/passages

El equivalente a un escaneo en el mostrador, enviado por tu TPV: un sello (o varios), o puntos. Las reglas y los límites son los del mostrador, la tarjeta del cliente se actualiza en su Wallet y la visita cuenta como las demás (habituales, recordatorios, solicitud de reseña).

Cuerpo (JSON)

clientobjectobligatorio
Quién recibe la visita: uno de id, carte (el código de la tarjeta), email o telephone.
montantnumberopcional
Importe del ticket, en unidades (12.5 para 12,50 €). Si el comercio tiene una regla «10 € = 1 sello», el importe prevalece sobre quantite; en modo puntos, se convierte con la regla de puntos por euro del comercio.
quantiteintegeropcional
Modos tampons y paliers: número de sellos, 1 por defecto, 50 como máximo.
pointsintegeropcional
Modo points, sin importe: los puntos que poner. Por defecto, el valor del comercio.
referencestringopcional
El número del ticket. Una referencia solo sella una vez por comercio.
creer_si_absentbooleanopcional
true: un cliente desconocido, identificado por email o telephone, se crea (con prenom y nom si están en client). Por defecto false.
conditions_accepteesbooleanopcional
Cuando el comercio exige sus condiciones y creer_si_absent crea el cliente (en client o en la raíz).

Ejemplo

curl https://app.stampywallet.com/v1/passages \
  -H "Authorization: Bearer sw_live_votre_cle" \
  -H "Content-Type: application/json" \
  -d '{
    "client": { "telephone": "+33612345678", "prenom": "Léa" },
    "montant": 12.5,
    "reference": "TICKET-4512",
    "creer_si_absent": true
  }'

Respuesta

201 Created
{
  "passage": {
    "id": "226fdea1-ba59-49fb-93e6-60a14a765134",
    "client_id": "c2a91f3e-7d40-4b8a-a3c5-91e0d6f4b2c7",
    "valeur": 1,
    "montant": 12.5,
    "reference": "TICKET-4512",
    "cree_le": "2026-10-22T09:20:00.000Z"
  },
  "rejoue": false,
  "client_cree": false,
  "recompense_atteinte": true,
  "recompenses_gagnees": 1,
  "plafonne": false,
  "client": { "id": "c2a91f3e-7d40-4b8a-a3c5-91e0d6f4b2c7", "prenom": "Léa", "etat": { "tampons": 0, "objectif": 10 } }
}
CampoSignificado
passage.valeurLos sellos o puntos puestos
passage.montantEl importe registrado, o null
rejouetrue cuando la reference ya se había usado: la respuesta es entonces 200 y devuelve la visita original, sin sellar una segunda vez
client_creetrue si creer_si_absent ha creado el cliente
recompense_atteinte, recompenses_gagneesEsta visita hace ganar una recompensa (o varias): para entregar cuando el cliente la recoja
plafonnetrue si el valor se ha reducido al máximo del mostrador
clientEl objeto cliente después de la visita

Los rechazos

EstadocodeCuándo
404client_introuvableNingún cliente coincide y creer_si_absent no está a true
409trop_totHubo una visita del mismo cliente hace menos que el plazo antidoble visita del comercio (90 segundos por defecto)
422montant_insuffisantEl importe no llega a un sello (o a un punto)
422conditions_requisesEl cliente se crearía, pero las condiciones del comercio no se han aceptado

Atención : indica siempre una reference (el número de ticket): así, un TPV que reintenta tras un corte no pone dos sellos. Una referencia cuya visita se ha anulado no se vuelve a poner.

Actualizado el

¿Te ha sido útil esta página?