Jump to content

Search the Community

Showing results for tags 'correios'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Calendars

  • Comunidade iMasters

Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 14 results

  1. luannsr12

    Rastreio de encomenda Correios por PHP

    Olá pessoal, ontem coloquei um repositório em meu GitHub , para quem deseja rastrear encomendas dos correios usando php, a chamada é bem simples, e retorna em JSON: <?php $obj = "CODIGO DE RASTREIO"; $url = "http://localhost/rastreio/api/obj.php?obj={$obj}"; $rastreio = file_get_contents($url); echo $rastreio; JSON: { "0": { "date":"10/06/2019", "hour":"14:14", "location":"SAO PAULO / SP", "action":"Objeto encaminhado", "message":"Objeto encaminhado de Agência dos Correios em SAO PAULO / SP para Unidade de Tratamento em SAO PAULO / SP", "change":"há 2 dias" } } https://github.com/luannsr12/correios-rastreio Vlw!!
  2. Boa tarde, preciso passar o valor do frete exibido da API dos correios para o pag seguro mas não estou conseguindo! Exemplo: O cliente entra no meu site add um produto ao carrinho e verifica o frete no próprio carrinho, seleciona se quer PAC ou SEDEX, e quando apertar no botão de pagamento do Pagseguro, ele envia o valor do frete selecionado para a API do pagseguro Segue os Codigos: --> FORM DO FRETE COM RETORNO DO VALOR: <form method="post" action="#" class="navbar-form navbar-left" role="textbox" id="t1" name="t1"> <div class="form-group"> Simular frete: <input type="text" class="form-control" name="frete" placeholder="Frete" required id="frete"> <input type="hidden" name="vldeclarado" value="<?php echo $exibir['preco'];?>" /> </div> <button class="btn btn-success" type="submit" name="submit"> <span class="glyphicon glyphicon-search"></span> </button> </form> <?php if($_POST):?> <div class="row"> <div class="col-sm-12" style="margin-top: 10px; margin-bottom: 0px; border-style: none; border-top: none; border-color: #CBCBCB; border-width: 3px;"> <?php $frete = trim($_POST['frete']); //echo "<h3>{$frete}</h3>"; require_once 'frete.php'; $table = frete( $frete ); echo $table;?> </div></div><?php endif;//POST ?> --> API DO PAGSEGURO: <form method="post" target="pagseguro" action="https://pagseguro.uol.com.br/v2/checkout/payment.html"> <!-- Campos obrigatórios --> <input name="receiverEmail" type="hidden" value="EMAIL@gmail.com"> <input name="currency" type="hidden" value="BRL"> <!-- Itens do pagamento (ao menos um item é obrigatório) --> <?php $i = 1; do{ foreach ($_SESSION['carrinho'] as $id_prod => $qnt) { $code_prod = $conexao->query("SELECT * FROM produtos where id = '$id_prod'"); $exi = $code_prod->fetch(PDO::FETCH_ASSOC); $prod = $exi['produto']; $precouni = number_format(($exi['preco']),2,'.',','); ?> <input name="itemId<?php echo $i; ?>" type="hidden" value="<?php echo $id_prod;?>"> <input name="itemDescription<?php echo $i; ?>" type="hidden" value="<?php echo $prod; ?>"> <input name="itemAmount<?php echo $i; ?>" type="hidden" value="<?php echo $precouni; ?>"> <input name="itemQuantity<?php echo $i; ?>" type="hidden" value="<?php echo $qnt; ?>"> <input name="itemWeight<?php echo $i; ?>" type="hidden" value="0"> <?php $i++; } } while($i <= count($_SESSION['carrinho'])); ?> <input name="itemShippingCost1" type="hidden" value="300"> (VALOR DO FRETE AQUI) <!-- Informações de frete (opcionais) --> <input name="shippingType" type="hidden" value=""> (TIPO DE FRETE SELECIONADO AQUI) Desculpe se ficou grande, se alguem puder me ajudar ficaria grato!
  3. Bom dia, galera. Essa é a minha primeira postagem Seguinte, estou desenvolvendo um website simples de compra, onde o usuário fará o pagamento pela API do PagSeguro, o problema é que não estou conseguindo usar a calculadora de frete do Correios. Encontrei diversos códios prontos pela internet, porém, nenhum funciona. Minha página fica carregando e não sai disso. Falta basicamente isso para finalizar o projeto, alguém pode me dar uma luz? <?php $parametros = array(); // Código e senha da empresa, se você tiver contrato com os correios, se não tiver deixe vazio. $parametros['nCdEmpresa'] = ''; $parametros['sDsSenha'] = ''; // CEP de origem e destino. Esse parametro precisa ser numérico, sem "-" (hífen) espaços ou algo diferente de um número. $parametros['sCepOrigem'] = '81810110'; $parametros['sCepDestino'] = '80050530'; // O peso do produto deverá ser enviado em quilogramas, leve em consideração que isso deverá incluir o peso da embalagem. $parametros['nVlPeso'] = '1'; // O formato tem apenas duas opções: 1 para caixa / pacote e 2 para rolo/prisma. $parametros['nCdFormato'] = '1'; // O comprimento, altura, largura e diametro deverá ser informado em centímetros e somente números $parametros['nVlComprimento'] = '16'; $parametros['nVlAltura'] = '5'; $parametros['nVlLargura'] = '15'; $parametros['nVlDiametro'] = '0'; // Aqui você informa se quer que a encomenda deva ser entregue somente para uma determinada pessoa após confirmação por RG. Use "s" e "n". $parametros['sCdMaoPropria'] = 'n'; // O valor declarado serve para o caso de sua encomenda extraviar, então você poderá recuperar o valor dela. Vale lembrar que o valor da encomenda interfere no valor do frete. Se não quiser declarar pode passar 0 (zero). $parametros['nVlValorDeclarado'] = '200'; // Se você quer ser avisado sobre a entrega da encomenda. Para não avisar use "n", para avisar use "s". $parametros['sCdAvisoRecebimento'] = 'n'; // Formato no qual a consulta será retornada, podendo ser: Popup – mostra uma janela pop-up | URL – envia os dados via post para a URL informada | XML – Retorna a resposta em XML $parametros['StrRetorno'] = 'xml'; // Código do Serviço, pode ser apenas um ou mais. Para mais de um apenas separe por virgula. $parametros['nCdServico'] = '40010,41106'; $parametros = http_build_query($parametros); $url = 'http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx'; $curl = curl_init($url.'?'.$parametros); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $dados = curl_exec($curl); $dados = simplexml_load_string($dados); ?> <html> <head> <title>Frete Correios Testes</title> </head> <body> <h1>Calculadora de frete dos Correios</h1> <?php foreach($dados->cServico as $linhas) { if($linhas->Erro == 0) { echo $linhas->Codigo.'</br>'; echo $linhas->Valor .'</br>'; echo $linhas->PrazoEntrega.' Dias </br>'; }else { echo $linhas->MsgErro; } echo '<hr>'; } ?> </body> </html> Obrigado à todos!
  4. Boa noite alguém tem ou consegue desenvolver um módulo de correios para prestashop?
  5. A quanto tempo não posto aqui. As novidades do fórum estão bem bacanas... já volto com uma bomba rs Estou adaptando um classe para arranjar os produtos do carrinho de um e-comerce em caixas para calcular o frete juntos aos correios. Gostaria de sugestões dos colegas para implementar, sempre que um caixa atingir o limite, gerar uma nova caixa... a parte da comunicação com a API do correios está bem tranquilo. O que tá pegando mesmo é essa parte da organização dos itens em várias caixas. Vou deixar aqui o código completo que estou testando... / config.php <?php define("MIN_LARGURA", 11); define("MAX_LARGURA", 105); define("MIN_ALTURA", 2); define("MAX_ALTURA", 105); define("MIN_COMPRIMENTO", 16); define("MAX_COMPRIMENTO", 105); define("MIN_SOMA_CLA", 29); define("MAX_SOMA_CLA", 200); function dd($data) { echo '<pre>'; var_dump($data); echo '</pre>'; } index.php <?php require_once 'config.php'; require_once 'Boxes.php'; $cart = [ [ 'title' => 'Book - The art of war', 'A' => 25, 'L' => 70, 'C' => 90, ], [ 'title' => 'Book - The art of war', 'A' => 25, 'L' => 70, 'C' => 90, ], [ 'title' => 'Book - The art of war', 'A' => 25, 'L' => 70, 'C' => 90, ], ]; $boxes = new Boxes($cart); dd($boxes->createBoxes()); Boxes.php <?php class Boxes { private $cart = []; private $box = []; private $box_properties = []; /** * __construct * * @param array $cart */ public function __construct($cart = []) { $this->cart = $cart; $this->box_properties = [ 'altura' => 0, 'largura' => 0, 'comprimento' => 0, 'qtd_itens' => 0, 'message' => null, 'volume' => 0, 'volume_itens' => 0, 'volume_vazio' => 0, 'comprimento_remanescente' => 0, 'largura_remanescente' => 0, 'altura_remanescente' => 0 ]; } /** * Order items inside the box * * @return array */ public function orderBox() { foreach ($this->cart as $k => $item): $new_height = min($item['A'], $item['L'], $item['C']); $new_length = max($item['A'], $item['L'], $item['C']); $width = [$item['A'], $item['L'], $item['C']]; sort($width) ; array_shift($width); array_pop($width); $item['L'] = isset($width[0]) ? $width[0] : $new_height; $item['A'] = $new_height ; $item['C'] = $new_length ; $item['LC'] = $item['L'] * $item['C'] ; $this->cart[$k] = $item; endforeach; usort($this->cart, function($a, $b){ return $a['LC'] < $b['LC']; }); return $this->cart ; } /** * Create and put items inside the box * * @return array */ public function createBoxes() { $this->cart = $this->orderBox(); $this->box = json_decode(json_encode($this->box_properties,FALSE)); $this->organizeItems(); $this->box->volume = ($this->box->altura * $this->box->largura * $this->box->comprimento); $this->box->volume_vazio = $this->box->volume - $this->box->volume_itens; $this->minSpecifications(); $this->errors(); return $this->box; } private function organizeItems() { foreach ($this->cart as $item): $this->box->qtd_itens++; $this->box->volume_itens += ($item['A'] * $item['L'] * $item['C']); $this->allocateItems($item); $this->box->altura += $item['A']; if($item['L'] > $this->box->largura): $this->box->largura = $item['L']; endif; if ($item['C'] > $this->box->comprimento): $this->box->comprimento = $item['C']; endif; $this->box->comprimento_remanescente = $this->box->comprimento; $this->box->largura_remanescente = $this->box->largura - $item['L']; $this->box->altura_remanescente = $item['A']; endforeach; } private function allocateItems($item) { if($this->box->comprimento_remanescente >= $item['C'] && $this->box->largura_remanescente >= $item['L']): if($item['A'] > $this->box->altura_remanescente): $this->box->altura += $item['A'] - $this->box->altura_remanescente ; endif; if($item['C'] > $this->box->comprimento): $this->box->comprimento = $item['C']; endif; $this->box->comprimento_remanescente = $this->box->comprimento - $item['C']; $this->box->largura_remanescente = $this->box->largura_remanescente - $item['L'] ; $this->box->altura_remanescente = $item['A'] > $this->box->altura_remanescente ? $item['A'] : $this->box->altura_remanescente ; endif; } private function minSpecifications() { if($this->box->altura > 0 && $this->box->altura < MIN_ALTURA): $this->box->altura = MIN_ALTURA ; endif; if($this->box->largura > 0 && $this->box->largura < MIN_LARGURA): $this->box->largura = MIN_LARGURA ; endif; if($this->box->comprimento > 0 && $this->box->comprimento < MIN_COMPRIMENTO): $this->box->comprimento = MIN_COMPRIMENTO ; endif; } private function errors() { if($this->box->altura > MAX_ALTURA): $this->box->message = "Erro: Altura maior que o permitido."; endif; if($this->box->largura > MAX_LARGURA ): $this->box->message = "Erro: Largura maior que o permitido."; endif; if($this->box->comprimento > MAX_COMPRIMENTO ): $this->box->message = "Erro: Comprimento maior que o permitido."; endif; if(($this->box->comprimento + $this->box->comprimento + $this->box->comprimento) < MIN_SOMA_CLA): $this->box->message = "Erro: Soma dos valores C+L+A menor que o permitido."; endif; if(($this->box->comprimento + $this->box->comprimento + $this->box->comprimento) > MAX_SOMA_CLA): $this->box->message = "Erro: Soma dos valores C+L+A maior que o permitido."; endif; } }
  6. Bom dia Galera! Ha poucos dias descobri uma maneira nativa e sem precisar de instalar DLLs, componentes infinitos(Deus me livre)... e achei interessante postar (Estou em processo de mudança mental e compartilhar coisas difíceis é um começo! rsss)! Então...vamos lá! Segue abaixo uma maneira nativa e fácil de consultar CEPS nos correios! Espero que gostem! New >> Other.... Aba WebServices... WSDL Importer... e importe a seguinte URL:https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdlNa unit importada, substitua a linha :InvRegistry.RegisterInvokeOptions(TypeInfo(AtendeCliente), ioDocument);por:InvRegistry.RegisterInvokeOptions(TypeInfo(AtendeCliente), ioHasAllSOAPActions);ouInvRegistry.RegisterInvokeOptions(TypeInfo(AtendeCliente), ioHasNamespace);Último detalhe, no indy passado setar a seguinte propriedade como True:HTTPRIO1.HTTPWebNode.UseUTF8InHeader := True;Pronto! Está apto a fazer consultas diretas no site da Empresa Brasileira de Correios e Telégrafos;Exemplo:procedure TfrmIni.btnConsCepClick(Sender: TObject);varwsAtendeCliente: AtendeCliente;wsConsultaCepReq: consultaCEP;wsConsultaCepResp: consultaCEPResponse;sEndCep: string;begin// InvRegistry.RegisterInvokeOptions(TypeInfo(YourSoapInterface), ioDocument);// CHANGE TO// InvRegistry.RegisterInvokeOptions(TypeInfo(YourSoapInterface), ioHasAllSOAPActions); ((( TESTADO OK COM ESSE )))// OR// InvRegistry.RegisterInvokeOptions(TypeInfo(YourSoapInterface), ioHasNamespace);trytrywsConsultaCepReq := consultaCEP.Create;wsConsultaCepResp := consultaCEPResponse.Create;HTTPRIO1.HTTPWebNode.UseUTF8InHeader := True;wsAtendeCliente := GetAtendeCliente(False, '', HTTPRIO1);wsConsultaCepReq.cep := edtCep.Text;trywsConsultaCepResp := wsAtendeCliente.consultaCEP( wsConsultaCepReq );excepton E: ERemotableException dobeginif (UpperCase(Trim(E.message)) = 'CEP NAO ENCONTRADO') or (UpperCase(Trim(E.message)) = 'CEP NAO INFORMADO') thenbeginApplication.MessageBox(PChar(Format('Atenção! Cep %s não informado/encontrado!', [edtCep.Text])), PChar('Mensagem'), MB_OK + MB_ICONINFORMATION);Exit;endelsebeginraise Exception.Create( E.message );end;end;end;sEndCep := wsConsultaCepResp.return.cep + #13;sEndCep := sEndCep + wsConsultaCepResp.return.end_ + #13;sEndCep := sEndCep + wsConsultaCepResp.return.complemento + #13;sEndCep := sEndCep + wsConsultaCepResp.return.complemento2 + #13;sEndCep := sEndCep + wsConsultaCepResp.return.bairro + #13;sEndCep := sEndCep + wsConsultaCepResp.return.cidade + #13;sEndCep := sEndCep + wsConsultaCepResp.return.uf + #13;ShowMessage( sEndCep );finallyFreeAndNil(wsConsultaCepReq);FreeAndNil(wsConsultaCepResp);wsAtendeCliente._Release;endexcepton E: Exception dobeginApplication.MessageBox(PChar(Format('Atenção! %s%s ', [#13#13, E.message])), PChar('Erro'), MB_OK + MB_ICONERROR);end;end;end;Att.Sandro LemesDesenvolvedor Delphi;
  7. Vendo fonte Delphi do SIGEP WEB Correios. Funcionalidades: - Banco de dados Firebird com empresa homologação; - WebService de homologação e produção; - Cadastro de embalagens, serviços e clientes; - Atualização automática da lista de serviços disponíveis; - Conexão com balança para obter o peso da encomenda (embalagem + produto) para cálculo do preço à pagar; - Impressão da etiqueta (com chancela) já homologada pelo Correios em Report Builder; - Geração automática do número da etiqueta de pedido aos Correios; - Impressão da PLP em Report Builder; - Atualiza a PLP no SARA (Sistema de Automação da Rede de Atendimento); Segue link dropbox do demo SIGEPWEB: https://www.dropbox.com/s/hcyeckd40jgrkay/demo.rar?dl=0 - Instale a cadeia de certificados dos Correios. - Desmarque a opção pelo Internet Explorer -> Avançadas -> Verificar revogação de certificados do servidor * - Descompacte no c:\Sigep. - O Firebird está embarcado não precisa instalar. - Execute o aplicativo Sigep; Valor: R$ 250,00
  8. Atualizei os plugins e templates do Woocommerce e Correios e não aparecem mais as opções de entrega estou em desespero
  9. Olá, boa tarde Estou com uma dúvida, talvez seja simples e eu que não estou vendo. Como faço para fazer o calculo dos correios (Prazo de entrega e preço) de um carrinho de compra contendo vários produtos?
  10. Mateus Silva

    Frete de vários produtos

    Olá, estou criando uma loja virtual e o cálculo do frete até então está ok, quando se é calculado apenas de 1 produto, eu queria saber como posso calcular vários produtos ao mesmo templo, exemplo: Produto 1: peso = 1kg comprimento = 20cm altura = 15cm largura = 10cm diametro = 1 Produto 2: peso = 3kg comprimento = 7cm altura = 25cm largura = 6cm diametro = 1 E supomos que tenham 2 produtos 1 e 3 produtos 2 no carrinho, como seria feito o cálculo deste frete ? PS.: Estou usando a classe Cagartner, segue link do git: https://github.com/cagartner/correios-consulta
  11. feeh27

    Webservice para rastreio do Correios

    Bom dia, Estou procurando uma solução para avisar meu cliente por e-mail toda vez que o Correios atualizar o status do rastreio. A parte do envio do e-mail e de como obter o status eu já consegui resolver, o gargalo está em como montar um Webservice para requisitar no site dos correios o status e verificar se ele foi atualizado, se sim ele executa o script para o envio do e-mail. Para verificar se o status foi atualizado pensei em gravar ele no banco e depois verificar se houve alteração, não sei se é o melhor caminho, gostaria de uma opinião nessa parte. Atenciosamente, Felipe Dominguesche
  12. Douglas Julião

    Url dos correios mudou?

    ii
  13. thyagosilva

    jQuery de consulta CEP Correios

    Olá pessoal :) Desenvolvi uma jQuery para consulta do CEP nos Correios, que está agora no Github para todo mundo poder utilizar. Gostaria da opinião de vocês se realmente está fácil de usar, e se encontrarem algum bug ou sugerir melhorias estou aqui para corrigir o mais rápido possível e fazer melhorias. Segue abaixo como utilizar o jQuery: Github: https://github.com/webmaniabr/jQuery-CEP-Correios Documentação da API: https://webmaniabr.com/docs/rest-api-correios/ 1. Gere as suas credenciais de acesso nesse link: http://webmania.me/1I7z7DG 2. Adicione o jQuery e o javascript dos Correios antes da tag </body>: <script src="jquery.js"></script> <script src="//d3rjkex7r35ruf.cloudfront.net/latest/jquery.correios.min.js"></script> Em seguida, inicie o javascript informando as suas credenciais de acesso e os campos do formulário para o preenchimento automático: jQuery(function($){ correios.init( 'app_key', 'app_secret' ); $('cep').correios( 'endereco', 'bairro', 'cidade', 'uf', 'loading' ); }); O projeto é apoiado pela WebmaniaBR, que fornece o script dos Correios de graça no CDN da Amazon Cloudfront e hospeda a API dos Correios onde o jQuey faz a chamada Ajax. Sou novo aqui no fórum, mas espero ajudar bastante vocês no que for necessário sobre programação e Cloud Computing. Abraços
  14. Celso Leandro Palma

    Frete Correios PHP + Webservice

    Olá, eu estou com uma bela dúvida aqui. Estou a realizar o cálculo de frete dos correios. Após várias pesquisas, encontrei alguns métodos de como obter respostas dos correios e todos até que funcionam relativamente bem. O meu grande problema é o seguinte: Se em meu Carrinho possui 1 único produto o valor retornado vem certinho, porém se o meu carrinho possuí mais de um produto, como eu posso realizar corretamente o cálculo? Vamos aos exemplos: Se eu estiver em um site (Exemplo: http://www.ultrafarma.com.br), seleciono 1 produto qualquer (no caso: http://www.ultrafarma.com.br/produto/detalhes-18334/centrum_select_com_150_comprimidos.html), digito o CEP: 13012-000, ele me retornou a seguinte informação: Entrega Expressa: de 2 a 3 dias úteis - Via Sedex | Frete: R$ 6,33 Show de bola até aí... Se eu aumento de 1 produto, para 2 produtos, o valor ficará R$ 10,26, se eu aumento para 10 produtos, o valor será de R$ 15,39. Ou seja o cálculo não é feito sobre 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 10 Mas sim pelo volume da caixa (Volume) para o envio Certo? 1ª Pergunta é: como que se realize este cálculo do volume? Obviamente que neste exemplo eu utilizei uma forma simples, ou seja, ele calculou o mesmo produto 10x, mas e se no caso fossem 10 produtos totalmente diferentes, como adequar o cálculo por volume? 2ª EU percebi, que na parte superior do carrinho deles, eles informam a quantidade de gramas e se eu selecionar 1 produto ele me dá o resultado de 290 gramas; Se eu seleciono 10 produtos ele me dá 2.900 gramas (óbivio) Sabemos pela documentação dos correios, que o peso MÁXIMO estipulado por eles, é de 30 Kg (30.000 Gramas), sendo assim, se selecionamos mais de 103 produtos, a quantidade em peso ultrapassaria a quantidade permitida pelos correios... Como solucionar isso? Vamos supor que, eu tenha 6 produtos: 1 - 30 Kg 2 - 15 kg 3 - 16 Kg 4 - 8 Kg 5 - 11 kg 6 - 11 Kg Total: 91 Kg Em meu carrinho, como que eu posso distribuir isso de uma forma correta para que a requisição dê o valor correto (ou muito aproximado do correto) como resposta? A mesma pergunta vale para os outros quesitos, que são, profundidade, largura e altura? Como resolver isso? Fico no aguardo e agradeço a quem puder me auxiliar.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.