Funções utilitárias para trabalhar com API IXC e manipulação de dados
Project description
IXC Utils
Biblioteca Python com funções utilitárias para trabalhar com a API IXC Soft e manipulação de dados relacionados.
Instalação
pip install ixc-utils
Funcionalidades
Requisições à API IXC
requisicao_ixc()- Requisição genérica à APIrequisicao_ixc_especifica()- Requisição otimizada para IDs específicosmapeamento()- Cria dicionários de mapeamento a partir da API
Filtros e Manipulação de Dados
grid_param()- Cria filtros no formato da API IXCfiltrar_dataframe()- Filtra DataFrames usando regex
Processamento de Texto
limpar_prefixo_filial()- Remove prefixos de filiallimpar_endereco()- Limpa e formata endereçossubstituir_nulos()- Substitui valores vazios
Processamento de Dados
get_firstpay()- Obtém primeiro pagamento de parcelas recorrentes
Uso Básico
Requisições à API
from ixc_utils import configure, requisicao_ixc, mapeamento
# Configurar credenciais
configure(
api_url="https://SEU_DOMINIO/webservice/v1",
api_key="sua-chave-api"
)
# Fazer uma requisição simples
df = requisicao_ixc(
rota="cliente"
)
# Criar mapeamento
clientes_map = mapeamento(
rota="cliente",
id="id",
traducao="nome"
)
Requisições Otimizadas
from ixc_utils import requisicao_ixc_especifica
# Buscar contratos específicos por IDs
ids = [1, 2, 3, 4, 5]
df = requisicao_ixc_especifica(
rota="cliente_contrato",
ids=ids,
tabela="id"
)
Criando Filtros
from ixc_utils import grid_param
# Criar filtro complexo
filtro = grid_param(
('id_cliente', '=', '123', 'AND'),
('status', '=', 'A', 'AND')
)
# Usar o filtro na requisição
df = requisicao_ixc(
rota="cliente_contrato",
query=filtro
)
Filtrar DataFrame
from ixc_utils import filtrar_dataframe
# Filtrar por padrão
df_filtrado = filtrar_dataframe(
df,
coluna='nome',
padroes_regex=['João', 'Maria']
)
# Filtrar excluindo padrão
df_sem_teste = filtrar_dataframe(
df,
coluna='status',
padroes_regex='teste',
negar=True
)
Manipulação de Texto
from ixc_utils import limpar_prefixo_filial, limpar_endereco, substituir_nulos
# Limpar prefixo de filial
plano = limpar_prefixo_filial("01 Plano Fibra 500MB")
# Resultado: "PLANO FIBRA 500MB"
# Limpar endereço
endereco = limpar_endereco("Rua ABC, 123 - Apto. 45")
# Resultado: "Rua Abc Apto"
# Substituir valores vazios
valor = substituir_nulos("", "N/A")
# Resultado: "N/A"
Processamento de Pagamentos
from ixc_utils import get_firstpay
# Obter primeiro pagamento por cliente
primeiro_pag = df.groupby('id_cliente').apply(get_firstpay)
Requisitos
- Python >= 3.8
- pandas >= 1.5.0
- requests >= 2.28.0
- numpy >= 1.23.0
Licença
MIT License
Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.
Autor
César Bragança - cesarbgf.contato@gmail.com
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ixc_utils-0.2.1.tar.gz.
File metadata
- Download URL: ixc_utils-0.2.1.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56c480f4937bcaff49c2e8a255d7dc7840f9cbf012dad30f2ccf6b9a912c6f97
|
|
| MD5 |
a13613b0a08ef0762b2c8105931037fc
|
|
| BLAKE2b-256 |
c1ef5e6b9bb4bd91422c8508bc02b4e7a86e7559677c09dd3f46e9250188d782
|
File details
Details for the file ixc_utils-0.2.1-py3-none-any.whl.
File metadata
- Download URL: ixc_utils-0.2.1-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
752e038414f9c687ebf706a17821caa257a249663b1ac33d42d14be0a208df46
|
|
| MD5 |
3606206a38a4eefc1cf85ba92c2d029f
|
|
| BLAKE2b-256 |
a10534795a6bcfffbb4ff055f3a79579dfbc2534c094a40841b9c03148d793ad
|