Cómo se arma
1
Cada cliente conecta su empresa con Tupana Link
Tu backend abre una sesión (El detalle del widget y sus eventos está en Tupana Link.
POST /v2/connect-sessions/) y tu frontend muestra el widget. Tu cliente entrega su clave adentro del widget: tú nunca la ves. Manda tu propio id de cliente en external_customer_id para cruzarlo después.2
Guardas la conexión cuando queda activa
El webhook
connection.active trae connection_id (cred_…), company_id (ment_…) y tu external_customer_id. Guarda los tres. El evento success del widget solo sirve para cerrar el modal; la fuente de verdad es el webhook.3
Emites eligiendo la empresa por RUT
En cada documento,
document_issuer.rut dice a nombre de qué empresa se emite. Si facturas para varias empresas a la vez, arma un lote por empresa emisora: así cada lote tiene un resultado y un reintento independiente.4
Un webhook por empresa
Los webhooks se crean por
master_entity_id. Crea uno por cada empresa al recibir connection.active, apuntando a la misma URL de tu backend; el payload trae el emisor para que sepas de quién es cada evento. Ver Recibir avisos de estado.Mantener las conexiones sanas
GET /v2/connections/lista todas las empresas conectadas, con su giro, dirección, ambiente (sandboxoproduction) ystatus.- Cuando una clave deja de funcionar, la conexión pasa a
requires_actiony llega el webhookconnection.requires_action. No hay nada que reintentar desde tu lado: pide a tu cliente que reconecte con Tupana Link. - Para dar de baja una empresa, usa Desactivar una conexión.
Permisos
- La key ve las empresas a las que tiene acceso su usuario. Si tu equipo tiene varias personas, crea las keys con un usuario de integración y no con una cuenta personal.
- Emitir requiere que el usuario tenga permiso de emisión en esa empresa; sin él, el acceso es de solo lectura.
- Las keys de sandbox nunca operan sobre datos reales. Prueba el alta de clientes completa en sandbox antes de abrir producción.
