Open kinfoxxx opened 7 years ago
Tbm estou com esse problema.
Baseado neste documento fiz uma alteração: http://correios.com.br/para-voce/correios-de-a-a-z/pdf/rastreamento-de-objetos/manual_rastreamentoobjetosws.pdf
Solução temporária:
copie o arquivo app/code/community/PedroTeixeira/Correios/Model/Carrier/CorreiosMethod.php
para app/code/local
/PedroTeixeira/Correios/Model/Carrier/CorreiosMethod.php
Encontre o método protected function _getTracking($code) e substitua pelo código que segue abaixo.
/**
* Protected Get Tracking, opens the request to Correios
*
* @param string $code
* @return boolean
*/
protected function _getTracking($code)
{
$error = Mage::getModel('shipping/tracking_result_error');
$error->setTracking($code);
$error->setCarrier($this->_code);
$error->setCarrierTitle($this->getConfigData('title'));
$error->setErrorMessage($this->getConfigData('urlerror'));
$wsdlUrl = 'http://webservice.correios.com.br/service/rastro/Rastro.wsdl';
$result = array();
try {
$webService = new Zend_Soap_Client($wsdlUrl,
array('soap_version' => SOAP_1_1));
$result = $webService->__call('buscaEventos',
array(array(
'objetos' => $code,
'tipo' => 'L',
'resultado' => 'T',
'lingua' => '101',
)));
} catch (Exception $e) {
$this->_result->append($error);
return false;
}
$progress = array();
$fnLocation = function($event){
if(!$event){
return null;
}
$bairro = $event->bairro ? ucwords(strtolower($event->bairro)) . " - " : null;
$cidade = ucwords(strtolower($event->cidade));
return htmlentities("{$event->local} ({$bairro}{$cidade} /{$event->uf})");
};
$events = is_array($result->return->objeto->evento) ? $result->return->objeto->evento : array($result->return->objeto->evento);
foreach($events as $event ){
$locale = new Zend_Locale('pt_BR');
$date = '';
$date = new Zend_Date($event->data, 'dd/MM/YYYY', $locale);
$track = array(
'deliverydate' => $date->toString('YYYY-MM-dd'),
'deliverytime' => $event->hora . ':00',
'deliverylocation' => $fnLocation($event),
'status' => "{$event->descricao}",
'activity' => htmlentities($event->descricao)
);
if (isset($event->destino)) {
$track['activity'] .= " {$fnLocation($event->destino)}";
}
$progress[] = $track;
}
if (!empty($progress)) {
$track = $progress[0];
$track['progressdetail'] = $progress;
$tracking = Mage::getModel('shipping/tracking_result_status');
$tracking->setTracking($code);
$tracking->setCarrier('correios');
$tracking->setCarrierTitle($this->getConfigData('title'));
$tracking->addData($track);
$this->_result->append($tracking);
return true;
} else {
$this->_result->append($error);
return false;
}
}
Boa tarde, o link que esta sendo enviado no e-mail para o cliente já não funciona mais, existe alguma outra forma de colocar outro link , no email esta sendo enviado o link http://websro.correios.com.br/sro_bin/txect01%24.QueryList?P_LINGUA=001&P_TIPO=001&P_COD_UNI=PNXXXXXXXXBR