igor822/correios-parser

There is no license information available for the latest version (0.1.0) of this package.

Biblioteca para fazer busca de frete no site dos Correios

0.1.0 2016-06-30 13:58 UTC

This package is auto-updated.

Last update: 2024-03-29 02:58:22 UTC


README

Essa biblioteca consiste em fazer uma busca de frete no site dos Correios

Atualmente (v0.3.0) está atendendo somente o cálculo de Frete

Como Funciona

Segue abaixo um código para exemplo

$correios = new CorreiosParser\Correios();
$content = $correios->buscarFrete([
    'cepOrigem' => '01001-001',
    'cepDestino' => '70150-900',
    'peso' => '1.3'
], 'array' | 'json');

echo $content;

Retorno em JSON:

{  
   "servico":"sedex",
   "prazo":1,
   "valor_declarado":0,
   "entrega_sabado":1,
   "formato":"Caixa/Pacote",
   "dimensoes":{  
      "comprimento":16,
      "altura":11,
      "largura":11
   },
   "peso":1.3,
   "frete":46.2,
   "total":46.2,
   "origem":{  
      "cep":"01001001",
      "cidade":"São Paulo / SP"
   },
   "destino":{  
      "cep":"70150900",
      "cidade":"Brasília / DF"
   }
}

Retorno em Array:

array(
    "servico" => "sedex",
    "prazo" => 1,
    "valor_declarado" => 0,
    "entrega_sabado" => 1,
    "formato" => "Caixa/Pacote",
    "dimensoes" => [
        "comprimento" => 16,
        "altura" => 11,
        "largura" => 11
    ],
    "peso" => 1.3,
    "frete" => 46.2,
    "total" => 46.2,
    "origem" => [
        "cep" => "01001001",
        "cidade" => "São Paulo / SP"
    ],
    "destino" => [
        "cep" => "70150900",
        "cidade" => "Brasília / DF"
    ]
)

Pode-se adicionar mais opções:

[
  'servico' => 40010, // sedex
  'cepOrigem' => '',
  'cepDestino' => '',
  'peso' => '',
  'formato' => 1, // caixa
  'comprimento' => '16', // em cm, mínimo é 16
  'altura' => '11', // em cm, mínimo é 11
  'largura' => '11', // em cm, mínimo é 11
  'diametro' => '',
  'maoPropria' => 'N', // N = Não, S = Sim
  'valorDeclarado' => '100,00', // opcional, formato Real
  'avisoRecebimento' => 'N', // N = Não, S = Sim
  'metodo' => 'calcular' // obrigatório
];

Caso ocorra algum erro na requisição haverá o retorno

{ "erro" : 1 }

Motivação

Ao utilizar uma biblioteca ou mesmo fazer uma busca no WebService dos Correios e não há um retorno esperar (ou mesmo o WS caiu) podemos com essa biblioteca fazer um "Fall back" para buscar diretamente no site.