stephenmittag / php-afterbuyapi

此 WkAfterbuyApi 的分支提供了 Afterbuy XML API 的一些端点

v1.3.2 2016-12-15 13:20 UTC

This package is not auto-updated.

Last update: 2024-09-22 16:18:39 UTC


README

此 WkAfterbuyApiBundle 的分支提供了使用 Guzzle 实现 Afterbuy XML API 的某些端点的方法

安装

使用 composer 安装此包及其依赖项

$ composer require stephenmittag/php-afterbuyapi

用法

从 Afterbuy 获取销售项目列表

$client = new Client(
    $config['afterbuy']['userId'],
    $config['afterbuy']['userPw'],
    $config['afterbuy']['partnerId'],
    $config['afterbuy']['partnerPw'],
    'EN'
);
$soldItems = $client->getSoldItems($filters, $orderDirection, $maxSoldItems, $detailLevel);

响应将是一个 Wk\AfterbuyApiBundle\Model\XmlApi\GetSoldItems\GetSoldItemsResponse 实例,并提供方法来遍历 Afterbuy 返回的 XML,例如获取订单

$orders = $soldItems->getResult()->getOrders();

提供一个 Afterbuy 中定义的过滤器数组,例如日期过滤器或默认过滤器。这些过滤器的模型可以在 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->updateSoldItems(array($orders));

响应将是一个 Wk\AfterbuyApiBundle\Model\XmlApi\UpdateSoldItems\UpdateSoldItemsResponse 实例。

依赖

  • jms/serializer - 允许您轻松地序列化和反序列化任何复杂度的数据
  • guzzlehttp/guzzle - Guzzle 是一个 PHP HTTP 客户端库

PHPUnit 测试

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

$ vendor/bin/phpunit

资源

Afterbuy XML 接口文档

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