## URL da API
URL utilizado para enviar pedidos HTTP:
```url
https://portal.bulkgate.com/api/1.0/address-book/get
```

> [!NOTE]
> Se o pedido não chegar ao destino, repita-o no [servidor de reserva](https://www.bulkgate.com/pt/documentacao/administracao-da-api/servidor-de-reserva/) `backup1.bulkgate.com`.


## Métodos HTTP suportados

- `POST` - `application/json`

```http
POST /api/1.0/address-book/get HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
```

## Tabela de parâmetros

| NOME DO PARÂMETRO    | VALOR                                         | OBRIGATÓRIO | VALOR PREDEFINIDO |
|:------------------|:----------------------------------------------|:----------|:--------------|
| application_id    | [ID da aplicação](https://www.bulkgate.com/pt/documentacao/administracao-da-api/administracao-de-apis/) | **Sim**   | -             | 
| application_token | [Token da aplicação](https://www.bulkgate.com/pt/documentacao/administracao-da-api/tokens-de-api/)	     | **Sim**   | -             |
| phone_number      | Número de telefone a pesquisar.               | **Sim**   | -             |
| category          | A agenda de contactos com que se trabalha. Por predefinição, a agenda principal da conta. | Não       | `main`                      |


## Exemplo de pedido

```http-json
POST /api/1.0/address-book/get HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"phone_number": "123456789"
}
```

## Resposta

**Em caso de sucesso:**
```json
{
    "data": {
        "phone_mobile": "123456789",
        "phone": "",
        "phone_number_iso": null,
        "email": "",
        "url": "",
        "first_name": "Morgan",
        "last_name": "Yu",
        "title_before": "",
        "title_after": "",
        "gender": "",
        "type": "",
        "street1": "",
        "street2": "",
        "city": "",
        "zip": "",
        "state": "",
        "country": "",
        "company_name": "",
        "company_number": "",
        "company_vat": "",
        "custom_field_0": "",
        "custom_field_1": "",
        "custom_field_2": "",
        "custom_field_3": "",
        "custom_field_4": "",
        "custom_field_5": "",
        "custom_field_6": "",
        "custom_field_7": "",
        "custom_field_8": "",
        "custom_field_9": ""
    }
}
```


**Em caso de erro:**
```json
{
    "type": "number_not_found",
    "code": 400,
    "error": "Number not found",
    "detail": null
}
```

```json
{
    "type": "invalid_phone_number",
    "code": 400,
    "error": "Invalid phone number",
    "detail": null
}
```

Em que:

- **type** e **error** (descrição do erro) encontram-se na [tabela de tipos de erros](https://www.bulkgate.com/pt/documentacao/administracao-da-api/tipos-de-erro-api/)
- **code** representa o código de erro HTTP
- **detail** contém informações adicionais sobre o erro
