> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spherepay.co/llms.txt
> Use this file to discover all available pages before exploring further.

# KYC para Clientes Individuales

> Incorpora clientes individuales con verificación de identidad KYC. Elige API o enlace alojado, con cumplimiento Sphere-Managed o Platform-Managed.

KYC (Know Your Customer) es un proceso legal de verificación de identidad requerido antes de que cualquier cliente individual pueda enviar o recibir fondos a través de SpherePay. Es obligatorio por regulaciones de anti-lavado de dinero (AML) y debe completarse una vez por cliente. Tú eliges cómo integrar — vía API o enlace alojado — y qué modelo de cumplimiento usar.

## Información requerida

SpherePay requiere la siguiente información para verificar la identidad de un cliente individual. Los campos marcados como **API** se envían en la solicitud de creación de cliente; los campos marcados como **Documento de identidad** se extraen automáticamente del documento cargado.

| Campo                                          | Origen                 | Notas                                                                                    |
| ---------------------------------------------- | ---------------------- | ---------------------------------------------------------------------------------------- |
| Dirección de correo electrónico                | API                    | Campo `email` en la solicitud de creación de cliente                                     |
| Número de teléfono                             | API                    | Campo `phone` en la solicitud de creación de cliente                                     |
| País de residencia                             | API                    | `address.country` en la solicitud de creación de cliente                                 |
| Dirección residencial                          | API                    | Objeto `address` completo (calle, ciudad, código postal, estado)                         |
| Número de identificación fiscal                | API                    | `personalInformation.taxIdentificationNumber` — los tipos aceptados varían por país      |
| Nombre y apellido                              | Documento de identidad | Extraído automáticamente del ID emitido por el gobierno cargado                          |
| Fecha de nacimiento                            | Documento de identidad | Extraído automáticamente del ID emitido por el gobierno cargado                          |
| Documento de identidad emitido por el gobierno | Documento de identidad | Cargado vía `POST /v2/document` — pasaporte, tarjeta de identidad o licencia de conducir |
| Comprobante de domicilio                       | Documento de identidad | Cargado vía `POST /v2/document`                                                          |

<Note>
  En ciertas circunstancias SpherePay puede solicitar información adicional, como para personas políticamente expuestas (PEPs), clientes mayores, perfiles de alto riesgo o clientes con volúmenes de transacciones esperados inusualmente altos. SpherePay se pondrá en contacto contigo directamente cuando esto aplique.
</Note>

## Resumen del flujo KYC

El flujo a continuación muestra los pasos requeridos para el KYC individual. El único paso que difiere entre modelos de incorporación es la aceptación de TOS — se maneja en el flujo en Sphere-Managed y está integrada en los términos de tu plataforma en Platform-Managed.

<Tabs>
  <Tab title="Sphere-Managed (por defecto)">
    1. Crear cliente con `personalInformation` y `address` completos
    2. Generar enlace TOS → redirigir al cliente para aceptar los términos
    3. Cargar documento de identidad emitido por el gobierno
    4. Cargar comprobante de domicilio
    5. Completar verificación de vivacidad facial (SDK de Sumsub, en el flujo)
    6. Consultar `GET /v2/customer/{id}` hasta que `status` alcance `approved`
  </Tab>

  <Tab title="Platform-Managed (opt-in)">
    1. Crear cliente con `personalInformation` y `address` completos
    2. Cargar documento de identidad emitido por el gobierno
    3. Cargar comprobante de domicilio
    4. Cargar documento de informe de vivacidad de tu proveedor KYC
    5. Consultar `GET /v2/customer/{id}` hasta que `status` alcance `approved`
  </Tab>
</Tabs>

## Elegir un método de integración

<Warning>
  Debes elegir un único método de integración y modelo de incorporación para cada cliente. Mezclar métodos para el mismo cliente — o recurrir a uno si el otro falla — no está soportado y resultará en una incorporación fallida.
</Warning>

<CardGroup cols={3}>
  <Card title="KYC vía API — Sphere-Managed" icon="code" href="/es/concepts/onboarding/individual-kyc#kyc-via-api-sphere-managed">
    Modelo por defecto. Sphere maneja TOS, vivacidad facial y OTP vía enlaces alojados.
  </Card>

  <Card title="KYC vía API — Platform-Managed" icon="server" href="/es/concepts/onboarding/individual-kyc#kyc-via-api-platform-managed">
    Modelo opt-in. Carga un documento de informe de vivacidad. No se requieren redireccionamientos alojados.
  </Card>

  <Card title="KYC vía enlace alojado" icon="link" href="/es/concepts/onboarding/kyc-via-link">
    Integración más rápida. SpherePay aloja toda la experiencia de verificación.
  </Card>
</CardGroup>

***

## KYC vía API — Sphere-Managed

