ctwillie/laravel-usps

Laravel 6框架的USPS API包装器

v0.1.1 2019-11-07 20:10 UTC

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

配置

有三个重要的配置。

  1. 您的USPS用户ID

    • 如果您尚未收到USPS用户ID,请按照先决条件部分中的链接注册。这是使用此软件包所必需的。
  2. 您是否希望启用API请求的SSL验证

    • 出于安全原因,默认设置为true。您可以通过将verrifyssl配置设置更改为false来覆盖此行为。请自行承担风险。
  3. 您正在工作的环境

    • 选项是'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文件以获取详细信息