Implementação do sistema SIGEP Web em Python permitindo integração com Web Service do Correios. O Módulo funciona como uma interface de consulta para os métodos fornecidos pelo webservice.
- Verificar status de um Cartão de Postagem
- Obter dados do endereço a partir de seu respectivo CEP.
- Verificar disponibilidade de um dado serviço.
- Gerar etiquetas para postagem de mercadoria.
- Criação da pré-lista de postagem (PLP) e envio de seu XML para o webservice dos Correios.
- Imprimir etiqueta da PLP.
- Imprimir Chancela.
- Rotinas de logística reversa.
- Calcula frete e prazo de entrega.
A versão atual ainda esta em fase de desenvolvimento, sendo que os recursos disponiveis podem ser removidos sem aviso prévio. Portanto, não é recomendável seu uso em ambiente de produção.
pip install pysigep
As dependências do projeto estão listadas no arquivo requeriments.txt.
pip install -r requeriments.txt# -*- coding: utf-8 -*-
from pysigep.sigep import cep_consulta
from pysigep.sigep import verifica_disponibilidade_servico
# Executando a consulta de CEP
cep = {'cep': '83010140'}
consulta = cep_consulta(**cep)
print consulta.bairro
print consulta.cep
print consulta.cidade
print consulta.complemento
print consulta.complemento2
print consulta.end
print consulta.id
print consulta.uf
# Verificando disponibilidade de serviço
usuario = {
'codAdministrativo': '08082650',
'numeroServico': '40215',
'cepOrigem': '70002900',
'cepDestino': '81350120',
'usuario': 'sigep',
'senha': 'n5f9t8',
}
with self.assertRaises(Exception):
print verifica_disponibilidade_servico(**usuario)
# Solicitando etiquetas
solicitacao = {
'usuario': 'sigep',
'senha': 'n5f9t8',
'identificador': '34028316000103',
'idServico': '104625',
'qtdEtiquetas': '10',
}
with self.assertRaises(Exception):
print solicita_etiquetas_com_dv(**solicitacao)Caso você deseje executar os testes, basta usar o comando abaixo (necessário estar conectado à internet):
python setup.py testEncontrou algum erro? Quer adicionar alguma feature nova ao projeto? Faça um fork deste repositório e me envie um Pull Request. Contribuições sempre são bem vindas.