asgoodasnu / afterbuyapi
WkAfterbuyApi 提供了一个与 Afterbuy XML API 交互的 Symfony2 服务
这个包的官方仓库似乎已经消失了,因此该包已被冻结
v1.3.5
2019-03-22 13:59 UTC
Requires
- php: ~5.4
- guzzlehttp/guzzle: >=5.0,<7.0
- jms/serializer: ^1.1
- symfony/framework-bundle: ~2.6
- symfony/yaml: ~2.6
Requires (Dev)
README
WkAfterbuyApiBundle 提供了一个使用 Guzzle 与 Afterbuy XML API 交互的 Symfony2 服务
安装
使用 composer 需求该包及其依赖
$ composer require asgoodasnu/afterbuyapi
注册该包
// app/AppKernel.php public function registerBundles() { $bundles = array( new Wk\AfterbuyApiBundle\WkAfterbuyApiBundle(), ); }
使用项目中的 parameters.yml 覆盖 Wk\AfterbuyApiBundle\App\parameters.yml 中定义的参数,并添加自己的 Afterbuy 凭据
# parameters.yml locale: en afterbuy_partner_id: 123 afterbuy_partner_password: pass afterbuy_user_id: user afterbuy_user_password: pass
使用方法
通过服务 wk_afterbuy_api.xml.client 与 Afterbuy XML API 进行交互
从 Afterbuy 获取已售物品列表
$client = $container->get('wk_afterbuy_api.xml.client'); $soldItems = $client->getSoldItems($filters, $orderDirection, $maxSoldItems, $detailLevel);
响应将是一个 Wk\AfterbuyApiBundle\Model\XmlApi\GetSoldItems\GetSoldItemsResponse 实例,并提供方法遍历 Afterbuy 返回的 XML,例如获取订单
$orders = $soldItems->getResult()->getOrders();
提供 Afterbuy 中定义的过滤器数组,例如 DateFilter 或 DefaultFilter。这些过滤器的模型可以在 Wk\AfterbuyApiBundle\Model\XmlApi\GetSoldItems\Filter 中找到。
$dateFilter = (new DateFilter(DateFilter::FILTER_AUCTION_END_DATE)) ->setDateFrom(new DateTime('2000-01-01 00:00:00')) ->setDateTo(new DateTime('2000-01-10 00:00:00')); $defaultFilter = new DefaultFilter(DefaultFilter::FILTER_COMPLETED_AUCTIONS);
更新 Afterbuy 上的已售物品
$order = new \Wk\AfterbuyApiBundle\Model\XmlApi\UpdateSoldItems\Order(); $order->setOrderId(1234567890) ->setUserDefinedFlag(12345) ->setInvoiceMemo("You didn't read the memo? You are fired!"); $client = $container->get('wk_afterbuy_api.xml.client'); $client->updateSoldItems(array($orders));
响应将是一个 Wk\AfterbuyApiBundle\Model\XmlApi\UpdateSoldItems\UpdateSoldItemsResponse 实例。
依赖项
jms/serializer- 允许您轻松序列化和反序列化任何复杂性的数据guzzlehttp/guzzle- Guzzle 是一个 PHP HTTP 客户端库symfony/yaml- Symfony Yaml 组件symfony/monolog- Symfony MonologBundlesymfony/framework-bundle- Symfony FrameworkBundle
PHPUnit 测试
您可以使用以下命令运行测试
$ vendor/bin/phpunit
资源
Symfony 2
Afterbuy XML 接口文档