Coder Social home page Coder Social logo

olist / correios Goto Github PK

View Code? Open in Web Editor NEW
170.0 116.0 44.0 21.41 MB

A client library for Brazilian Correios APIs and services (SIGEP & SRO).

License: Apache License 2.0

Python 79.92% Makefile 0.28% ASP.NET 19.80%
correios brazil apache python python-3 sigep client sro freight

correios's People

Contributors

adlermedrado avatar affonsobrian avatar allisson avatar beatrizuezu avatar bratomes avatar brunoln avatar caiocarrara avatar corcioli avatar daneoshiga avatar daniellbastos avatar douglasfarinelli avatar gabriellanger avatar georgeyk avatar gfabrizio avatar guibeira avatar hartungstenio avatar jairhenrique avatar jhonatassouzaolist avatar jllorencetti avatar jpbonson avatar lamenezes avatar luizdepra avatar marcelobelli avatar msfernandes avatar osantana avatar rhenter avatar ricardodani avatar robertoduessmann avatar walter-g-amorim avatar wiliamsouza avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

correios's Issues

AttributeError: enderecoERP instance has no attribute 'id'

Hi,

I'm having this error when I try to query any CEPs. I ran update-correios-wsdl, but this error continues.
Here is the StackTrace:

Traceback (most recent call last):
File "/home/lucas/anaconda3/lib/python3.6/site-packages/zeep/xsd/valueobjects.py", line 138, in getattribute
return self.values[key]
KeyError: 'id'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/lucas/anaconda3/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner
response = get_response(request)
File "/home/lucas/anaconda3/lib/python3.6/site-packages/django/core/handlers/base.py", line 128, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/lucas/anaconda3/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/run/media/lucas/COMMON/programas/python/labengsoft/mainapp/views.py", line 58, in enderecoByCepView
endereco = serializers.serialize ('json', [ Endereco.getEnderecoByCep(str(cep)) ])
File "/run/media/lucas/COMMON/programas/python/labengsoft/mainapp/models.py", line 186, in getEnderecoByCep
zip = cliente.find_zipcode(ZipCode(cep))
File "/home/lucas/anaconda3/lib/python3.6/site-packages/correios/client.py", line 153, in find_zipcode
return self.model_builder.build_zip_address(zip_address_data)
File "/home/lucas/anaconda3/lib/python3.6/site-packages/correios/models/builders.py", line 98, in build_zip_address
id=zip_address_data.id,
File "/home/lucas/anaconda3/lib/python3.6/site-packages/zeep/xsd/valueobjects.py", line 142, in getattribute
self.class.name, key))
AttributeError: enderecoERP instance has no attribute 'id'

Any advice?
Thanks.

hi, any payable service here?

Olá, há um serviço de pedágio aqui?
Preciso de duas interfaces.

  1. Obter o número Da ordem de transfer ência e o rótulo, pressionando o Peso do pacote, o destinatário e a informação do remetente
  2. Obter informações Da via através do número Da ordem de transfer ência

Error getting tracking code events

Traceback:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-14-f33a7ad6df60> in <module>()
----> 1 cs.get_tracking_code_events(['DU05508759BR'])[0].events

/home/luiz/devel/olist/correios-tracking-service/tracking_service/services.py in get_tracking_code_events(self, codes)
     52             try:
     53                 from correios.models.posting import TrackingCode
---> 54                 tracking_code = self.correios.get_tracking_code_events(code)
     55             except InvalidTrackingCodeError as exc:
     56                 logger.exception(exc, 'tracking_code:', code)

/home/luiz/devel/olist/correios/correios/client.py in get_tracking_code_events(self, tracking_list)
    356 
    357         response = self.websro.buscaEventosLista(self.username, self.password, "L", "T", "101", tuple(tracking_codes.keys()))
--> 358         return self.model_builder.load_tracking_events(tracking_codes, response)

/home/luiz/devel/olist/correios/correios/client.py in load_tracking_events(self, tracking_codes, response)
    126         for tracked_object in response.objeto:
    127             tracking_code = tracking_codes[tracked_object.numero]
--> 128             tracking_code.category = tracked_object.categoria
    129             tracking_code.name = tracked_object.nome
    130             tracking_code.initials = tracked_object.sigla

AttributeError: 'objeto' object has no attribute 'categoria'

Example of tracking codes that causes this problem:
PJ25750601BR
PJ25750604BR
PJ25750600BR
PJ25750603BR
PJ25750599BR
PJ25750602BR
PJ25750584BR
PJ25750583BR
DU05508760BR
DU05508759BR

zeep.exceptions.XMLParseError: Unexpected element 'uf', expected 'id'

when using the method find_zipcode from client.py, an exception is being raised whenever a valid zipcode is entered.

// invalid zipcodes
client.find_zipcode(ZipCode('01310-92'))
*** correios.exceptions.InvalidZipCodeError: Invalid zipcode 01310-92
client.find_zipcode(ZipCode('99999-999'))
*** correios.exceptions.ClientError: CEP INVÁLIDO

// valid zipcode
client.find_zipcode(ZipCode('01310-920'))
*** zeep.exceptions.XMLParseError: Unexpected element 'uf', expected 'id'

any advice?
thanks in advance

Notificação de Atualização de Status?

Olá.
Muito obrigado pela lib.
Fiquei na dúvida se há alguma possibilidade de receber uma notificação quando há atualização de status da encomenda nos correios.
Caso contrário, poderia fazer sentido subir um worker para consultas periódicas?
Obrigado.

Add Examples

It would be nice to include some examples:

  • Check shipping cost
  • Print Labels (sedex, eSedex, ..)
  • Print PLP

Zeep

It would be nice to use zeep instead of suds!
Zeep has support to aiohttp and this is so cool!
What do you think about this?

import logging

from requests import Session
from zeep import Client, Transport


logger = logging.getLogger(__name__)


class SoapClient(Client):

    def __init__(
        self,
        wsdl,
        cert=None,
        verify=True,
        timeout=8,
        username=None,
        password=None,
        *args,
        **kwargs
    ):
        session = Session()
        session.cert = cert
        session.verify = verify
        session.timeout = timeout
        session.auth = (username, password)
        session.headers.update({"Content-Type": "text/xml;charset=UTF-8"})

        transport = Transport(
            operation_timeout=timeout,
            session=session
        )

        super().__init__(wsdl=wsdl, transport=transport, **kwargs)

Problem with wsdl read time

We are having problems with wsdl reading time.
When creating an instance of the Mail class, the flow is reading the wsdl in the mail endpoint.
It would be better if reading this wsdl could be local file, it would improve the response time to instantiate the object.

Add support for Python 3.6

  • Tests for Python 3.5.0, 3.5.1, 3.5.2 for backward compatibility in tox/travis
  • Add tests for 3.6.0 in tox/travis

Dúvidas e Sugestões (2018)

Este código esta funcionando em PHP 5, 5.6, 7.0, 7.1 ou até mesmo em 7.2 ?
São muitas dúvidas e nada pessoal... (Já deixo claro)
Este código esta nas normativas novas dos correios (2017) e que pelo visto já existe novas normativas em (2018)...
Bom, este não é o único que visualizamos que aparentemente esta tudo correto.
Mas, tenho que ser este USUÁRIO questionador, já que estamos enfrentando tantos problemas seja eles em PHP, AJAX ou qualquer impulso anterior á 2017.
E assim vem as dúvidas...

Espero que tenhamos uma resposta satisfatória e um UPGRADE.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.