Este es el modelo por defecto para todas las nuevas integraciones API. Sphere maneja los pasos de cumplimiento en el flujo usando enlaces alojados y redireccionamientos: aceptación de Términos de Servicio, verificación de vivacidad facial y verificación de contacto OTP.

**Antes de comenzar**, asegúrate de tener:

* Una clave API de SpherePay
* La información personal del cliente (dirección completa, ID fiscal)
* Una copia del documento de identidad emitido por el gobierno del cliente

<Steps>
  <Step title="Crear un cliente">
    Llama a `POST /v2/customer` con `type: "individual"` e incluye los objetos completos `personalInformation` y `address`. Estos campos permiten a SpherePay verificar la identidad del cliente de forma programática.

    ```json theme={"dark"}
    {
      "type": "individual",
      "email": "jane.smith@example.com",
      "phone": "+14155550123",
      "address": {
        "line1": "233 South Wacker Drive",
        "line2": "Suite 4700",
        "city": "Chicago",
        "postalCode": "60606",
        "state": "IL",
        "country": "USA"
      },
      "personalInformation": {
        "taxIdentificationNumber": "123456789",
        "taxIdentificationNumberType": "ssn",
        "taxIdentificationNumberCountry": "USA"
      }
    }
    ```

    El objeto `personalInformation` acepta los siguientes campos:

    | Campo                                | Descripción                                                                                          |
    | ------------------------------------ | ---------------------------------------------------------------------------------------------------- |
    | `taxIdentificationNumberCountry`     | El código de país del cliente (p. ej. `USA`, `SGP`, `GBR`)                                           |
    | `taxIdentificationNumberType`        | El tipo de número de identificación, p. ej. `ssn` (EE. UU.), `nric` (Singapur), `nino` (Reino Unido) |
    | `taxIdentificationNumber`            | El número de identificación real                                                                     |
    | `taxIdentificationNumberDescription` | Descripción legible — solo requerida cuando el tipo es `other`                                       |
  </Step>

  <Step title="Aceptar los Términos de Servicio">
    Genera un enlace TOS y redirige al cliente para aceptar los Términos y Condiciones y la Política de Privacidad.

    ```bash theme={"dark"}
    POST https://api.spherepay.co/v2/customer/{id}/tos-link
    ```

    Este paso puede realizarse en paralelo con la carga de documentos.
  </Step>

  <Step title="Cargar documento de identidad">
    Carga el documento de identidad emitido por el gobierno del cliente usando `POST /v2/document`.

    ```bash theme={"dark"}
    curl --location 'https://api.spherepay.co/v2/document' \
    --header 'Authorization: Bearer <your_api_key>' \
    --form 'target="customer"' \
    --form 'targetId="customer_4914a2f6226e42cc8d207ead9573b29f"' \
    --form 'documentType="id_card"' \
    --form 'side="front"' \
    --form 'file=@"/path/to/your/document.jpg"' \
    --form 'country="SGP"'
    ```

    Carga tanto el frente como el reverso para tarjetas de identidad y licencias de conducir. Los pasaportes requieren solo el frente (con excepciones específicas por país). Consulta la Guía de Documentos para los formatos aceptados por país.
  </Step>

  <Step title="Completar la verificación de vivacidad facial">
    Verifica el arreglo `required` del cliente vía `GET /v2/customer/{id}`. Luego realiza **exactamente una** de las siguientes opciones, dependiendo de lo que aparezca en `required`:

    * **`liveness_check` en required** — Genera un enlace de verificación facial vía `POST /v2/enhanced-due-diligence/face-verification-link` y redirige al cliente para completar una verificación de vivacidad interactiva vía el SDK de Sumsub.
    * **`liveness_report_document` en required** — Carga un documento de informe de vivacidad de tu proveedor de verificación de identidad vía `POST /v2/document` con `documentType: "liveness_report"`.

    <Warning>
      No realices ambos caminos. Verifica el arreglo `required` y sigue solo la opción correspondiente.
    </Warning>
  </Step>

  <Step title="Consultar resultado de verificación">
    Una vez que todos los pasos requeridos estén completos, SpherePay procesa la verificación automáticamente — no se necesita ninguna llamada de envío. Consulta `GET /v2/customer/{id}` hasta que `status` en `verificationProfiles` alcance `approved`.

    ```bash theme={"dark"}
    GET https://api.spherepay.co/v2/customer/{id}
    ```

    ```json theme={"dark"}
    {
      "id": "customer_f31121c389624d3697cbf3ea8830b7a4",
      "email": "jane.smith@example.com",
      "phone": "+14155550123",
      "verificationProfiles": [
        {
          "name": "kyc_profile_a",
          "status": "approved",
          "criteria": {
            "complete": [
              "email_address",
              "phone_number",
              "residential_address",
              "tax_identification_number",
              "identity_document",
              "liveness_report_document"
            ],
            "pending": [],
            "required": [],
            "errors": []
          }
        }
      ],
      "createdAt": "2026-03-09T20:46:31.305Z",
      "updatedAt": "2026-03-09T20:46:31.305Z",
      "type": "individual"
    }
    ```

    Cuando `required` esté vacío y `status` sea `approved`, el cliente está completamente incorporado y listo para transferir.
  </Step>
