<?php /** * Este exemplo mostra como usar o WebService do Correios para calcular o dígito verificador de uma etiqueta * * Porem, se preferir você pode usar o método {@linnk \PhpSigep\Model\Etiqueta::getDv() } para calcular o dígito * verificador, visto que esse método é mais rádido pois faz o cálculo local sem precisar se comunicar com o WebService. * */ require_once __DIR__ . '/bootstrap-exemplos.php'; $etiquetaSemDv_1 = new \PhpSigep\Model\Etiqueta(); $etiquetaSemDv_1->setEtiquetaSemDv('SW99266328BR'); $etiquetaSemDv_2 = new \PhpSigep\Model\Etiqueta(); $etiquetaSemDv_2->setEtiquetaSemDv('PD73958096BR'); $params = new \PhpSigep\Model\GeraDigitoVerificadorEtiquetas(); $params->setAccessData(new \PhpSigep\Model\AccessDataHomologacao()); $params->setEtiquetas(array($etiquetaSemDv_1, $etiquetaSemDv_2)); $phpSigep = new PhpSigep\Services\SoapClient\Real(); $result = $phpSigep->geraDigitoVerificadorEtiquetas($params); /** @var $etiquetasComDv \PhpSigep\Model\Etiqueta[] */ $etiquetasComDv = $result->getResult(); foreach ($etiquetasComDv as $etiqueta) { echo '<strong>Etiqueta ' . $etiqueta->getEtiquetaSemDv() . '</strong> -> DV: ' . $etiqueta->getDv() . ' -> ' . ' Etiqueta já com DV: ' . $etiqueta->getEtiquetaComDv() . '<br>'; } echo '<hr>'; echo 'Resultado completo'; echo '<pre>'; print_r((array) $result); echo '</pre>';
$dimensao->setComprimento(20); $dimensao->setDiametro(0); $dimensao->setTipo(\PhpSigep\Model\Dimensao::TIPO_PACOTE_CAIXA); $destinatario = new \PhpSigep\Model\Destinatario(); $destinatario->setNome('Google Belo Horizonte'); $destinatario->setLogradouro('Av. Bias Fortes'); $destinatario->setNumero('382'); $destinatario->setComplemento('6º andar'); $destino = new \PhpSigep\Model\DestinoNacional(); $destino->setBairro('Lourdes'); $destino->setCep('30170-010'); $destino->setCidade('Belo Horizonte'); $destino->setUf('MG'); // Estamos criando uma etique falsa, mas em um ambiente real voçê deve usar o método // {@link \PhpSigep\Services\SoapClient\Real::solicitaEtiquetas() } para gerar o número das etiquetas $etiqueta = new \PhpSigep\Model\Etiqueta(); $etiqueta->setEtiquetaSemDv('PD73958096BR'); $servicoAdicional = new \PhpSigep\Model\ServicoAdicional(); $servicoAdicional->setCodigoServicoAdicional(\PhpSigep\Model\ServicoAdicional::SERVICE_REGISTRO); // Se não tiver valor declarado informar 0 (zero) $servicoAdicional->setValorDeclarado(0); $encomenda = new \PhpSigep\Model\ObjetoPostal(); $encomenda->setServicosAdicionais(array($servicoAdicional)); $encomenda->setDestinatario($destinatario); $encomenda->setDestino($destino); $encomenda->setDimensao($dimensao); $encomenda->setEtiqueta($etiqueta); $encomenda->setPeso(0.5); // 500 gramas $encomenda->setServicoDePostagem(new \PhpSigep\Model\ServicoDePostagem(\PhpSigep\Model\ServicoDePostagem::SERVICE_SEDEX_40096)); // *** FIM DOS DADOS DA ENCOMENDA QUE SERÁ DESPACHADA *** //
<?php require_once __DIR__ . '/bootstrap-exemplos.php'; $etiquetasFromQueryRaw = trim(isset($_GET['etiquetas']) ? $_GET['etiquetas'] : ''); $etiquetas = array(); if ($etiquetasFromQueryRaw) { $etiquetasFromQuery = explode(',', $etiquetasFromQueryRaw); foreach ($etiquetasFromQuery as $etiquetaFromQuery) { $etiqueta = new \PhpSigep\Model\Etiqueta(); $etiqueta->setEtiquetaComDv(trim($etiquetaFromQuery)); $etiquetas[] = $etiqueta; } } if (count($etiquetas)) { $accessDataDeHomologacao = new \PhpSigep\Model\AccessDataHomologacao(); $accessDataDeHomologacao->setUsuario('ECT'); // Usuário e senha para teste passado no manual $accessDataDeHomologacao->setSenha('SRO'); $params = new \PhpSigep\Model\RastrearObjeto(); $params->setAccessData($accessDataDeHomologacao); $params->setEtiquetas($etiquetas); $phpSigep = new PhpSigep\Services\SoapClient\Real(); $result = $phpSigep->rastrearObjeto($params); var_dump((array) $result); $dumpResult = ob_get_clean(); } ?> <!doctype html> <html lang="pt"> <head> <meta charset="UTF-8">