Code Monkey home page Code Monkey logo

Comments (14)

brunomarks7 avatar brunomarks7 commented on July 21, 2024 3

Isso facilitaria muito a vida do ecommerce brasileiro. A disponibilidade da API de fretes está longe de 99.9%, principalmente em datas promocionais nacionais, como black friday.

Estou disposto a participar como dev dessa feature.

from brasilapi.

RodriAndreotti avatar RodriAndreotti commented on July 21, 2024 1

Cara, esta API tem dado problema direto, um amigo meu utilizou ela em uma loja virtual que ele desenvolveu, ele teve que implementar uma alternativa usando Frenet, pois a API dos correios direto estava dando timeout, ou erro 500 ou algum outro erro qualquer.

E acho impressionante a decadência do serviço, pois algum tempo atrás fiz essa integração e funcionava muito bem, com um uptime muito bom e de uns tempos para cá começou a ficar instável a um ponto que não estava mais confiável a utilização em produção.

from brasilapi.

wferreiracosta avatar wferreiracosta commented on July 21, 2024 1

Não sabia, obrigado pela informação. Tava achando esquisito que poucas pessoas falavam dela, agora ta explicado kkkk.

from brasilapi.

RodriAndreotti avatar RodriAndreotti commented on July 21, 2024 1

Infelizmente ela tem estado bem instável ultimamente, se houvesse alguma api aberta para isso, como existe a do CEP, seria mais fácil, porém ainda é possível tentar fazer via web scrapping, mas ai qualquer alteração no layout da página dos correios poderia quebrar o módulo.

from brasilapi.

wesleyburlani avatar wesleyburlani commented on July 21, 2024 1

Opa pessoal, vivi um pouco dessa dor trabalhando com integração de Marketplace. O caminho seguido geralmente é manter uma planilha estática e consultar dela. De tempo em tempo, geralmente madrugada, atualizar essa planilha numa rotina densa, consultando nos correios todas as faixas de cep (tentando até conseguir consultar). Isso era necessário justamente por causa da latencia indesejada no ambiente dos e-commerces/marketplaces.

Mas para isso precisaríamos saber também qual é a regra de negócios para o cálculo do valor, pois o valor do frete varia de acordo com peso, tamanho e valor declarado do objeto.

Você está correto. Esxistem mais dados que são levados em consideração no caclulo. O manual dos correios é disponibilizado em https://correios.com.br/enviar-e-receber/ferramentas/calculador-remoto-de-precos-e-prazos/pdf/manual-de-implementacao-do-calculo-remoto-de-precos-e-prazos/view

dentre eles:

  • Codigo da empresa para contrato com correios
  • Serviço (PAC, SEDEX...)
  • CEP origem
  • CEP destino
  • Peso
  • Formato da encomenda(Pacote, envelope..)
  • Dimensões
  • Valor do produto

from brasilapi.

brunomarks7 avatar brunomarks7 commented on July 21, 2024 1

Andei pesquisando sobre cálculo de cubagem dos Correios e encontrei o seguinte:

https://esales.com.br/blog/calculo-de-frete-correios/

Só para documentar pois de repente alguém tem alguma ideia com relação a esse dado.
Como comentamos, talvez não seja a linha a seguir, pois o web scraping da API rodando periodicamente de fato seja a melhor opção, até para evitar quebras por mudanças nas regras de negócio.

Quero em breve começar a fazer alguns testes de rotinas com múltiplas variáveis de pesos e CEPs diferentes, gravando o retorno da API dos correios.

from brasilapi.

wferreiracosta avatar wferreiracosta commented on July 21, 2024

Correios disponibiliza uma API para o calculo de entrega, calculo de preço da entrega e etc. Poderíamos utilizar.

http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx

from brasilapi.

brunomarks7 avatar brunomarks7 commented on July 21, 2024

Pessoal, vou colocar comentários que podem ser úteis na discussão:

Eu tenho já instalei alguns ecommerces e utilizo um plugin chamado Correios para Woocommerce criado pelo Cláudio Sanches da Automattic, que mantém o Woocommerce.

Sobre minha experiência existe muita intermitência no server dos correios e é comum relatos de clientes que não conseguem calcular fretes.

Em contrapartida, existe um plugin chamado Frete offline desenvolvido pelo Fernando Acosta e com cobrança anual e é baseado em planilha com faixas de CEP.

Existe dois serviços que entrega cotações de frete dos correios usando seus próprios servidores. Um deles é o Melhor Envio. Outro é o Frenet.

