fulfillment / oms-api
封装Fulfillment的OMS API,便于使用
0.1.2
2021-03-09 16:32 UTC
Requires
- fulfillment/api-wrapper: 0.1
- guzzlehttp/guzzle: ~6.0
- league/climate: ^3.2
- league/container: ^2.0@dev
- netresearch/jsonmapper: ^0.8.0
- respect/validation: 1.1.*
- vlucas/phpdotenv: ~1.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-09-09 23:47:40 UTC
README
一个PHP库,用于简化Fulfillment的OMS API的使用
示例
use Fulfillment\OMS; use Fulfillment\OMS\Models\Request; $apiWrapper = new OmsClient(__DIR__); //instantiate OMS with a configuration file or array of settings $newOrder = new Order($orderData); //create a new Request\Order /* * 1. Validate the order * 2. Make a POST request to /orders * 3. Parse the returned api response into a new Response\Order object */ $createdOrder = $apiWrapper->orders->createOrder($newOrder);
安装
composer require fulfillment/oms-api
配置
所需配置简单
- USERNAME - 账户的电子邮件地址
- PASSWORD - 账户密码
- CLIENT_ID - 商户的客户端ID
- CLIENT_SECRET - 商户的客户端密钥
- ACCESS_TOKEN - 如果已创建,则用于商户的访问令牌
- API_ENDPOINT - 您使用的Fulfillment API服务的端点(https://api.fulfillment.com)
可选配置
- JSON_ONLY - 默认为false。如果设置为true,则所有响应都将作为纯JSON返回,就像从服务器返回的那样。
配置OMS API有两种方式
使用dotenv
使用与fantastic phpdotenv库兼容的.env
文件。只需在OMS构造函数中指定包含您的.env
文件的文件夹的绝对路径作为参数。
$apiWrapper = new OmsClient('absolute/path/to/a/folder')
在根目录中可以找到一个名为.env.example
的示例文件。
使用数组
或者,创建一个与上述指定的配置匹配的键/值数组,并将其作为参数传递给OMS构造函数。
$apiWrapper = new OmsClient($yourConfigurationArray)
使用方法
与模型协同工作
模型(纯PHP类)被包装器用于简化API数据的构建、验证和解析。有两种类型的模型
请求模型
位于Fulfillment\OMS\Models\Request
中,这些模型用于需要数据的任何请求(例如POST或PUT请求)。目前,您需要使用已实现的模型来执行此类请求。它们与另一种类型(Response
模型)略有不同,因为它们不需要像API返回的数据那样多的数据。
示例
$newOrder = new Order($myOrderData); $order = $apiWrapper->orders->createOrder($newOrder);
响应模型
位于Fulfillment\OMS\Models\Response
中,这些模型用于将响应JSON解析到其中。它们继承自Request
模型,因此可以重复用于发送请求。
示例
$returnedOrder = $apiWrapper->orders->getOrder($orderId);
模型验证
默认情况下,在发送请求之前(在POST或PUT请求的情况下)对所有模型进行验证。如果模型有任何验证失败,将抛出一个描述性错误。最终,这将是一个可配置的选项。
路线图
还有很多工作要做,请查看问题部分以查看正在开发的内容或提出请求。