Documentación
API de vpass
Una API REST para emitir, actualizar y validar pases desde tu propio sistema. Autenticación con bearer token, idempotencia y webhooks firmados.
Autenticación
Todas las requests se autentican con un bearer token. Usá una key de sandbox para pruebas y una de producción para tráfico real.
Authorization: Bearer vp_live_...Endpoints
POST
/v1/passesEmitir un paseGET
/v1/passes/:idConsultar un pasePATCH
/v1/passes/:idActualizar datos o estadoDELETE
/v1/passes/:idRevocar un pasePOST
/v1/passes/batchEmisión masivaGET
/v1/scansHistorial de escaneosPOST
/v1/templatesCrear plantillaGET
/v1/analyticsMétricas agregadasEjemplo
Emitir un pase
Enviá el template, los datos del titular y la metadata que quieras mostrar en el pase. La respuesta incluye el ID y el link de descarga.
curl -X POST https://api.vpass.com.ar/v1/passes \
-H "Authorization: Bearer vp_live_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 8f2c-..." \
-d '{
"template": "membership",
"holder": {
"name": "Marina Ruiz",
"email": "marina@example.com"
},
"metadata": { "tier": "gold" }
}'{
"id": "pass_8f2c",
"status": "active",
"wallet": {
"apple": "https://...",
"google": "https://..."
}
}Webhooks
Suscribite a eventos como pass.created, pass.updated, pass.scanned y pass.revoked. Cada entrega incluye una firma HMAC para verificar el origen.
Errores
Códigos de respuesta
400Request inválida o campos faltantes.
401API key ausente o inválida.
403La key no tiene permiso para el recurso.
404El pase o template no existe.
409Conflicto de idempotencia.
429Rate limit excedido.