Saltar al contenido principal

Bridge - Customer

Endpoints para generar el enlace de ToS, consultar estado/datos del customer y reintentar la subida de KYC a Bridge.


👤 Customer & KYC en Bridge

Estos endpoints cubren el flujo de onboarding: generar ToS, firmar términos, verificar estado del customer, obtener datos completos y reintentar la sincronización/subida de KYC cuando sea necesario.


1) Generar ToS (Términos de Servicio)

GET/bridge/generate-tos

Genera un enlace de términos de servicio (ToS) para Bridge

📤 Respuesta

{
"tos_link": "https://api.bridge.xyz/customers/tos_links/abc123?redirect_uri=...",
"user_token": "uuid-token-123"
}

Headers:

Authorization: Bearer <JWT_TOKEN>

Error típico: Customer ya existe (409)

{
"message": "El usuario ya tiene un customer activo en Bridge con ID: bridge_customer_123",
"error": "Conflict",
"statusCode": 409
}

2) Estado del Customer

GET/bridge/customer-status

Obtiene el estado del customer de Bridge del usuario actual

📤 Respuesta

{
"hasCustomer": true,
"customerId": "bridge_customer_123",
"customer": {
  "id": "bridge_customer_123",
  "status": "active",
  "email": "user@example.com",
  "first_name": "Juan",
  "last_name": "Pérez",
  "created_at": "2024-01-15T10:30:00Z"
},
"message": "Customer encontrado en Bridge"
}

Headers:

Authorization: Bearer <JWT_TOKEN>

Respuesta sin customer (200)

{
"hasCustomer": false,
"customerId": null,
"customer": null,
"message": "El usuario no tiene un customer activo en Bridge"
}

3) Datos Completos del Customer (usuario actual)

GET/bridge/customer-data

Obtiene los datos completos del customer de Bridge asociado al usuario actual

📤 Respuesta

{
"success": true,
"customer": {
  "id": "bridge_customer_123",
  "status": "active",
  "email": "user@example.com",
  "first_name": "Juan",
  "last_name": "Pérez",
  "birth_date": "1990-01-15",
  "address": {
    "street_line_1": "Av. Corrientes 1234",
    "street_line_2": "Piso 5",
    "city": "Buenos Aires",
    "state": "CABA",
    "postal_code": "1043",
    "country": "AR"
  },
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z"
},
"message": "Datos del customer obtenidos exitosamente"
}

Headers:

Authorization: Bearer <JWT_TOKEN>

Customer no encontrado (404)

{
"message": "El usuario no tiene un customer asociado en Bridge",
"error": "Not Found",
"statusCode": 404
}

4) Datos de Customer por ID

GET/bridge/customer-data/:customerId

Obtiene los datos de un customer específico de Bridge

📋 Parámetros

customerIdstringrequerido

ID del customer

📤 Respuesta

{
"success": true,
"customer": {
  "id": "bridge_customer_123",
  "status": "active",
  "email": "user@example.com"
},
"message": "Datos del customer obtenidos exitosamente"
}

Headers:

Authorization: Bearer <JWT_TOKEN>

5) Reintentar Subida de KYC a Bridge

POST/bridge/retry-kyc-upload

Reintenta la subida/sincronización de customer y documentos KYC a Bridge

📋 Parámetros

forceReuploadboolean

Si true, fuerza re-subida (opcional). Default: false

📤 Respuesta

{
"success": true,
"data": {
  "success": true,
  "message": "Customer y documentos KYC actualizados exitosamente en Bridge",
  "uploaded": {
    "customer": true
  },
  "customer": {
    "id": "bridge_customer_123",
    "status": "pending"
  }
},
"message": "Customer y documentos KYC actualizados exitosamente en Bridge"
}

Headers:

Authorization: Bearer <JWT_TOKEN>
Content-Type: application/json

Body (opcional):

{
"forceReupload": false
}

🔄 Flujo de Onboarding

Flujo recomendado

  1. Generar ToSGET /bridge/generate-tos
  2. Firmar Términos → en el portal de Bridge (ToS link)
  3. Verificar EstadoGET /bridge/customer-status
  4. Obtener Datos CompletosGET /bridge/customer-data

👤 Estados del Customer

Estados principales

  • pending - Documentos en revisión
  • active - Verificado y activo
  • rejected - Documentos rechazados
  • suspended - Cuenta suspendida

Estados de verificación KYC

  • unverified - Sin documentos
  • pending - En proceso de verificación
  • verified - Verificado completamente
  • failed - Verificación fallida

📋 Datos del Customer

Qué incluye el perfil

Información personal

  • Nombre y apellido
  • Fecha de nacimiento
  • Email
  • Teléfono

Dirección

  • Línea 1 y 2
  • Ciudad
  • Estado/Provincia
  • Código postal
  • País

Metadatos

  • Fecha de creación
  • Última actualización
  • Estado de verificación
  • ID único del customer

🔗 Redirecciones

Rutas de redirect

Éxito

  • URL: /bridge/success
  • Parámetros: signed_agreement_id, user_token
  • Destino: Frontend con customer_id

Fallo

  • URL: /bridge/failed
  • Destino: Página de error en frontend

⚠️ Errores Comunes

Errores típicos

  • 409 Conflict: Customer ya existe para el usuario
  • 404 Not Found: Customer no encontrado
  • 401 Unauthorized: Token JWT inválido
  • 400 Bad Request: Datos de KYC incompletos

📝 Notas Importantes

Consideraciones

  • Un usuario solo puede tener un customer activo en Bridge
  • Los ToS deben firmarse antes de usar cualquier servicio
  • La verificación KYC puede tomar 1–3 días hábiles
  • Los datos del customer se sincronizan automáticamente