> For the complete documentation index, see [llms.txt](https://selenium-4.gitbook.io/nexus-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://selenium-4.gitbook.io/nexus-docs/service-domain/product-directory/operacoes/main.md).

# Get Product Classifications

| Campo              | Valor                           |
| ------------------ | ------------------------------- |
| **Service Domain** | Product Directory               |
| **BIAN Version**   | 14.0.0                          |
| **Operation**      | Get Product Classifications     |
| **Method**         | GET                             |
| **API Name**       | Product Directory API           |
| **Versão**         | Não especificado na fonte       |
| **Endpoint**       | Não especificado na fonte       |
| **Autenticação**   | Bearer Token (OAuth 2.0 / OIDC) |

***

## 1. Descrição da Operação

O serviço permite consultar as classificações de produtos disponíveis no diretório de produtos do banco (Product Directory), retornando uma lista de entradas do diretório com os respetivos dados de classificação: código, nome, descrição, tipo, categoria, família, estado, data de lançamento, critérios de elegibilidade e canais de disponibilização.

***

## 2. Payload de Resposta (Response — 200 OK)

A resposta retorna uma lista (array) de entradas do diretório de produtos, cada uma identificada por `productDirectoryEntryReference` e detalhada em `productDirectoryEntryDetails`.

```json
[
  {
        "productDirectoryEntryReference": "PART_AKZ",
        "productDirectoryEntryDetails": {
            "productCode": "PART_AKZ",
            "productName": "Dep. Ordem PARTICULARES - M/N",
            "productDescription": "Dep. Ordem Particulares - Kwanzas",
            "productType": "DO",
            "productCategory": "Deposit Account",
            "productFamily": "Personal Banking",
            "productStatus": "Active",
            "productLaunchDate": "2013-06-06",
            "productEligibility": {
                "citizenshipRequired": false,
                "creditScoreRequired": false,
                "eligibleClientSegments": [
                    "EI",
                    "F",
                    "KP",
                    "P",
                    "PR",
                    "S"
                ],
                "residencyRequired": false,
                "minimumAge": 0,
                "minimumIncome": 0,
                "eligibleCustomerTypes": [
                    "P"
                ]
            },
            "productChannels": {
                "availableChannels": [
                    "ONBOARDING"
                ]
            }
        }
    }
]
```

### 2.1 Objecto Raiz (elemento do array)

| Campo                            | Tipo   | Descrição                                                           |
| -------------------------------- | ------ | ------------------------------------------------------------------- |
| `productDirectoryEntryReference` | string | Referência/identificador único da entrada no diretório de produtos. |
| `productDirectoryEntryDetails`   | object | Detalhes de classificação do produto. Ver secção 2.2.               |

### 2.2 Objecto: `productDirectoryEntryDetails`

| Campo                | Tipo              | Descrição                                              |
| -------------------- | ----------------- | ------------------------------------------------------ |
| `productCode`        | string            | Código do produto.                                     |
| `productName`        | string            | Nome do produto.                                       |
| `productDescription` | string            | Descrição do produto.                                  |
| `productType`        | string            | Tipo de produto (ex.: `DO`).                           |
| `productCategory`    | string            | Categoria do produto (ex.: `Deposit Account`).         |
| `productFamily`      | string            | Família de produto (ex.: `Personal Banking`).          |
| `productStatus`      | string            | Estado do produto (ex.: `Active`).                     |
| `productLaunchDate`  | string (ISO 8601) | Data de lançamento do produto.                         |
| `productEligibility` | object            | Critérios de elegibilidade do produto. Ver secção 2.3. |
| `productChannels`    | object            | Canais de disponibilização do produto. Ver secção 2.4. |

### 2.3 Objecto: `productEligibility`

| Campo                    | Tipo            | Descrição                                                                                      |
| ------------------------ | --------------- | ---------------------------------------------------------------------------------------------- |
| `citizenshipRequired`    | boolean         | Indica se é exigida cidadania específica para elegibilidade.                                   |
| `creditScoreRequired`    | boolean         | Indica se é exigido score de crédito para elegibilidade.                                       |
| `eligibleClientSegments` | array de string | Lista de segmentos de cliente elegíveis para o produto (ex.: `EI`, `F`, `KP`, `P`, `PR`, `S`). |
| `residencyRequired`      | boolean         | Indica se é exigida residência para elegibilidade.                                             |
| `minimumAge`             | integer         | Idade mínima exigida para elegibilidade.                                                       |
| `minimumIncome`          | decimal         | Rendimento mínimo exigido para elegibilidade.                                                  |
| `eligibleCustomerTypes`  | array de string | Lista de tipos de cliente elegíveis para o produto (ex.: `P`).                                 |

### 2.4 Objecto: `productChannels`

| Campo               | Tipo            | Descrição                                                                |
| ------------------- | --------------- | ------------------------------------------------------------------------ |
| `availableChannels` | array de string | Lista de canais nos quais o produto está disponível (ex.: `ONBOARDING`). |