Então de fato há formas de desenvolver uma api própria, não sei se com webscraping, precisaria ter consistência para não quebrar em mudanças nos parâmetros dos correios.

Abaixo um exemplo de URL que traz um frente passando a cubagem e peso, cep de origem e destino.
http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?nCdServico=04596&sCepDestino=29157416&sCepOrigem=11050250&nVlAltura=6&nVlLargura=11&nVlDiametro=0&nVlComprimento=16&nVlPeso=0,04&nCdFormato=1&sCdMaoPropria=N&nVlValorDeclarado=0&sCdAvisoRecebimento=N&StrRetorno=xml#osds

Há dois parâmetros que podem ser passados para mostrar valores diferentes com base em clientes (donos de loja) que possuam contrato com os Correios.

São eles:

  • nCdEmpresa (número do contrato)

  • sDsSenha (senha do contrato)

from brasilapi.

RodriAndreotti avatar RodriAndreotti commented on July 21, 2024

@brunomarks7 Lembrando também, que o valor do frete também pode sofrer alterações de acordo o o valor declarado do produto.
O serviço Frenet, se não me engano, trabalha com uma réplica do do banco de dados dos correios, que é atualizada de tempos em tempos por eles, e, quando fazemos um request ao API deles, eles tentam verificar o serviço dos correios em primeiro lugar, se não tiverem sucesso mandam o resultado baseado nesta tabela de contingência deles.
Eles também tem a opção de usar um contrato próprio com os correios, além de ser possível configurar o envio usando o contrato deles, e sendo assim, funcionaria no mesmo estilo do mercado envios.

from brasilapi.

brunomarks7 avatar brunomarks7 commented on July 21, 2024

@RodriAndreotti perfeito! O ruim desse processo de tentar consultar nos Correios e usar um servidor próprio como segunda opção de fallback é que geralmente o tempo de resposta dos Correios (apesar do server no Brasil) sempre será mais lerdo, ainda mais se estiver congestionado em datas comerciais. Se não me engano a Frenet tem uma tolerância, um timeout para os serviços dos Correios pra passar a requisitar a API própria.

Qualquer ganho de tempo é muito importante para o ecommerce, mesmo 100ms.

Eu fiquei fascinado com a latência desses servidores da Vercel!

O que pra mim é um mistério é qual melhor forma de obter esses dados, se é via Web Scraping mesmo ou com algum outro método.

from brasilapi.

RodriAndreotti avatar RodriAndreotti commented on July 21, 2024

Então, @brunomarks7 !
Imagino eu que a forma menos instável, considerando a atual situação do webservice dos correios, seja o web scrapping, porém o serviço fica completamente suscetível a uma mudança de layout no site deles, e ai, lascou-se... kkk

E usar um serviço, tipo frenet, que tem uma limitação na quantidade de requisições mensais, não sei se é a melhor forma também. :/

Esta é uma discussão que seria interessante aprofundar antes de mergulhar no desenvolvimento deste módulo (que é um módulo muito útil, diga-se de passagem)

from brasilapi.

brunomarks7 avatar brunomarks7 commented on July 21, 2024

from brasilapi.

wesleyburlani avatar wesleyburlani commented on July 21, 2024

Opa pessoal, vivi um pouco dessa dor trabalhando com integração de Marketplace. O caminho seguido geralmente é manter uma planilha estática e consultar dela. De tempo em tempo, geralmente madrugada, atualizar essa planilha numa rotina densa, consultando nos correios todas as faixas de cep (tentando até conseguir consultar). Isso era necessário justamente por causa da latencia indesejada no ambiente dos e-commerces/marketplaces.

from brasilapi.

RodriAndreotti avatar RodriAndreotti commented on July 21, 2024

Opa pessoal, vivi um pouco dessa dor trabalhando com integração de Marketplace. O caminho seguido geralmente é manter uma planilha estática e consultar dela. De tempo em tempo, geralmente madrugada, atualizar essa planilha numa rotina densa, consultando nos correios todas as faixas de cep (tentando até conseguir consultar). Isso era necessário justamente por causa da latencia indesejada no ambiente dos e-commerces/marketplaces.

Mas para isso precisaríamos saber também qual é a regra de negócios para o cálculo do valor, pois o valor do frete varia de acordo com peso, tamanho e valor declarado do objeto.

from brasilapi.

Related Issues (20)

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.