Skip to main content

Descripción general

La mutación registerBusiness crea una cuenta comercial en la plataforma de Fluz. En una sola llamada:
  1. Crea una cuenta comercial vinculada al solicitante — el usuario de Fluz cuyo token envías,
  2. Almacena el registro de la entidad legal — razón social, estructura, tax ID, estado de constitución, domicilio legal, categoría y uso previsto de la cuenta,
  3. Almacena la información de beneficiarios finales para cada propietario que proporciones,
  4. Abre un caso de KYB para revisión de cumplimiento, y
  5. Vincula la nueva cuenta comercial a la concesión OAuth de tu aplicación.
La mutación devuelve un accountId de inmediato, con un kybStatus de SUBMITTED.
Esta página es la referencia de parámetros y errores de la mutación en sí. Para requisitos previos, la secuencia de llamadas relacionadas y cómo hacer seguimiento de un caso hasta la decisión, lee primero Registrar y verificar empresas.

Alcances requeridos

Un token de cuenta comercial es rechazado por el esquema antes de que se ejecute la mutación. No se acepta autenticación básica.

Estructura básica de la mutación

Parámetros

Formato de direccionesDa formato a businessLegalAddress y a cada address de propietario usando los campos estructurados a continuación, con una dirección real y entregable y una combinación coherente de ciudad / estado / código postal. Ambas pueden ser internacionales (nombre de país, ISO 3166; algunos países están restringidos, p. ej., Rusia o Irán). El domicilio legal del negocio además se verifica contra un proveedor de validación de direcciones y se rechaza con BS-0002 si no puede confirmarse; las direcciones de propietarios reciben solo verificaciones de campos y estado/provincia. Consulta Requisitos de formato de direcciones.

BusinessLegalAddress

La dirección almacenada es la versión normalizada por el proveedor de lo que enviaste, con city, state y postalCode en mayúsculas — no las cadenas exactas que enviaste.

RegisterBusinessConfirm

Ambos campos no aceptan nulos, así que envía los dos. Solo se aplica el que coincide con tu lista — establécelo en true y el otro en false.

BusinessOwner

isUsPerson es requerido en cada propietario. El esquema GraphQL lo tipa como Boolean anulable, pero la validación rechaza un valor ausente o null para todos los propietarios — incluyendo el solicitante, propietarios invitados y propietarios por debajo del umbral de beneficiarios finales. El error dice owner N is invalid: isUsPerson is required.

OwnerAddress

BusinessStructure (enum)

Cualquier estructura que no esté en esta lista se rechaza con BS-0005. Fideicomisos, organizaciones sin fines de lucro y otros tipos de entidades se manejan caso por caso — contacta a tu gerente de cuenta antes de integrarlos.

BusinessAccountUsage (enum)

Envía todos los valores que correspondan. Si ninguno aplica, omite businessAccountUsage y describe el uso previsto en businessAccountUsageOther. Enviar un valor fuera del enum devuelve BS-0004.

Requisitos de beneficiarios finales

La revisión KYB depende de obtener el panorama de propiedad correcto desde el inicio. Recolecta y envía:
  • Cada persona que posea 25% o más de la entidad, directa o indirectamente.
  • Una persona de control — una persona con responsabilidad significativa en la administración de la entidad (CEO, CFO, socio administrador, socio general o similar) — incluso si no tiene participación. Envíala con isControlPerson: true. Exactamente un propietario debe llevar esa marca.
  • El solicitante — el usuario al que pertenece tu Bearer token — coincidiendo por emailAddress o phoneNumber. Exactamente un propietario debe coincidir, y ese propietario no puede tener isInvited: true.
Notas prácticas:
  • El total de ownershipPercentage en el arreglo no debe exceder 100, pero no necesita sumar 100. Si un negocio es 40/35/25 entre tres personas más un CEO sin participación, envía los cuatro con porcentajes de 40, 35, 25 y 0.
  • Donde una entidad (en lugar de una persona) tenga participación, mira a través hasta las personas detrás de ella y envía a esas personas.
  • Los correos electrónicos y teléfonos de propietarios deben ser únicos en la lista.
  • title es un campo de texto libre, pero será leído por un revisor humano. Usa cargos reconocibles (“Chief Executive Officer”, “Managing Member”) en lugar de siglas internas.

Quién necesita datos de identidad completos

Cuánto envías por propietario depende de su rol. Cada propietario necesita los campos base; solo algunos requieren datos de identidad adicionales. Campos base: firstName, lastName, title, ownershipPercentage, isControlPerson, isInvited, isUsPerson, y al menos uno de emailAddress / phoneNumber. Datos de identidad completos: dob y address, más lastFourSsnDigits cuando isUsPerson es true. Cuando isUsPerson es false, omite lastFourSsnDigits — ese propietario completa la verificación documental después del registro mediante requestOwnerDocumentVerificationLink.

Referencia rápida de validación

La mayoría de los errores se deben al formato. Verifica esto antes de enviar:
Dos formatos cambiaron respecto a versiones anteriores de esta API. El dob del propietario ahora es una fecha ISO 8601 (1975-02-28), no MM/DD/YYYY. El phoneNumber del propietario ahora requiere un código de país — un número estadounidense de 10 dígitos sin prefijo es rechazado. Nota también que +15551234567 falla porque 555 no es un código de área asignado en EE. UU.; usa un código de área real en los datos de prueba.

