Saltar para o conteúdo
Constaia
pt_citizen_card

Cartão de Cidadão

Documento de identificação português com chip e MRZ TD1; o verso inclui NIF, NISS e número de utente do SNS.

Categoria
Identidade
País
Portugal
Campos extraídos
16 campos
Custo
1 crédito
pt_citizen_cardspecimen
Número do documento
Nome próprio
Apelido
Sexo
Nacionalidade
Data de nascimento
Data de emissão
Data de validade
País emissor

O que verifica

  • MRZ ICAO 9303. Dígitos de controlo da zona de leitura ótica.
  • MRZ vs. dados impressos. A MRZ coincide com os dados visíveis.
  • Identificadores nacionais. Checksum ou formato oficial do número (NIF, CPF, CURP, RUT…).pt_cc, pt_nif
  • Titular. Nome, número ou data de nascimento coincidem com o esperado.
  • Idade. Idade mínima ou máxima a partir da data de nascimento.
  • Validade. Não caducado na data de referência.

Campos extraídos

  • Número do documentodocument_number
  • Nome própriofirst_name
  • Apelidolast_name
  • Sexosex
  • Nacionalidadenationality
  • Data de nascimentobirth_date
  • Data de emissãoissue_date
  • Data de validadeexpiry_date
  • País emissorissuing_country
  • Mrzmrz
  • Civil id numbercivil_id_number
  • Tax idtax_id
  • Social security numbersocial_security_number
  • Health numberhealth_number
  • Heightheight
  • Nome dos paisparents

Exemplo de pedido

curl https://api.constaia.com/v1/analyze \
  -H "Authorization: Bearer $CONSTAIA_API_KEY" \
  -F "file=@document.pdf" \
  -F 'options={
    "expect": "pt_citizen_card",
    "checks": {
      "not_expired": true,
      "holder": {
        "full_name": "Carmen Especimen Ruiz"
      }
    },
    "storage": "none"
  }'

Exemplo de resposta

Dados fictícios. Resposta abreviada.

200 OK · application/json
{
  "id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
  "object": "analysis",
  "status": "completed",
  "livemode": false,
  "document": {
    "type": "pt_citizen_card",
    "label": "Cartão de Cidadão",
    "confidence": 0.97
  },
  "verdict": {
    "expected": [
      "pt_citizen_card"
    ],
    "match": true,
    "status": "valid",
    "reasons": [
      {
        "code": "type_match",
        "severity": "info",
        "message": "O documento é: Cartão de Cidadão."
      }
    ]
  },
  "fields": {
    "document_number": {
      "value": "12345678 9 ZZ1",
      "confidence": 0.99,
      "validated": true
    },
    "first_name": {
      "value": "MARIA",
      "confidence": 0.98,
      "validated": null
    },
    "last_name": {
      "value": "ESPÉCIME",
      "confidence": 0.97,
      "validated": null
    },
    "sex": {
      "value": "F",
      "confidence": 0.96,
      "validated": null
    },
    "nationality": {
      "value": "PRT",
      "confidence": 0.99,
      "validated": null
    },
    "birth_date": {
      "value": "1985-07-30",
      "confidence": 0.98,
      "validated": null
    },
    "issue_date": {
      "value": "2023-03-15",
      "confidence": 0.97,
      "validated": null
    },
    "expiry_date": {
      "value": "2033-03-14",
      "confidence": 0.96,
      "validated": null
    },
    "issuing_country": {
      "value": "PRT",
      "confidence": 0.99,
      "validated": null
    },
    "mrz": {
      "value": "I<PRT1234567897ZZ1<<<<<<<<<<<<\n8507309F3303148PRT<<<<<<<<<<<7\nESPECIME<<MARIA<<<<<<<<<<<<<<<",
      "confidence": 0.98,
      "validated": null
    },
    "civil_id_number": {
      "value": "12345678 9",
      "confidence": 0.97,
      "validated": null
    },
    "tax_id": {
      "value": "123456789",
      "confidence": 0.96,
      "validated": null
    },
    "social_security_number": {
      "value": "11234567890",
      "confidence": 0.99,
      "validated": null
    },
    "health_number": {
      "value": "123456789",
      "confidence": 0.98,
      "validated": null
    },
    "height": {
      "value": "1,68",
      "confidence": 0.97,
      "validated": null
    }
  },
  "checks": [
    {
      "code": "mrz_checksums",
      "passed": true,
      "message": "Os dígitos de controlo da MRZ estão corretos."
    },
    {
      "code": "mrz_matches_visual",
      "passed": true,
      "message": "A MRZ coincide com os dados impressos."
    },
    {
      "code": "id_number",
      "passed": true,
      "message": "id_number"
    }
  ],
  "warnings": [],
  "storage": {
    "mode": "none",
    "file_deleted_at": "2026-09-29T10:00:02Z",
    "expires_at": null
  },
  "usage": {
    "credits": 1,
    "pages": 1
  }
}

FAQ

A Constaia prova que o documento é autêntico?

Não. Verifica o tipo, a coerência dos dados e as suas regras, e assinala sinais como possível edição ou fotografia de ecrã. Isso não prova autenticidade.

É guardada uma cópia do documento?

Não, a menos que o peça. Com storage "none" (por omissão) o ficheiro é apagado quando a análise termina.

Outros documentos

E para que conste…

Crie a sua conta, copie a chave de teste e valide o seu primeiro documento em cinco minutos.