feliperoberto / non-official-correios-api
该包最新版本(v1.0.0)没有可用的许可证信息。
巴西Correios的非官方API
v1.0.0
2019-03-01 21:17 UTC
Requires
- electrolinux/phpquery: ^0.9.6
This package is not auto-updated.
Last update: 2024-09-23 07:37:01 UTC
README
这是一个用于直接从Correios网站获取并处理数据的类包。您可以直接通过PHP代码中的静态调用或通过HTTP调用来使用该API。
PHP调用
\Correios\CEP::buscar($cep); \Correios\Rastreio::localizar($codigo_rastreio);
该包也可在 https://packagist.org.cn/packages/feliperoberto/non-official-correios-api 上找到,并通过php composer进行安装。
php composer.phar install feliperoberto/non-official-correios-api
使用示例
<?php require 'vendor/autoload.php'; if(isset($_GET['cep'])){ header('Content-Type: text/json; charset=UTF-8'); $endereco = \Correios\CEP::buscar(preg_replace('/[^0-9]/', '', $_GET['cep'])); die(json_encode($endereco ? $endereco[0] : null)); }elseif(isset($_GET['endereco'])){ header('Content-Type: text/json; charset=UTF-8'); die(json_encode(\Correios\CEP::buscar($_GET['endereco']))); }elseif(isset($_GET['codigo_rastreio'])){ header('Content-Type: text/json; charset=UTF-8'); die(json_encode(\Correios\Rastreio::localizar($_GET['codigo_rastreio']))); }
HTTP调用
您可以通过CEP获取结构化地址,通过部分地址查找CEP,或查询订单跟踪历史。
CEP查询
发送所需CEP的字符串,返回包含地址属性的物体。如果找不到,将返回null
。
curl -X GET http://127.0.0.1/?cep=01001001
{ "bairro": "S\u00e9\u00a0", "cep": "01001-001", "cidade": "S\u00e3o Paulo", "logradouro": "Pra\u00e7a da S\u00e9 - lado par\u00a0", "uf": "SP\u00a0" }
地址搜索
发送要搜索的地址字符串,将返回地址物体列表。如果没有结果,将返回空列表。
curl -X GET http://127.0.0.1/?endereco=av%20paulista
[ { "bairro": "Alvorada\u00a0", "cep": "45820-839", "cidade": "Eun\u00e1polis", "logradouro": "Avenida Paulista\u00a0", "uf": "BA\u00a0" }, { "bairro": "Calabet\u00e3o\u00a0", "cep": "41227-025", "cidade": "Salvador", "logradouro": "Avenida Paulista\u00a0", "uf": "BA\u00a0" }, { "bairro": "Jardim Panorama\u00a0", "cep": "13504-654", "cidade": "Rio Claro", "logradouro": "Avenida Paulista - de 2500/2501 a 2998/2999\u00a0", "uf": "SP\u00a0" } ]
订单跟踪
curl -X GET http://127.0.0.1/?codigo_rastreio=OG490654336BR
[ { "cidade": "RIO DE JANEIRO", "data": "2019-03-01 01:57:00", "mensagem": "Objeto encaminhado de Unidade de Tratamento em RIO DE JANEIRO / RJ para Unidade de Distribui\u00e7\u00e3o em Rio De Janeiro / RJ", "status": "Objeto encaminhado", "uf": "RJ" }, { "cidade": "RIO DE JANEIRO", "data": "2019-02-28 17:50:00", "mensagem": "Objeto encaminhado de Ag\u00eancia dos Correios em RIO DE JANEIRO / RJ para Unidade de Tratamento em RIO DE JANEIRO / RJ", "status": "Objeto encaminhado", "uf": "RJ" }, { "cidade": "RIO DE JANEIRO", "data": "2019-02-28 17:15:00", "mensagem": "Objeto postado", "status": "Objeto postado", "uf": "RJ" } ]
在Heroku上部署
简要说明。
git clone https://github.com/feliperoberto/correios-cep.git heroku login git push heroku master heroku open
更多详情请参阅 https://devcenter.heroku.com/articles/getting-started-with-php?singlepage=true
与Docker一起使用
以下是docker run、compose或stack的命令。
docker run --rm -d -p 80:80 feliperoberto/non-official-correios-api
或
docker-compose up
或
docker stack deploy -c docker-compose.yml non-official-correios-api