> ## 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.

# Brasilien Unternehmensregister-Abfrage (CNPJ) API

> Brasilien Unternehmensregister-Abfrage (CNPJ) per Didit: maßgebliche Datenbankabfrage für Brasilien. Pro Aufruf ab $0.20, ohne Verträge, ohne Mindestabnahme.

Sucht ein brasilianisches Unternehmen anhand seiner CNPJ im Register der Receita Federal: Firmen- und Handelsname, Registrierungsstatus, Gründungsdatum, Rechtsform, Haupttätigkeit und Bundesstaat des Hauptsitzes. Didit stellt diesen Dienst über `POST /v3/database-validation/` bereit, sodass Sie die übermittelten Daten mit der maßgeblichen Quelle abgleichen und normalisierte Übereinstimmungsergebnisse erhalten.

## Abdeckung

* **Abdeckung:** \~ 100%
* **Land:** Brasilien
* **Service-ID:** `bra_company_registry`
* **Datenbereich:** Behörden
* **Kategorie:** CompanyRegister

## Eingaben

| Feld | Pflichtfeld | Beispiel |
| - | -: | - |
| `company_registration_number` | Ja | `11222333000181` |
| `vendor_data` | Nein | `user-1234` |

* **Pflichteingaben:** `company_registration_number`
* **Optionale Eingaben:** `vendor_data`
* **Einwilligung:** Nicht erforderlich
* **Verfügbarkeit im Workflow:** Im Workflow verfügbar mit Feldzuordnung
* **Abdeckung:** \~ 100%
* **Preis:** \$0.20 pro erfolgreiche Abfrage

Im Workflow ist `company_registration_number` nicht auf einem Ausweisdokument aufgedruckt, daher erzeugt kein Schritt sie von selbst. Erfassen Sie sie über eine Antwort aus einem Fragebogen, über ein Feld aus der Document-AI-Extraktion oder über einen Wert, den Sie beim Erstellen der Sitzung senden, und ordnen Sie sie dem Schritt Datenbankvalidierung zu. Solange sie nicht zugeordnet ist, zeigt der Workflow-Editor diesen Dienst als deaktiviert an und nennt die fehlende Eingabe. Zur Laufzeit bedeutet eine fehlende Eingabe, dass die Prüfung vor jeder Abfrage übersprungen wird, sodass Ihnen nie eine Datenbank berechnet wird, die nicht abgefragt werden konnte.

## Body-Parameter

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

ISO-3166-1-Alpha-3-Ländercode für diesen Datenbankdienst.

Beispiel: `BRA`

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

Array, das diese Service-ID enthält. Das Festlegen des Dienstes hält die Anfrage auf genau diese Datenbank beschränkt.

Beispiel: `bra_company_registry`

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

Wert `company_registration_number`, den dieser Datenbankdienst benötigt.

Beispiel: `11222333000181`

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

Ihre stabile Benutzerreferenz für diese Person, zum Beispiel Ihre interne Benutzer-ID. Didit nutzt sie, um eigenständige Prüfungen demselben Endbenutzer zuzuordnen und Fehlalarme bei der Duplikaterkennung zu verringern.

Beispiel: `user-1234`

## Eingaberegeln und Validierungshinweise

* `company_registration_number` muss dem Muster `[0-9A-Za-z]{2}\.?[0-9A-Za-z]{3}\.?[0-9A-Za-z]{3}/?[0-9A-Za-z]{4}-?\d{2}` entsprechen.

## So rufen Sie es auf

```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"
```

Jeder erfolgreiche Aufruf gibt HTTP `200` zurück. Das Feld **`outcome_code`** zeigt, was tatsächlich passiert ist. Es unterscheidet zum Beispiel eine echte biometrische Abweichung (`BIOMETRIC_NO_MATCH`) von einem Selfie, das nicht gelesen werden konnte (`BIOMETRIC_IMAGE_UNUSABLE`). Der angezeigte `status` ist der Standardstatus der Funktion. Ihre konfigurierten [Aktionen für Teilübereinstimmung / keine Übereinstimmung](https://docs.didit.me/de/core-technology/database-validation/database-validation-warnings.md) können ihn überschreiben.

**`MATCH`**: Das Register hat die Identität bestätigt, und jedes geprüfte Feld stimmte überein.

```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`**: Die übermittelte Dokumentnummer entspricht keinem Eintrag im Register.

```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": {}
    }
  ]
}
```

## Rückgabedaten

Welche Felder genau in `source_data` erscheinen, hängt davon ab, was das Register zurückgibt. Das generierte Beispiel für `bra_company_registry` dokumentiert derzeit folgende normalisierte Struktur:

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

## Preise und SLAs

Für Brasilien – Abfrage des Unternehmensregisters (CNPJ) werden Abfragen nur berechnet, wenn Didit von der Validierungsquelle ein eindeutiges Ergebnis erhält.

* **Preis pro Aufruf:** \$0.20 USD.
* **Abrechnung:** pro erfolgreiche Abfrage. Ihnen wird nichts berechnet, wenn das Register nicht erreichbar ist, Pflichtfelder fehlen oder die Anfrage abgelehnt wird, bevor sie die Quelle erreicht.
* **Latenz:** typischerweise p95 unter 2 s.
* **Verfügbarkeit:** 99.9% pro Quartal auf Seiten von Didit. Die Verfügbarkeit der nachgelagerten Quelle variiert je nach Land und Datensatz.

## Weiterlesen

* [Übersicht: Datenbankvalidierung für Brasilien](https://docs.didit.me/api-reference/database-validation/brazil.md)
* [Übersicht: Datenbankvalidierung](https://docs.didit.me/de/core-technology/database-validation/overview.md)
* [Ergebniscodes](https://docs.didit.me/de/core-technology/database-validation/database-validation-outcome-codes.md)


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