Skip to main content

identify-ao

SDK em Python para consulta de identidades pessoais e de empresas via NIF angolano utilizando a API Identity Lookup.

📋 Requisitos

  • Python 3.8+
  • requests >= 2.31.0

Instalação

Via pip (após publicação)

pip install identify-ao

Desenvolvimento local

git clone https://github.com/omariscode/identify-ao.git
cd identify-ao
pip install -e .

Uso Básico

Importar o SDK

from identify_ao import personal_nif, company_nif

Consultar NIF Pessoal

try:
    resultado = personal_nif("12345678901")
    print(resultado)
except Exception as e:
    print(f"Erro: {e}")

Resposta esperada:

{
    "fullName": "Morgado Andrade De Melo",

    "address": "VIANA, NA, CASA Nº XXXX ZONA YY",

    "dateOfBirth": "2000-01-04"
}

Consultar NIF de Empresa

try:
    resultado = company_nif("123456789")
    print(resultado)
except Exception as e:
    print(f"Erro: {e}")

Resposta esperada:

{
    "companyName": "UNITEL, S.A"
}

Tratamento de Erros

O SDK levanta IdentityLookupError em caso de falhas:

from identify_ao.core import IdentityLookupError, personal_nif

try:
    dados = personal_nif("invalid-nif")
except IdentityLookupError as e:
    print(f"Falha na consulta: {e}")

Tipos de erros:

  • Conexão falhou: Problema de rede ou API indisponível
  • Resposta inválida: A API retornou um formato não esperado
  • NIF inválido: O NIF fornecido não existe ou é inválido

Estrutura do Projeto

identify-ao/
├── identify_ao/
│   ├── __init__.py          # Exports públicos
│   └── core.py              # Lógica principal
├── pyproject.toml           # Configuração do pacote
├── requirements.txt         # Dependências
└── README.md                # Este ficheiro

🔌 API Reference

personal_nif(nif: str) -> dict

Consulta informações de uma pessoa pelo NIF.

Parâmetros:

  • nif (str): NIF angolano da pessoa (14 dígitos)

Retorna:

  • dict: Dados da pessoa ou informações de erro

Levanta:

  • IdentityLookupError: Se a consulta falhar

company_nif(nif: str) -> dict

Consulta informações de uma empresa pelo NIF.

Parâmetros:

  • nif (str): NIF angolano da empresa (14 dígitos)

Retorna:

  • dict: Dados da empresa ou informações de erro

Levanta:

  • IdentityLookupError: Se a consulta falhar

Exemplos

Script simples

from identify_ao import personal_nif, company_nif, IdentityLookupError

def consultar_identidade(nif, tipo="pessoal"):
    try:
        if tipo == "pessoal":
            resultado = personal_nif(nif)
        else:
            resultado = company_nif(nif)
        
        print(f"✓ Consulta bem-sucedida:")
        for chave, valor in resultado.items():
            print(f"  {chave}: {valor}")
    
    except IdentityLookupError as e:
        print(f"✗ Erro na consulta: {e}")

# Uso
consultar_identidade("12345678901", "pessoal")
consultar_identidade("123456789", "empresa")

Licença

MIT

Autor

Omar Rodrigues - omarscode007@gmail.com

Contribuições

Contribuições são bem-vindas! Por favor:

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/TuaFeature)
  3. Commit suas mudanças (git commit -m 'Adiciona MinhaFeature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request

Suporte

Para reportar bugs ou fazer sugestões, abra uma issue no repositório.

Release files for identify-ao 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for identify-ao 0.1.0
File Size Uploaded
identify_ao-0.1.0.tar.gz 3.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for identify-ao 0.1.0
File Interpreter ABI Platform
identify_ao-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 7.1 kB

Release files / identify_ao-0.1.0.tar.gz

Download URL identify_ao-0.1.0.tar.gz
Size 3.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1b0ec0055841e8e0299ae7eea2beef7fc29463ee01fbcfd39740062badd64ebe
BLAKE2b-256 checksum
How to use checksums
ddb122e91ccec6eddea1d8b6b99e71e1fb909eee3647bf744a80b943bbe62ab4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / identify_ao-0.1.0-py3-none-any.whl

Download URL identify_ao-0.1.0-py3-none-any.whl
Size 3.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb431d282cc35919049b274015feb720854b5291a47c26eb1703e9f4343296a9
BLAKE2b-256 checksum
How to use checksums
fcae9fad72ef275d3bffcca4a46dab1f30927f772790be5fcbb1e1a719270241
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page