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

# Búsqueda de destinatario para transferencia de billetera

Se utiliza para recuperar el `account_id` de la cuenta para transferir fondos.

<br />

### Descripción general

Dos consultas para buscar destinatarios para operaciones de transferencia:

* `lookupUser` - Encontrar un usuario por teléfono o email
* `lookupBusiness` - Encontrar negocios por nombre de la empresa

***

### lookupUser

Buscar un destinatario usuario individual.

#### Consulta (UserLookupInput)

```graphql theme={null}
lookupUser(input: UserLookupInput!): UserLookupResult!
```

**Requiere**: alcance `QUERY_RECIPIENT`.

#### Entrada

| Campo       | Tipo   | Requerido | Descripción                                                                    |
| :---------- | :----- | :-------- | :----------------------------------------------------------------------------- |
| phoneNumber | String | No\*      | El número de teléfono del destinatario en formato E.164 (p. ej., +14155551234) |
| email       | String | No\*      | La dirección de email del destinatario                                         |

*Proporciona exactamente un campo*

#### Respuesta (UserLookupResult)

| Campo       | Tipo    | Descripción                              |
| :---------- | :------ | :--------------------------------------- |
| recipientId | UUID!   | ID de cuenta del destinatario            |
| displayName | String! | Nombre para mostrar ("Nombre Apellido")) |

#### Ejemplos

**Por teléfono:**

```graphql theme={null}
query {
  lookupUser(input: { phoneNumber: "+14155551234" }) {
    recipientId
    displayName
  }
}
```

**Por email:**

```graphql theme={null}
query {
  lookupUser(input: { email: "jane@example.com" }) {
    recipientId
    displayName
  }
}
```

**Éxito:**

```json theme={null}
{
  "data": {
    "lookupUser": {
      "recipientId": "a2c02ec6-357b-41cf-9229-4da34e727019",
      "displayName": "John Doe"
    }
  }
}
```

**No encontrado:**

```json theme={null}
{
  "errors": [{
    "message": "No recipient found with the provided information.",
    "extensions": { "code": "RC-0001" }
  }]
}
```

#### Códigos de error

| Código  | Descripción                    |
| :------ | :----------------------------- |
| RC-0001 | Destinatario no encontrado     |
| RC-0002 | Múltiples coincidencias (raro) |
| AR-0001 | Entrada inválida/faltante      |
| GE-9999 | Error del servidor             |

***

### lookupBusiness

Buscar destinatarios de negocio por nombre de la empresa.

#### Consulta

```graphql theme={null}
lookupBusiness(input: BusinessLookupInput!): [BusinessLookupResult!]!
```

**Requiere**: alcance `QUERY_RECIPIENT`.

#### Entrada

| Campo       | Tipo   | Requerido | Descripción                                                         |
| :---------- | :----- | :-------- | :------------------------------------------------------------------ |
| companyName | String | Sí        | Nombre de la empresa (insensible a mayúsculas, coincidencia exacta) |

**Nota:** Busca tanto el nombre comercial registrado como el nombre DBA. Debe coincidir exactamente (insensible a mayúsculas).

#### Respuesta

| Campo       | Tipo    | Descripción                                                                         |
| :---------- | :------ | :---------------------------------------------------------------------------------- |
| recipientId | UUID!   | ID de cuenta del destinatario                                                       |
| displayName | String! | Nombre para mostrar (DBA si está disponible, de lo contrario nombre de la empresa)) |
| companyName | String! | Nombre formateado: "Company Name (DBA Name)"                                        |
| state       | String  | Estado de la dirección legal del negocio                                            |

#### Ejemplos

```graphql theme={null}
query {
  lookupBusiness(input: { companyName: "acme corporation" }) {
    recipientId
    displayName
    companyName
    state
  }
}
```

**Coincidencia única:**

```json theme={null}
{
  "data": {
    "lookupBusiness": [
      {
        "recipientId": "c4e24ge8-579d-63eh-b451-6fc56g949241",
        "displayName": "Acme Corporation",
        "companyName": "Acme Corporation",
        "state": "CA"
      }
    ]
  }
}
```

**Múltiples coincidencias (mismo nombre, diferentes DBA):**

```json theme={null}
{
  "data": {
    "lookupBusiness": [
      {
        "recipientId": "c4e24ge8-579d-63eh-b451-6fc56g949241",
        "displayName": "Acme Retail",
        "companyName": "Acme Corporation (Acme Retail)",
        "state": "CA"
      },
      {
        "recipientId": "d5f35hf9-680e-74fi-c562-7gd67h050352",
        "displayName": "Acme Wholesale",
        "companyName": "Acme Corporation (Acme Wholesale)",
        "state": "NY"
      }
    ]
  }
}
```

**No encontrado:**

```json theme={null}
{
  "errors": [{
    "message": "No recipient found with the provided information.",
    "extensions": { "code": "RC-0001" }
  }]
}
```

#### Códigos de error

| Código  | Descripción                |
| :------ | :------------------------- |
| RC-0001 | Destinatario no encontrado |
| AR-0001 | Entrada inválida/faltante  |
| GE-9999 | Error del servidor         |

***

<br />

### Notas importantes

#### lookupUser

* Los números de teléfono deben estar en formato E.164 (p. ej., +14155551234)
* Números de EE. UU. de 10 dígitos se normalizan automáticamente
* El email no distingue entre mayúsculas y minúsculas
* Lanza error si no se encuentra

### lookupBusiness

* Coincidencia exacta insensible a mayúsculas: "acme corporation" coincide con "ACME CORPORATION" o "Acme Corporation"
* Busca tanto el nombre del negocio como el nombre DBA
* Devuelve un arreglo (puede contener múltiples negocios con el mismo nombre)
* Lanza error si no se encuentran coincidencias
* `companyName` se formatea como "Business Name (DBA Name)" cuando el DBA difiere del nombre del negocio
