CourtIQ Python SDK
SDK Python oficial para a API do CourtIQ — consulta processual automatizada.
Instalação
pip install courtiq
Quick Start
from courtiq import CourtIQ
client = CourtIQ(api_key="sua-api-key")
# Buscar processo por número
processo = client.processos.buscar(numero="0001234-56.2024.8.26.0100")
print(processo.partes)
# Consultar múltiplos processos
resultados = client.processos.buscar_lote(
numeros=["0001234-56.2024.8.26.0100", "0005678-90.2024.8.26.0100"]
)
# Monitorar processo (receber webhooks quando houver movimentação)
monitor = client.monitoramentos.criar(
numero_processo="0001234-56.2024.8.26.0100",
webhook_url="https://meu-servidor.com/webhook",
)
Configuração
from courtiq import CourtIQ
# Configuração completa
client = CourtIQ(
api_key="sua-api-key",
environment="production", # "production" ou "sandbox"
timeout=30, # timeout em segundos
max_retries=3, # retentativas automáticas
base_url=None, # URL customizada (self-hosted)
)
Recursos
Processos
# Buscar por número
processo = client.processos.buscar(numero="0001234-56.2024.8.26.0100")
# Buscar com filtros
processos = client.processos.listar(
tribunal="TJSP",
parte="João Silva",
data_inicio="2024-01-01",
data_fim="2024-12-31",
pagina=1,
limite=20,
)
# Movimentações
movs = client.processos.movimentacoes(numero="0001234-56.2024.8.26.0100")
Monitoramentos
# Criar monitoramento
monitor = client.monitoramentos.criar(
numero_processo="0001234-56.2024.8.26.0100",
webhook_url="https://meu-servidor.com/webhook",
eventos=["movimentacao", "publicacao"],
)
# Listar monitoramentos
monitores = client.monitoramentos.listar()
# Remover monitoramento
client.monitoramentos.remover(monitor_id=123)
Webhooks
# Validar assinatura de webhook
from courtiq.webhooks import verificar_assinatura
is_valid = verificar_assinatura(
payload=request.body,
signature=request.headers["X-CourtIQ-Signature"],
secret="seu-webhook-secret",
)
Tratamento de Erros
from courtiq.exceptions import (
CourtIQError,
AuthenticationError,
RateLimitError,
NotFoundError,
ValidationError,
)
try:
processo = client.processos.buscar(numero="...")
except AuthenticationError:
print("API key inválida ou expirada")
except RateLimitError as e:
print(f"Rate limit excedido. Tente novamente em {e.retry_after}s")
except NotFoundError:
print("Processo não encontrado")
except CourtIQError as e:
print(f"Erro: {e.message} (código: {e.code})")
Ambientes
| Ambiente | Base URL | Descrição |
|---|---|---|
| production | https://api.courtiq.com.br/v1 | Dados reais |
| sandbox | https://sandbox.courtiq.com.br/v1 | Dados mock para teste |
Licença
MIT
Metadata
Release files for courtiq 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| courtiq-0.1.1.tar.gz | 7.0 kB | Without provenance | Details for courtiq-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| courtiq-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for courtiq-0.1.1-py3-none-any.whl |
Total release size: 16.9 kB
Release files / courtiq-0.1.1.tar.gz
| Download URL | courtiq-0.1.1.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
80ffe53647520d9c14d8a54829d15f083476b9cf64764a611a8c834c24f01933
|
|
BLAKE2b-256 checksum How to use checksums |
1439a74bdc1ff02372a3a92496b5c077cc340c314afd9a0d08019398c07f48c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Release files / courtiq-0.1.1-py3-none-any.whl
| Download URL | courtiq-0.1.1-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b60f960e00d846d3718955a6ae1c3f51aa5de3c1cf2b0a9ab584d1a16374bfe3
|
|
BLAKE2b-256 checksum How to use checksums |
f801cfce1d178ca190517607177f6d5edf1e91ca08f36c09e8e83a264fc7e26b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Security for courtiq 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.