</Steps>

<Note>
  La revisión KYC generalmente toma 0–2 días hábiles después de que se envíen todos los documentos y datos requeridos.
</Note>

***

## KYC vía API — Platform-Managed

Este modelo opt-in es para plataformas que ya realizan KYC, recopilan verificación de vivacidad e integran los Términos de Servicio de Sphere. Tu plataforma maneja el cumplimiento de forma previa — no se requieren redireccionamientos alojados.

<Warning>
  Platform-Managed no está disponible por defecto. Tu plataforma debe cumplir los requisitos de calificación y recibir aprobación del equipo de Cumplimiento de Sphere antes de salir en vivo. Contacta a tu Ingeniero de Soluciones dedicado para iniciar el proceso de aprobación.
</Warning>

**Requisitos previos adicionales más allá del conjunto estándar:**

* Un documento de informe de vivacidad de tu proveedor de verificación de identidad (p. ej. Sumsub, Persona)
* Incorporación Platform-Managed aprobada para tu aplicación por el Área de Cumplimiento de Sphere

<Steps>
  <Step title="Crear un cliente">
    Llama a `POST /v2/customer` con `type: "individual"`, `personalInformation` completo y `address`. El cuerpo de la solicitud es idéntico al del camino Sphere-Managed.

    ```json theme={"dark"}
    {
      "type": "individual",
      "email": "jane.smith@example.com",
      "phone": "+14155550123",
      "address": {
        "line1": "233 South Wacker Drive",
        "line2": "Suite 4700",
        "city": "Chicago",
        "postalCode": "60606",
        "state": "IL",
        "country": "USA"
      },
      "personalInformation": {
        "taxIdentificationNumber": "123456789",
        "taxIdentificationNumberType": "ssn",
        "taxIdentificationNumberCountry": "USA"
      }
    }
    ```
  </Step>

  <Step title="Cargar documento de identidad y comprobante de domicilio">
    Carga los documentos de identidad del cliente vía `POST /v2/document`. Repite para cada tipo de documento requerido.

    ```bash theme={"dark"}
    curl --location 'https://api.spherepay.co/v2/document' \
    --header 'Authorization: Bearer <your_api_key>' \
    --form 'target="customer"' \
    --form 'targetId="customer_4914a2f6226e42cc8d207ead9573b29f"' \
    --form 'documentType="id_card"' \
    --form 'side="front"' \
    --form 'file=@"/path/to/your/document.jpg"' \
    --form 'country="SGP"'
    ```
  </Step>

  <Step title="Cargar informe de vivacidad">
    Carga el informe de vivacidad producido por tu proveedor de verificación de identidad. Esto reemplaza la verificación de vivacidad facial en el flujo usada en Sphere-Managed.

    ```bash theme={"dark"}
    curl --location 'https://api.spherepay.co/v2/document' \
    --header 'Authorization: Bearer <your_api_key>' \
    --form 'target="customer"' \
    --form 'targetId="customer_4914a2f6226e42cc8d207ead9573b29f"' \
    --form 'documentType="liveness_report"' \
    --form 'file=@"/path/to/liveness_report.pdf"'
    ```

    Solo carga este documento si `liveness_report_document` aparece en el arreglo `required` del perfil de verificación del cliente.
  </Step>

  <Step title="Consultar resultado de verificación">
    Una vez que todos los datos y documentos requeridos estén enviados, SpherePay procesa la verificación KYC automáticamente. Consulta `GET /v2/customer/{id}` hasta que `status` alcance `approved`.
  </Step>
</Steps>

***

## Qué sigue

Una vez que el perfil de verificación del cliente sea `approved`, registra sus métodos de pago e inicia una transferencia.

<CardGroup cols={2}>
  <Card title="Cuentas bancarias" icon="landmark" href="/es/concepts/transfers/bank-accounts">
    Registra una cuenta bancaria para que el cliente pueda enviar o recibir fondos vía riel bancario.
  </Card>

  <Card title="Billeteras" icon="wallet" href="/es/concepts/transfers/wallets">
    Registra una dirección de billetera cripto para habilitar transferencias on-ramp y off-ramp.
  </Card>

  <Card title="API de Transferencias" icon="arrow-right-left" href="/es/concepts/transfers/overview">
    Crea y gestiona transferencias una vez que el cliente haya registrado sus métodos de pago.
  </Card>

  <Card title="Perfil de verificación" icon="shield-check" href="/es/concepts/onboarding/verification-profile">
    Entiende los estados de verificación, arreglos de criterios y qué desencadena los cambios de estado.
  </Card>
</CardGroup>
