GoZap Analytics

API v1

Autenticación

Una llave por socio. El programa sale de la llave, no de la URL ni del cuerpo — por eso no puedes elegirlo, y por eso el socio número dos no cuesta desarrollo.

La cabecera

POST https://app.gzanalytics.com/api/v1/ping
Authorization: Bearer gz_live_ehyjhn45u7d34uk7zq7qc4ugbaskjmt5

Si tu terminal no puede mandar Authorization —pasa más de lo que parece en puntos de venta viejos— también aceptamos X-GZ-Key: <llave>.

El prefijo dice el modo

PrefijoQué hace
gz_live_…Escribe de verdad: mueve el ledger y el saldo del pase
gz_test_…Guarda la transacción para que la veas, pero no mueve el ledger

La respuesta de ping te lo confirma en modo, y la de tx en prueba: true. Nadie debería descubrir a media integración que estuvo escribiendo en producción.

Guardamos solo el SHA-256 de la llave. Se muestra una vez, al crearla, y ni nosotros podemos releerla. Si se pierde, se rota — no hay forma de recuperarla.

Rotar y revocar no son lo mismo

AcciónLa llave anteriorCuándo
RotarSigue viva 7 días Mantenimiento. Sin esa ventana, rotar sería cortarte el servicio hasta que despliegues — y entonces nadie rota nunca
RevocarMuere de inmediato El botón del incidente. Si crees que la llave se filtró, es este

Permisos

Cada llave lleva solo lo que el socio necesita.

PermisoHabilita¿Recibe nombre y correo?Estado
fan:leer POST /api/v1/fan/resolve Sí En producción
tx:escribir POST /api/v1/tx No En producción
redeem:escribir POST /api/v1/redeem No En producción
codigos:escribir POST /api/v1/codes No En producción
roster:leer GET /api/v1/roster Sí En producción

Los permisos que exponen identidad son una transferencia de datos personales. Bajo la LFPDPPP, cada socio que reciba nombre y correo tiene que estar nombrado en el aviso de privacidad del venue — y tiene que estarlo antes del primer dato que se le mande. Un aviso que no lo nombra no se arregla después: los consentimientos ya recabados quedaron sellados contra la versión que la persona aceptó.

Por eso el panel no deja crear una llave con fan:leer o roster:leer sin que el administrador del venue confirme que su aviso ya te nombra. Si tu integración necesita identidad, cuenta con ese paso en el calendario.

Sin llave válida, siempre 401

Sin llave, con llave desconocida, revocada, o de un programa desactivado: 401 no_autorizado. Fail-closed, sin excepciones y sin pistas sobre cuál de los casos fue. El catálogo de errores.