Пример #1
0
def test_basic_client():
    client = correios.Correios(username="******",
                               password="******",
                               environment=correios.Correios.TEST)
    assert client.sigep_url == get_wsdl_path('AtendeCliente-test.wsdl')
    assert not client.sigep_verify
    assert client.username == "sigep"
    assert client.password == "XXXXXX"
Пример #2
0
def test_basic_client():
    client = correios.Correios(username="******",
                               password="******",
                               environment=correios.Correios.TEST)
    assert client.sigep_url == str(
        get_resource_path("wsdls/AtendeCliente-test.wsdl"))
    assert not client.sigep_verify
    assert client.username == "sigep"
    assert client.password == "XXXXXX"
Пример #3
0
    def getCodRastreamento (self):
        """ Adquire o código de rastreamento do objeto """
        # Conexão com o webservice
        env = SigepEnvironment.objects.get(ativo=True)
        cliente = correios.Correios(username=env.usuario, password=env.senha, environment=env.ambiente)

        # Solicita ao SIGEP o código de rastreamento.
        user = User (env.nomeEmpresa, env.cnpj)
        service = Service.get(self.servico.codigo)
        self.codRastreamento = cliente.request_tracking_codes(user, service, 1)[0].code
Пример #4
0
    def updateCartaoServicosAndDR(self):
        """ Atualiza a tabela de serviços disponíveis ao cliente pelo cartão, bem como preenche o diretório regional. """
        # Conexão com o webservice
        env = SigepEnvironment.objects.get(ativo=True)
        cliente = correios.Correios(username=env.usuario, password=env.senha, environment=env.ambiente)

        # Consulta o usuário e filtra o contrato e cartão desejados
        user = cliente.get_user (self.nroContrato, self.nroCartao)
        contrato, cartao = CartaoPostagem.__getContratoAndCartao(user.contracts, self.nroContrato, self.nroCartao)

        # Atualiza a tabela de serviços
        for s in cartao.services:
            self.servicos.create (idServico=s.id, codigo=s.code, descr=s.display_name)
        
        # Preenche o código do diretório regional
        self.codDR = contrato.regional_direction.number
Пример #5
0
    def getCartaoStatus(self):
        """ Pesquisa no servidor dos Correios o status do cartão e sua data de vencimento. """
        # Conexão com o webservice
        env = SigepEnvironment.objects.get(ativo=True)
        cliente = correios.Correios(username=env.usuario, password=env.senha, environment=env.ambiente)

        # Consulta e preenche o status
        status = cliente._auth_call('getStatusCartaoPostagem', self.nroCartao)
        if status == 'Normal':
            self.ativo = True
        elif status == 'Cancelado':
            self.ativo == False

        # Pesquisa a data de vencimento do cartão de postagem
        user = cliente.get_user (self.nroContrato, self.nroCartao)
        contrato, cartao = CartaoPostagem.__getContratoAndCartao(user.contracts, self.nroContrato, self.nroCartao)
        self.vencimento = contrato.end_date
Пример #6
0
    def fecharPLP (self):
        """ Fecha a PLP e a envia para o servidor, tornando-a uma lista de postagem """
        # Conexão com o webservice
        env = SigepEnvironment.objects.get(ativo=True)
        cliente = correios.Correios(username=env.usuario, password=env.senha, environment=env.ambiente)

        # Cria os objetos necessários para o fechamento da PLP
        cartao = CartaoPostagem.objects.get(ativo=True)
        user = User(env.nomeEmpresa, env.cnpj)
        contract = Contract(user, cartao.nroContrato, cartao.codDR)
        postingCard = PostingCard(contract, cartao.nroCartao, cartao.codAdmin)
        senderAddr = self.converteEnderecoSelecionado()

        # Inicialização da PLP
        plp = PostingList(self.id)
        
        # Inclusão dos objetos postais 
        for op in self.objetosPostais.all():
            sl = ShippingLabel(postingCard, senderAddr, op.converteEnderecoSelecionado(), Servico.objects.first().codigo, op.codRastreamento, 1)
            sl.posting_card = postingCard
            plp.add_shipping_label(sl)
        
        # Fechamento da PLP.
        plp = cliente.close_posting_list(plp,cartao.nroCartao)
Пример #7
0
def client():
    return correios.Correios(username="******",
                             password="******",
                             environment=correios.Correios.TEST)