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 em formato PDF.
- Imprimir Chancela em formato PDF.
- Rotinas de logística reversa.
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
- python 2.7 (suporte para python 3 em breve)
- requests
Instalação do requests: sudo pip install requests
# -*- coding: utf-8 -*-
from pysigep.sigep.consulta_cep import RequestConsultaCEP
from pysigep.sigep.disponibilidade_servico import RequestDisponibilidadeServico
from pysigep.sigep.status_cartao_postagem import RequestStatusCartaoPostagem
from pysigep.webservices.webservice_sigep import WebserviceSIGEP
LOGIN = 'sigep'
SENHA = 'n5f9t8'
COD_ADMIN = '08082650'
NUMERO_SERVICO = '40436'
CEP_ORIGEM = '99200-000'
CEP_DESTINO = '99200-000'
CARTAO_POSTAGEM = '0057018901'
# Cliente do webservice do sistema sigep Correios
server = WebserviceSIGEP(WebserviceSIGEP.AMBIENTE_HOMOLOGACAO)
# Requisição para serviço ConsultaCEP
req = RequestConsultaCEP('37503-000')
# Executando a requisição
response = server.request(req)
print response.resposta['logradouro']
print response.resposta['bairro']
print response.resposta['cidade']
print response.resposta['uf']
print response.resposta['complemento']
print response.resposta['complemento_2']
# Requisição para serviço ConsultaDisponibilidadeServico
req = RequestDisponibilidadeServico(COD_ADMIN, NUMERO_SERVICO,
CEP_ORIGEM, CEP_DESTINO,
LOGIN, SENHA)
# Executando a requisição
response = server.request(req)
print response.resposta['disponibilidade']
# Requisição para servico ConsultaStatusCartaoPostagem
req = RequestStatusCartaoPostagem(CARTAO_POSTAGEM, LOGIN, SENHA)
response = server.request(req)
print response.resposta['status']
Encontrou 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.
Lista de funcionalidade a serem implementadas/corrigidas aqui.
Caso você deseje executar os testes, basta usar o comando abaixo (necessário estar conectado à internet):
setup.py test