> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/api-rest/identity-api/identity-api-reference/onboarding/kyc/nigeria/address-verification/address-verify.md).

# Address Verify

Verifica la **dirección de residencia** de una persona en Nigeria a partir del **número de medidor eléctrico** y la compañía de distribución eléctrica (DisCo) que da servicio a la dirección.

### Endpoint

```
POST /kyc/nga/address
```

### Autenticación

| Tipo    | Ubicación | Nombre        |
| ------- | --------- | ------------- |
| API Key | Header    | **x-api-key** |

### Cuerpo de la solicitud

**Content-Type:** `application/json`

#### Parámetros

| Parámetro      | Tipo   | Requerido | Descripción                                                                                                                                                |
| -------------- | ------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `meter_number` | string | **Sí**    | Número del **medidor eléctrico** asociado a la dirección.                                                                                                  |
| `address`      | string | **Sí**    | Dirección a verificar.                                                                                                                                     |
| `disco_code`   | string | **Sí**    | Código de la **compañía de distribución eléctrica** (DisCo) que da servicio a la dirección. Ej.: `IKEJA`. Ver la lista completa de valores a continuación. |

Lista de **códigos DisCo aceptados** (49 valores):

<details>

<summary>Valores aceptados de disco_code</summary>

`ABUJA`, `BENIN`, `EKO`, `IKEJA`, `IBADAN`, `ENUGU`, `PH`, `JOS`, `KADUNA`, `KANO`, `BH`, `PROTOGY`, `PHISBOND`, `ACCESSPOWER`, `YOLA`, `ABIA`, `ADAMAWA`, `AKWA IBOM`, `ANAMBRA`, `BAUCHI`, `BAYELSA`, `BENUE`, `BORNO`, `CROSS RIVER`, `DELTA`, `EBONYI`, `EDO`, `EKITI`, `GOMBE`, `IMO`, `JIGAWA`, `KATSINA`, `KEBBI`, `KOGI`, `KWARA`, `LAGOS`, `NASSARAWA`, `NIGER`, `OGUN`, `ONDO`, `OSUN`, `OYO`, `PLATEAU`, `RIVERS`, `SOKOTO`, `TARABA`, `YOBE`, `ZAMFARA`, `FCT`

</details>

#### Ejemplo de solicitud

```json
{
  "meter_number": "04123456789",
  "address": "12 Sample St, Ikeja",
  "disco_code": "IKEJA"
}
```

### Respuestas

#### `200` Éxito

#### Parámetros de respuesta

| Parámetro              | Tipo    | Descripción                                                                                                                  |
| ---------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `serviceResultCode`    | integer | Código que indica el **resultado general** de la ejecución del servicio. Ver [Service Result Code](#service-result-code)     |
| `serviceTime`          | string  | Tiempo de procesamiento **(milisegundos)**.                                                                                  |
| `serviceResultLog`     | string  | Campo descriptivo del resultado de la ejecución del servicio. Incluye detalles cuando hay un error o excepción en el módulo. |
| `serviceTransactionId` | string  | Identificador de transacción asociado a la solicitud procesada por la API.                                                   |
| `data`                 | object  | Objeto con el resultado de la verificación de la dirección. Ver tabla a continuación.                                        |

#### Parámetros de respuesta — `data`

**Nota:** el objeto `data` se retorna **sin mapeo ni normalización de campos**.

| Parámetro          | Tipo    | Descripción                                                                                              |
| ------------------ | ------- | -------------------------------------------------------------------------------------------------------- |
| `verified`         | boolean | Indica si la dirección fue **verificada** contra los registros de la compañía de distribución eléctrica. |
| `confidence_level` | number  | **Nivel de confianza** de la coincidencia, de 0 a 100.                                                   |
| `disco_code`       | string  | Código de la compañía de distribución eléctrica consultada.                                              |
| `house_address`    | string  | Dirección registrada ante la compañía de distribución eléctrica.                                         |
| `house_owner`      | string  | **Nombre del titular** registrado ante la compañía de distribución eléctrica.                            |

#### Service Result Code

El `serviceResultCode` indica el resultado general de la ejecución del servicio y refleja el **código de estado HTTP** de la respuesta:

| serviceResultCode | Descripción                                                                          | Código HTTP |
| ----------------- | ------------------------------------------------------------------------------------ | ----------- |
| 200               | La ejecución del servicio fue exitosa, el módulo procesó la solicitud correctamente. | 200         |

#### Ejemplo de respuesta

```json
{
  "serviceResultCode": 200,
  "serviceTime": "1800",
  "serviceResultLog": "Success",
  "serviceTransactionId": "f52i346j-45j3-2i4m-i97i-3j792ik33kl",
  "data": {
    "verified": true,
    "confidence_level": 100,
    "disco_code": "IKEJA",
    "house_address": "12 Sample St, Ikeja, Lagos",
    "house_owner": "JOHN PAUL DOE"
  }
}
```

#### `400` Bad Request

Error retornado con el sobre del servicio (`serviceResultCode` refleja el código HTTP de la respuesta):

```json
{
  "serviceResultCode": 400,
  "serviceResultLog": "Sorry, lookup failed. Please check the details and try again",
  "serviceTime": "151",
  "serviceTransactionId": "08ac9699-dc9e-4cdc-81d7-264f71838309"
}
```

#### `502` Bad Gateway

Se retorna cuando el servicio no está disponible temporalmente o su respuesta no pudo interpretarse. El cuerpo usa el sobre del servicio con `serviceResultCode: 500`:

```json
{
  "serviceResultCode": 500,
  "serviceResultLog": "Service temporarily unavailable. Please try again later",
  "serviceTime": "3000",
  "serviceTransactionId": "38de2932-0f2h-7gff-14g0-597h04161632"
}
```

#### `504` Gateway Timeout

Error de **timeout**, retornado con el sobre del servicio:

```json
{
  "serviceResultCode": 504,
  "serviceResultLog": "Request timeout. Please try again",
  "serviceTime": "30000",
  "serviceTransactionId": "48ef3043-1g3i-8hgg-25h1-608i15272743"
}
```

{% hint style="info" %}
Los errores de autenticación (`401`/`403`) son rechazados por el **gateway antes de llegar al servicio** y **no** usan el sobre `serviceResultCode`. Los errores de validación de la plataforma usan el formato `application/problem+json`. Consulta [Manejo de errores](/api-rest/identity-api/identity-api-reference/onboarding/kyc/nigeria.md#manejo-de-errores) para el detalle de las tres formas de respuesta.
{% endhint %}
