<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>correios Archives - Pereira, Thiago Santos.</title>
	<atom:link href="https://thiagosantos.com/blog/tag/correios/feed/" rel="self" type="application/rss+xml" />
	<link>https://thiagosantos.com/blog/tag/correios/</link>
	<description>the fun of code.</description>
	<lastBuildDate>Mon, 03 Dec 2012 04:02:25 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5</generator>
	<item>
		<title>Workaround para o modulo do PedroTeixeira/Correios</title>
		<link>https://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/</link>
					<comments>https://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/#comments</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Sun, 02 Dec 2012 13:10:30 +0000</pubDate>
				<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Workaround]]></category>
		<category><![CDATA[correios]]></category>
		<category><![CDATA[correios cod 99]]></category>
		<category><![CDATA[correios patch php magento]]></category>
		<category><![CDATA[pedro teixeira correios]]></category>
		<guid isPermaLink="false">http://thiagosantos.com/blog/?p=437</guid>

					<description><![CDATA[<p>Um amigo me relatou no dia de ontem (1/12/2012) que o retorno das informações do frete dos correios estavam retornando a mesma mensagem: Houve um erro inesperado, por favor entre em contato. Erro ao calcular o prazo, teste novamente mais tarde.(Cod. 99). &#160; O e-Commerce dele, assim como grande parte dos e-Commerces brasileiros, utiliza o modulo [&#8230;]</p>
<p>The post <a href="https://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/">Workaround para o modulo do PedroTeixeira/Correios</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Um amigo me relatou no dia de ontem (1/12/2012) que o retorno das informações do frete dos correios estavam retornando a mesma mensagem: <span style="color: #ff0000;">Houve um erro inesperado, por favor entre em contato. Erro ao calcular o prazo, teste novamente mais tarde.(Cod. 99).</span></p>
<p>&nbsp;</p>
<figure id="attachment_439" aria-describedby="caption-attachment-439" style="width: 300px" class="wp-caption aligncenter"><a href="http://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/attachment/screen-shot-2012-12-01-at-12-39-32-am-2/" rel="attachment wp-att-439"><img fetchpriority="high" decoding="async" class="size-medium wp-image-439" title="Screen Shot 2012-12-01 at 12.39.32 AM" src="http://thiagosantos.com/blog/wp-content/uploads//2012/12/Screen-Shot-2012-12-01-at-12.39.32-AM1-300x204.png" alt="" width="300" height="204" srcset="https://thiagosantos.com/blog/wp-content/uploads/2012/12/Screen-Shot-2012-12-01-at-12.39.32-AM1-300x204.png 300w, https://thiagosantos.com/blog/wp-content/uploads/2012/12/Screen-Shot-2012-12-01-at-12.39.32-AM1.png 392w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-439" class="wp-caption-text">Mensagem de retorno dos Correios.</figcaption></figure>
<p><span id="more-437"></span>O e-Commerce dele, assim como grande parte dos e-Commerces brasileiros, utiliza o modulo do PedroTeixeira para calculo do frete, que usa o webservice dos Correios. Resolvi dar uma olhada na página do modulo e encontrei o comentário do <a href="http://www.av5.com.br/" rel="external nofollow">Anderson Vincoletto</a>, sobre a obrigatoriedade de alguns novos campos. A partir dai não foi dificil encontrar a solução, comparando os campos definidos no modulo com os campos da <a title="Manual de implantação dos Correios" href="http://www.correios.com.br/webServices/PDF/SCPP_manual_implementacao_calculo_remoto_de_precos_e_prazos.pdf">documentação</a>. O campo nVlDiametro, passou então a ser obrigatório.</p>
<p>Então no arquivo ./community/PedroTeixeira/Correios/Model/Carrier/CorreiosMethod.php no metodo _getCorreiosReturn abaixo da linha.</p>
<pre lang="php">//encontre essa linha e embaixo dela
$client-&gt;setParameterGet('nVlLargura',$this-&gt;getConfigData('largura_sent'));
//adicione a seguinte linha
$client-&gt;setParameterGet('nVlDiametro',0);</pre>
<p>Depois de alterar essa linha o problema continuou! :)<br />
Pesquisando mais um pouco cheguei ao site da OpenCartBrasil nessa <a title="[PATCH] Corrigindo temporariamente o módulo dos Correios" href="http://www.opencartbrasil.com.br/forum/viewtopic.php?f=24&amp;t=5777" target="_blank">thread</a>. Onde Manoel Vidal sugeria a mudança da URL do Webservice.e sugeria a fixação do prazo de entrega, onde no meu caso não foi necessário.</p>
<p>No arquivo ./community/PedroTeixeira/Correios/etc/config.xml faça o mesmo abaixo:</p>
<pre lang="html">&lt;!--&lt;url_ws_correios&gt;http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx&lt;/url_ws_correios&gt;--&gt;
&lt;url_ws_correios&gt;http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx/CalcPreco&lt;/url_ws_correios&gt;</pre>
<p>Fazendo a mudança da URL o erro ficou diferente, mas agora o retorno estava completo! E o problema passou a ser o formato do XML.</p>
<pre lang="php">if(count($xml-&gt;cServico) &lt;= 0){
throw new Exception("No tag cServico in Correios XML [" . __LINE__ . "]");
}

return $xml-&gt;cServico;</pre>
<p>Analisando o XML de retorno vi que tinha um nó chamado Servicos que contém todos os cServicos, dai então alterei o código para o abaixo:</p>
<pre lang="php">if(count($xml-&gt;Servicos-&gt;cServico) &lt;= 0){
throw new Exception("No tag cServico in Correios XML [" . __LINE__ . "]");
}

return $xml-&gt;Servicos-&gt;cServico;</pre>
<p>Depois de atualizar o cache, tudo voltou a funcionar magicamente.</p>
<p><strong>observações</strong>:<br />
-Essa é uma solução temporária até que os Correios normalizem o seu webservice padrão.<br />
-O campo nVlDiametro é um parâmetro para o envio de rolo/prisma que passou a ser obrigatório. Como o código do PedroTexeira não incorpora esse tipo de embalagem (somente pacote/caixa) o valor do dado por mim ao campo foi 0.<br />
-@Leonardo obrigado pelo aviso.</p>
<p>The post <a href="https://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/">Workaround para o modulo do PedroTeixeira/Correios</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/feed/</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
			</item>
	</channel>
</rss>
