asgoodasnu/afterbuyapi

WkAfterbuyApi 提供了一个与 Afterbuy XML API 交互的 Symfony2 服务

这个包的官方仓库似乎已经消失了,因此该包已被冻结

安装: 866

依赖: 0

建议者: 0

安全: 0

星标: 5

关注者: 22

分支: 4

开放问题: 2

类型:symfony-bundle

v1.3.5 2019-03-22 13:59 UTC

README

Build Status Total Downloads Latest Stable Version SensioLabsInsight

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 MonologBundle
  • symfony/framework-bundle - Symfony FrameworkBundle

PHPUnit 测试

您可以使用以下命令运行测试

$ vendor/bin/phpunit

资源

Symfony 2

https://symfony.com.cn

Afterbuy XML 接口文档

http://xmldoku.afterbuy.de/dokued/