Documentos

Se requiere un documento de firmante autorizado cuando el solicitante no es un beneficiario final ni la persona de control, y cualquier estructura puede ser solicitada por documentación adicional durante la revisión KYB. Ambos caminos se cubren en una sola página:

Enviar documentos del negocio

Endpoint de carga, documentos aceptados y qué hacer cuando cumplimiento solicita más información.

Detalles de la respuesta

RegisterBusinessError

Los fallos de validación y reglas de negocio se devuelven dentro de la carga de la respuesta, no como errores GraphQL de nivel superior. Ramifica según la presencia de error (o success === false) en lugar de depender del estado HTTP.Las fallas de permisos son la excepción: un scope incorrecto, un tipo de cuenta incorrecto o autenticación básica se rechazan antes de que se ejecute el resolver y aparecen en el arreglo errors de nivel superior con data.registerBusiness establecido en null.
La vinculación OAuth puede fallar sin fallar la mutación. Después de que se crea y envía el negocio, la API vincula la nueva cuenta comercial a la concesión OAuth de tu aplicación. Si ese paso falla, solo se registra del lado del servidor — la mutación aún devuelve success: true con el accountId, pero la concesión del negocio, y cualquier externalReferenceId, pueden faltar. Contacta soporte con el accountId en lugar de reenviar; un reintento es bloqueado por BS-0007.

Ejemplo cURL

John es el solicitante y la persona de control, por lo que solo necesita campos base — su identidad fue verificada antes del registro. Jane es una beneficiaria final que no es solicitante ni invitada, por lo que necesita datos de identidad completos.

Respuesta de ejemplo

Éxito

Error

Códigos de error

Devueltos dentro del payload, con success: false: Devueltos en el arreglo errors de nivel superior, con data.registerBusiness establecido en null:
Los problemas en la lista de propietarios se reportan como ARG-0001, no BS-0003. BS-0003 (InvalidOwnerInformation) existe en el catálogo de errores compartido pero esta API no lo devuelve.

Pruebas en staging

  • Regístrate contra el endpoint GraphQL de staging mostrado en los ejemplos arriba. Ver Entorno de Staging vs. Producción.
  • Usa Direcciones de prueba para direcciones que pasen la validación de forma determinista — la dirección legal pasa por un proveedor real de validación de direcciones, así que calles inventadas fallarán.
  • Los EINs en staging aún deben cumplir el formato XX-XXXXXXX, pero no necesitan corresponder a una entidad real.
  • Los números de teléfono de propietarios deben ser números posibles para su país. +15551234567 falla porque 555 no es un código de área asignado en EE. UU.; usa un código de área real con un intercambio 555, p. ej., +14155551234.
  • Debido a que un usuario no puede tener dos solicitudes abiertas (BS-0007), prueba rutas de registro repetidas con usuarios de prueba distintos.

Mejores prácticas

  • Valida primero del lado del cliente. Casi todos los códigos de error son problemas de formato o selección que puedes detectar antes de la llamada de red. Hacerlo mejora materialmente las tasas de finalización de onboarding.
  • Espera un error a la vez. La validación se detiene en el primer problema que encuentra y la dirección legal se verifica temprano, así que un envío rechazado puede tener más de un error.
  • Obtén categorías en tiempo de ejecución. Nunca codifiques en duro los UUIDs de categorías.
  • Envía isUsPerson en cada propietario. Es la causa más común de rechazo de listas.
  • No vuelvas a intentar automáticamente un KYB rechazado. Reenviar no cambiará el resultado y crea casos duplicados.
  • Almacena el accountId de inmediato. Es tu único identificador de la solicitud y la referencia que soporte te pedirá.
  • Comunica honestamente el estado pendiente. Indícale al usuario que su empresa está en revisión y cuánto tiempo tarda aproximadamente, en lugar de llevarlo a un panel que aún no puede transaccionar.
  • Recopila la propiedad completa desde la primera vez. Omitir beneficiarios finales es la causa más común de que una revisión se estanque por documentación adicional.

Notas

  • Debe proporcionarse businessAccountUsage o businessAccountUsageOther.
  • Los usuarios no pueden registrar una nueva empresa mientras ya tengan una solicitud en curso.
  • No hay clave de idempotencia. Los envíos duplicados se bloquean mediante la verificación de solicitud abierta.
  • La validación se ejecuta antes de escribir algo, y los registros de entidad, solicitud, estatutos y dirección se crean en una sola transacción — un envío rechazado no deja nada atrás.
  • El taxId que envías se tokeniza antes de almacenarse y nunca se devuelve por ninguna operación de lectura.

Páginas relacionadas

Descripción general de KYB

Requisitos previos, el flujo de extremo a extremo y cómo dar seguimiento a un caso hasta la decisión.

Categorías de negocio

Obtén los IDs de categoría y subcategoría requeridos por esta mutación.

Enviar documentos del negocio

Sube documentos de autorización y responde a solicitudes de documentación KYB.

Estado KYB del negocio

Lee el estado KYB y el progreso de verificación por propietario después del envío.

Enlace de verificación de propietario

Genera un enlace de verificación de identidad para propietarios en la ruta de documentos.

Requisitos de formato de direcciones

Reglas que rigen los objetos de dirección legal y de propietarios.