isetdev / colibri-shipper-sdk-php
这是与FretEasy API集成的官方PHP SDK。https://www.freteasy.com.br
Requires
- php: >=5.4.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- apimatic/jsonmapper: ^1.3.1
- apimatic/unirest-php: ^2.0.0
Requires (Dev)
- phpunit/phpunit: 4.8.*
- squizlabs/php_codesniffer: ^2.7
This package is auto-updated.
Last update: 2024-09-15 01:27:25 UTC
README
这是与FretEasy API集成的官方PHP SDK。 https://www.freteasy.com.br
如何构建
生成的代码依赖于外部库,如UniRest。这些依赖关系在SDK附带的自定义composer.json
文件中定义。为了解决这些依赖关系,我们使用Composer包管理器,它需要在您的系统上安装PHP版本大于5.3.2。访问https://getcomposer.org.cn/download/ 下载Composer安装文件并在您的系统上运行。打开命令提示符并键入composer --version
。如果安装成功,它应该显示已安装的Composer的当前版本。
- 使用命令行,导航到包含生成的文件(包括
composer.json
)的SDK目录。 - 运行命令
composer install
。这将安装所有必要的依赖项并在您的项目目录中创建vendor
目录。
(仅限Windows用户)在php.ini中配置CURL证书路径
CURL曾经包含一组接受的CA列表,但现在不再捆绑任何CA证书。因此,默认情况下,它将拒绝所有SSL证书,因为它们无法验证。您将需要获取您CA的证书并将curl指向它。步骤如下:
- 从https://curl.haxx.se/docs/caextract.html 下载证书捆绑包(.pem文件)到您的系统。
- 将curl.cainfo = "PATH_TO/cacert.pem" 添加到您的php.ini文件中,该文件位于您的php安装目录。 “PATH_TO”必须包含.pem文件的绝对路径。
[curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. ;curl.cainfo =
如何使用
以下部分解释了如何在新的项目中使用FretEasy库。
1. 在IDE中打开项目
打开PHP IDE,如PhpStorm。这里展示的基本工作流程也适用于您喜欢使用不同编辑器或IDE的情况。
在PhpStorm中点击打开
,浏览到生成的SDK目录,然后点击确定
。
2. 添加新的测试项目
如下所示,通过右键单击解决方案名称创建新目录
将目录命名为"test"
向此项目添加PHP文件
将其命名为"testSDK"
根据您的项目设置,您可能需要在PHP代码中包含composer的自动加载器以启用类自动加载。
require_once "../vendor/autoload.php";
确保require_once内的路径正确指向依赖安装期间创建的vendor目录中的autoload.php
文件。
在此之后,您可以添加初始化客户端库并获取控制器类实例的代码。随后的部分提供了初始化客户端库和使用控制器方法的示例代码。
3. 运行测试项目
要运行您的项目,您必须设置项目的解释器。解释器是安装在您计算机上的PHP引擎。
从文件
菜单中打开设置
。
从语言和框架
中选择PHP
。
在解释器
选项附近浏览解释器并选择您的解释器。
选择解释器后,点击确定
要运行您的项目,右键单击测试项目中的PHP文件,然后点击运行
如何测试
此SDK中的单元测试可以使用PHPUnit运行。
- 首先,使用composer安装依赖关系,包括
require-dev
依赖关系。 - 在命令行中运行
vendor\bin\phpunit --verbose
来执行测试。如果您已全局安装PHPUnit,请使用phpunit --verbose
运行测试。
您可以在 phpunit.xml
文件中更改PHPUnit测试配置。
初始化
认证
为了设置API客户端的认证和初始化,您需要以下信息。
API客户端可以按以下方式初始化。
$xApiKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // API Key (Request to Dev Team) $client = new FreteasyLib\FreteasyClient($xApiKey);
类参考
控制器列表
QuoteController
获取单例实例
您可以通过API客户端访问 QuoteController
类的单例实例。
$quote = $client->getQuote();
getQuote
验证所有服务是否仍然正常工作的端点
function getQuote()
示例用法
$result = $quote->getQuote();
createQuote
根据每个服务的发送者、目的地和物品获取运费报价的端点
function createQuote($quote)
参数
示例用法
$quote = new Quote(); $result = $quote->createQuote($quote);
AddressController
获取单例实例
AddressController
类的单例实例可以通过API客户端访问。
$address = $client->getAddress();
getByPostcode
根据国家和邮政编码获取地址的端点
function getByPostcode($options)
参数
示例用法
$country = 'BR'; $collect['country'] = $country; $postcode = '31275060'; $collect['postcode'] = $postcode; $result = $address->getByPostcode($collect);