ctwillie / laravel-usps
Laravel 6框架的USPS API包装器
v0.1.1
2019-11-07 20:10 UTC
Requires
- guzzlehttp/guzzle: ~6.0
- illuminate/support: ^6.4
- spatie/array-to-xml: ^2.11
This package is auto-updated.
Last update: 2024-09-23 08:28:46 UTC
README
本软件包提供了一个用于美国邮政服务API的非常简单的包装器。目前,此软件包仅提供地址验证功能,但很快将包括USPS API提供的所有功能。
先决条件
请确保在www.usps.com/webtools/注册,以从美国邮政服务接收您的唯一用户ID。此用户ID是使用此软件包所必需的。
安装
composer require ctwillie/laravel-usps
配置
有三个重要的配置。
-
您的USPS用户ID
- 如果您尚未收到USPS用户ID,请按照先决条件部分中的链接注册。这是使用此软件包所必需的。
-
您是否希望启用API请求的SSL验证
- 出于安全原因,默认设置为
true
。您可以通过将verrifyssl
配置设置更改为false
来覆盖此行为。请自行承担风险。
- 出于安全原因,默认设置为
-
您正在工作的环境
- 选项是
'local'和'production'
,这告诉软件包使用哪个API URL,分别是测试或生产。如果没有找到对env
的配置,则默认为laravel认可的环境。此设置优先于APP_ENV
从您的.env
文件。
- 选项是
我们建议将所有配置设置放在您的.env
文件中,并使用Laravel的env()
辅助函数来访问这些值。
在config/services.php
中添加这三个设置。
'usps' => [ 'userid' => env('USPS_USER_ID'), // string 'verifyssl' => env('USPS_VERIFY_SSL'), // bool 'env' => env('USPS_ENV') //string ];
用法
此软件包当前提供以下功能
地址验证
Address
类处理创建和格式化地址数据。将地址详情的关联数组传递给构造函数。数组键是区分大小写的。下面是创建地址并制作api请求进行验证的示例。
use ctwillie\Usps\Address; $address = new Address([ 'Address2' => '6406 Ivy Lane', 'City' => 'Greenbelt', 'State' => 'MD', 'Zip5' => 20770 ]); $response = $address->validate();
USPS API支持每个请求最多5个地址验证。如果您需要一次验证多个地址,请将地址数组传递给Address
构造函数。
use ctwillie\Usps\Address; $address1 = [ 'Address2' => '6406 Ivy Lane', 'City' => 'Greenbelt', 'State' => 'MD', 'Zip5' => 20770 ]; $address2 = [ 'Address2' => '2185 Sandy Drive', 'City' => 'Franklin', 'State' => 'VA', 'Zip5' => 32050 ]; $addresses = new Address([$address1, $address2]); $response = $addresses->validate();
响应将包含正确的地址或错误信息,如果提供的信息不足或地址不存在。
响应格式化
您可以通过将可选的、不区分大小写的参数传递给validate方法来指定响应的格式。默认格式是关联数组。
$address = new Address([/* address info */ ]); $json = $address->validate('json'); $object = $address->validate('object'); $string = $address->validate('string');
贡献
贡献总是受欢迎的,并且将获得全额信用。
我们接受通过Github的Pull Requests进行贡献。
作者
- Cedric Twillie
请参阅参与此项目的贡献者列表。
许可证
本项目采用MIT许可证 - 请参阅LICENSE.md文件以获取详细信息