cagartner / correios-consulta
该软件包用于通过邮局的直接服务进行CEP搜索、运费计算等。
0.3.0
2020-09-21 14:08 UTC
Requires
- php: >=7.3.0
- cagartner/phpquery: 0.9.12
README
该软件包直接在邮局网站上查询服务,不使用第三方API。
基于以下仓库
要求
- Soap Client
对于Linux: sudo apt-get install php-soap
可用查询
- CEP
- 运费
- 追踪
安装
对于PHP 7.4,请使用
"cagartner/correios-consulta": "0.3.*"
对于PHP 7.3 +,请使用
"cagartner/correios-consulta": "0.2.*"
对于PHP 7/5.x,请使用
在composer.json
文件的require
键中添加以下内容
"cagartner/correios-consulta": "0.1.*"
运行Composer update命令
$ composer update
在您的config/app.php
中,将'Cagartner\CorreiosConsulta\ServiceProvider'
添加到$providers
数组的末尾
'providers' => [ 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', // ... 'Cagartner\CorreiosConsulta\ServiceProvider', ],
然后在config/app.php
的末尾添加'Correios' => 'Cagartner\CorreiosConsulta\Facade'
到$aliases
数组中
'aliases' => [ 'App' => 'Illuminate\Support\Facades\App', 'Artisan' => 'Illuminate\Support\Facades\Artisan', // ... 'Correios' => 'Cagartner\CorreiosConsulta\Facade', ],
使用方法
CEP
仅传递CEP的值,可以是格式化的,只包含数字和字符串。
<?php echo Correios::cep('89062086'); /* Retorno: Array ( [cliente] => [logradouro] => Rua Lindolfo Kuhnen [bairro] => Itoupava Central [cep] => 89062086 [cidade] => Blumenau [uf] => SC ) */
追踪
传递邮局提供的追踪代码
<?php echo Correios::rastrear('PI464134876BR'); /* Retorno: Array ( [0] => Array ( [data] => 08/06/2015 14:47 [local] => CDD CARAGUATATUBA - Caraguatatuba/SP [status] => Entrega Efetuada ) [1] => Array ( [data] => 08/06/2015 07:59 [local] => Caraguatatuba/SP [status] => Saiu para entrega ao destinat�rio ) [2] => Array ( [data] => 03/06/2015 11:48 [local] => CTE SAO JOSE DOS CAMPOS - Sao Jose Dos Campos/SP [status] => Encaminhado [encaminhado] => Em tr�nsito para CDD CARAGUATATUBA - Caraguatatuba/SP ) [3] => Array ( [data] => 02/06/2015 10:00 [local] => AGF DOUTOR JOAO MENDES - Sao Paulo/SP [status] => Encaminhado [encaminhado] => Em tr�nsito para CTE VILA MARIA - Sao Paulo/SP ) [4] => Array ( [data] => 01/06/2015 14:56 [local] => AGF DOUTOR JOAO MENDES - Sao Paulo/SP [status] => Postado ) ) */
运费计算
<?php $dados = [ 'tipo' => 'sedex', // Separar opções por vírgula (,) caso queira consultar mais de um (1) serviço. > Opções: `sedex`, `sedex_a_cobrar`, `sedex_10`, `sedex_hoje`, `pac`, 'pac_contrato', 'sedex_contrato' , 'esedex' 'formato' => 'caixa', // opções: `caixa`, `rolo`, `envelope` 'cep_destino' => '89062086', // Obrigatório 'cep_origem' => '89062080', // Obrigatorio //'empresa' => '', // Código da empresa junto aos correios, não obrigatório. //'senha' => '', // Senha da empresa junto aos correios, não obrigatório. 'peso' => '1', // Peso em kilos 'comprimento' => '16', // Em centímetros 'altura' => '11', // Em centímetros 'largura' => '11', // Em centímetros 'diametro' => '0', // Em centímetros, no caso de rolo // 'mao_propria' => '1', // Náo obrigatórios // 'valor_declarado' => '1', // Náo obrigatórios // 'aviso_recebimento' => '1', // Náo obrigatórios ]; echo Correios::frete($dados); /* Retorno para uma única consulta: Array ( [codigo] => 40010 [valor] => 14.9 [prazo] => 1 [mao_propria] => 0 [aviso_recebimento] => 0 [valor_declarado] => 0 [entrega_domiciliar] => 1 [entrega_sabado] => 1 [erro] => Array ( [codigo] => 0 [mensagem] => ) ) */ /* Retorno para várias consultas: Array ( 0 => Array ( [codigo] => 4510 [valor] => 14.9 [prazo] => 1 [mao_propria] => 0 [aviso_recebimento] => 0 [valor_declarado] => 0 [entrega_domiciliar] => 1 [entrega_sabado] => 1 [erro] => Array ( [codigo] => 0 [mensagem] => ) ), 1 => Array ( [codigo] => 4014 [valor] => 14.9 [prazo] => 1 [mao_propria] => 0 [aviso_recebimento] => 0 [valor_declarado] => 0 [entrega_domiciliar] => 1 [entrega_sabado] => 1 [erro] => Array ( [codigo] => 0 [mensagem] => ) ) ) */