Saltar al contenido
Integraciones

Con qué se conecta AVEX

Esta página lista únicamente las integraciones verificables contra el código del repositorio. Cada tarjeta activa tiene una referencia (paquete en `package.json`, archivo de servicio, o schema) que un auditor puede abrir para confirmar. Las que están en camino dicen exactamente eso — sin fechas que no podemos cumplir.

Activas hoy

Apple PassKit

Generación y distribución de `.pkpass` firmados.

Wallet
  • Emitimos el archivo `.pkpass` con los campos y el diseño configurados por vertical.
  • Firmamos con el certificado de AVEX — cadena Apple WWDR verificada por cada dispositivo receptor.
  • Actualizaciones push vía APN para cambios de saldo, cuota, período o membresía.

Verificable: package.json → @walletpass/pass-js

Google Wallet API

Generación de pases para el wallet de Android vía clase+objeto.

Wallet
  • Firmamos JWTs con la cuenta de servicio de AVEX para encolar el pase en el wallet del destinatario.
  • Usamos las plantillas oficiales (GenericObject, LoyaltyObject, TicketObject) por vertical.
  • Actualizaciones de estado se propagan por `google-wallet-manager.ts` sin relogin del usuario final.

Verificable: backend/services/google-wallet-*

PostgreSQL 16 + Drizzle ORM

Persistencia multi-tenant con ORM tipado.

Base de datos
  • Aislamiento por cliente a nivel de query (TenantContext) + por tabla donde la RLS pega.
  • Drizzle genera migraciones determinísticas desde el schema TypeScript — nada de SQL a mano en producción.
  • Connection pooling configurado para 15 conexiones de API + 8 de worker.

Verificable: backend/db/schema/*

Resend

Correo transaccional (invitaciones, verificación, avisos de pase).

Email
  • Un solo proveedor para todo el correo saliente — sin SMTP propio que mantener.
  • Los templates viven en `backend/services/email/templates/` versionados junto con el código que los dispara.
  • Rebotes y quejas se registran en `AuditLogService` para análisis posterior.

Verificable: package.json → resend

AWS S3

Almacenamiento de assets — fotos, logos, branding, imágenes por vertical.

Storage
  • URLs firmadas de corta duración para cada descarga — ningún asset es público.
  • Organización por cliente (`client-{id}/`) + carpeta por tipo — sin colisiones entre tenants.
  • Las imágenes del pase se normalizan antes de subir (dimensiones, formato) por `backend/services/image/*`.

Verificable: package.json → @aws-sdk/client-s3

Sentry (self-hosted GlitchTip)

Observabilidad de errores en frontend y backend.

Observabilidad
  • Instancia propia (self-hosted GlitchTip) — los reportes de error no cruzan la frontera de AVEX.
  • Source maps se suben en cada build para trazas legibles sin recompilar.
  • Release tracking por commit SHA — cada error se mapea al commit que lo introdujo.

Verificable: package.json → @sentry/nextjs

graphile-worker

Cola de jobs asíncronos con persistencia en Postgres.

Jobs / queue
  • Resync masivo del wallet (APN push + Google manager) corre como jobs encolados, no bloquea la API.
  • Retries con backoff exponencial + deadletter automática.
  • Sin broker externo — la cola vive en la misma base, un ops-surface menos que operar.

Verificable: package.json → graphile-worker

En camino

Las siguientes integraciones están en el radar pero aún no tienen código corriendo en producción. Publicamos esta lista para que una conversación comercial arranque con expectativas reales, no con una wishlist disfrazada de roadmap.

PSP para cobros recurrentes

Integración con una pasarela de pagos para la vertical inmobiliaria (cuotas) y servicios públicos (facturación).

Pagos
  • Hoy el webhook de `utility-webhook` recibe eventos de pago, pero el PSP emisor se integra cliente por cliente.
  • Queremos consolidar detrás de una pasarela regional (Bold, Wompi, o PayU Colombia) para bajar el set-up time.
  • Sin ETA público — depende del primer cliente pagando que la necesite.

SSO (Google Workspace / Microsoft Entra)

Login corporativo para equipos grandes sin crear usuarios AVEX individualmente.

Base de datos
  • Hoy usamos usuario + contraseña + MFA opcional — funciona pero no escala a organizaciones con IT propio.
  • Dependencia directa: el primer cliente que pida SSO lo prioriza en el backlog.

Apple Wallet es una marca registrada de Apple Inc. Google Wallet es una marca registrada de Google LLC. AVEX no está afiliado ni es patrocinado por ninguna de las dos compañías. Las citamos porque son las plataformas sobre las que se distribuyen los pases que emite la plataforma.