Skip to main content

SDK em Python para consulta de NIF pessoal e de empresa via API Identity Lookup

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

identify_ao-0.1.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

identify_ao-0.1.0-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file identify_ao-0.1.0.tar.gz.

File metadata

  • Download URL: identify_ao-0.1.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for identify_ao-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1b0ec0055841e8e0299ae7eea2beef7fc29463ee01fbcfd39740062badd64ebe
MD5 afa6016fe7d3d8cceb9f51fd7311b521
BLAKE2b-256 ddb122e91ccec6eddea1d8b6b99e71e1fb909eee3647bf744a80b943bbe62ab4

See more details on using hashes here.

File details

Details for the file identify_ao-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: identify_ao-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for identify_ao-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb431d282cc35919049b274015feb720854b5291a47c26eb1703e9f4343296a9
MD5 1f310d2242f97e093f9f79e102f989ea
BLAKE2b-256 fcae9fad72ef275d3bffcca4a46dab1f30927f772790be5fcbb1e1a719270241

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page