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

# Ricerca registro imprese Brasile (CNPJ) API

> Consultazione del registro imprese brasiliano (CNPJ) con Didit, su database ufficiale. Da $0.20 a chiamata, senza contratti né minimi.

Cerca un'azienda brasiliana tramite CNPJ nel registro della Receita Federal: ragione sociale e nome commerciale, stato di iscrizione, data di costituzione, natura giuridica, attività principale e stato della sede legale. Didit espone questo servizio tramite `POST /v3/database-validation/` così puoi verificare i dati inviati rispetto alla fonte autorevole e ricevere risultati di corrispondenza normalizzati.

## Copertura

* **Copertura:** \~ 100%
* **Paese:** Brasile
* **ID servizio:** `bra_company_registry`
* **Dominio dei dati:** Governo
* **Categoria:** CompanyRegister

## Input

| Campo | Obbligatorio | Esempio |
| - | -: | - |
| `company_registration_number` | Sì | `11222333000181` |
| `vendor_data` | No | `user-1234` |

* **Input obbligatori:** `company_registration_number`
* **Input facoltativi:** `vendor_data`
* **Consenso:** non richiesto
* **Disponibilità nel workflow:** disponibile nel workflow con mappatura dei campi
* **Copertura:** \~ 100%
* **Prezzo:** \$0.20 per query riuscita

In un workflow, `company_registration_number` non è stampato su alcun documento d'identità, quindi nessun passaggio lo produce autonomamente. Raccoglilo da una risposta di un Questionario, da un campo estratto tramite Document AI oppure da un valore che invii quando crei la sessione, e mappalo nel passaggio Validazione su database. Finché non è mappato, l'editor del workflow mostra questo servizio disabilitato e indica l'input mancante. In fase di esecuzione, un input mancante fa sì che il controllo venga saltato prima di qualsiasi query, quindi non ti viene mai addebitato il costo di una query a un database che non è stato possibile interrogare.

## Parametri del body

**issuing\_state** `string` *required* (default: BRA)

Codice paese ISO 3166-1 alpha-3 per questo servizio di database.

Esempio: `BRA`

**services** `string` *required* (default: bra\_company\_registry)

Array contenente questo ID servizio. Specificare il servizio limita la richiesta a questo database preciso.

Esempio: `bra_company_registry`

**company\_registration\_number** `string` *required* (default: 11222333000181)

Valore di `company_registration_number` richiesto da questo servizio di database.

Esempio: `11222333000181`

**vendor\_data** `string` (default: user-1234)

Il tuo riferimento stabile per questa persona, ad esempio il tuo ID utente interno. Didit lo usa per collegare i controlli autonomi allo stesso utente finale e ridurre il rumore dei rilevamenti di duplicati.

Esempio: `user-1234`

## Regole di input e note di validazione

* `company_registration_number` deve corrispondere a `[0-9A-Za-z]{2}\.?[0-9A-Za-z]{3}\.?[0-9A-Za-z]{3}/?[0-9A-Za-z]{4}-?\d{2}`.

## Come effettuare la chiamata

```bash cURL theme={null}
curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=BRA" \
  -F "services=bra_company_registry" \
  -F "vendor_data=user-1234" \
  -F "company_registration_number=11222333000181"
```

Ogni chiamata riuscita restituisce HTTP `200`. Il campo **`outcome_code`** ti indica cosa è effettivamente accaduto, distinguendo ad esempio una vera mancata corrispondenza biometrica (`BIOMETRIC_NO_MATCH`) da un selfie che non è stato possibile leggere (`BIOMETRIC_IMAGE_UNUSABLE`). Lo `status` mostrato è lo stato predefinito della funzionalità; le tue [azioni Partial Match / No Match configurate](https://docs.didit.me/it/core-technology/database-validation/database-validation-warnings.md) possono sovrascriverlo.

**`MATCH`**: il registro ha confermato l'identità e ogni campo verificato corrisponde.

```json 200 OK — MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "BRA",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "bra_company_registry",
      "service_name": "Brazil - Company Registry Lookup (CNPJ)",
      "source_data": {
        "company_name": "EMPRESA EXEMPLO LTDA",
        "company_status": "ATIVA",
        "company_status_date": "2025-01-10",
        "headquarters_state": "SP",
        "legal_nature": "SOCIEDADE EMPRESARIA LIMITADA",
        "main_activity": "DESENVOLVIMENTO DE PROGRAMAS DE COMPUTADOR SOB ENCOMENDA",
        "main_activity_code": "6201501",
        "registration_date": "2010-03-15",
        "registration_number": "11222333000181",
        "trade_name": "EXEMPLO"
      },
      "validation": {}
    }
  ]
}
```

**`DOCUMENT_NOT_FOUND`**: il numero di documento inviato non corrisponde ad alcun record nel registro.

```json 200 OK — DOCUMENT_NOT_FOUND theme={null}
{
  "request_id": "req_01H…",
  "status": "Declined",
  "issuing_state": "BRA",
  "match_type": "no_match",
  "validations": [
    {
      "outcome_code": "DOCUMENT_NOT_FOUND",
      "service_id": "bra_company_registry",
      "service_name": "Brazil - Company Registry Lookup (CNPJ)",
      "source_data": {
        "identification_number": "NO_MATCH"
      },
      "validation": {}
    }
  ]
}
```

## Dati restituiti

I campi esatti esposti in `source_data` dipendono da ciò che restituisce il registro. Lo schema generato per `bra_company_registry` documenta attualmente questa struttura normalizzata:

* `company_name`
* `company_status`
* `company_status_date`
* `headquarters_state`
* `identification_number`
* `legal_nature`
* `main_activity`
* `main_activity_code`
* `registration_date`
* `registration_number`
* `trade_name`

## Prezzi e SLA

Le query Brasile - Ricerca nel registro delle imprese (CNPJ) vengono fatturate solo quando Didit riceve un risultato conclusivo dalla fonte di validazione.

* **Prezzo per chiamata:** \$0.20 USD.
* **Fatturazione:** per query riuscita. Non ti viene addebitato nulla quando il registro non è raggiungibile, quando mancano campi obbligatori o quando la richiesta viene rifiutata prima di raggiungere la fonte.
* **Latenza:** p95 tipico \< 2 s.
* **Disponibilità:** 99.9% per trimestre lato Didit; la disponibilità della fonte a valle varia in base al paese e al dataset.

## Continua a leggere

* [Panoramica Validazione su database per il Brasile](https://docs.didit.me/api-reference/database-validation/brazil.md)
* [Panoramica Validazione su database](https://docs.didit.me/it/core-technology/database-validation/overview.md)
* [Codici di esito](https://docs.didit.me/it/core-technology/database-validation/database-validation-outcome-codes.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.