wundii/afterbuy-sdk

Modern PHP 8.2+ Afterbuy Programming Interface Software Development Kit

Installs: 734

Dependents: 1

Suggesters: 0

Security: 0

Stars: 3

Watchers: 1

Forks: 0

Open Issues: 1

pkg:composer/wundii/afterbuy-sdk

1.0.1 2025-12-01 16:22 UTC

README

AfterbuyShopApi AfterbuyXmlApi PHP-Tests PHPStan VERSION PHP Rector ECS PHPUnit codecov PSR3 Downloads

This is a modern Afterbuy Programming Interface Software Development Kit, for the selling solution afterbuy.de.

Requirements

  • PHP 8.2 or higher
  • ext-dom
  • ext-json
  • ext-reflection
  • ext-simplexml
  • ext-xml

Installation

Require the bundle and its dependencies with composer:

composer require wundii/afterbuy-sdk

Installations for frameworks

Afterbuy API Documentation

Current Afterbuy API Informations

  • last update 2.0.460 was recalled by Afterbuy, current version is 2.0.459
    • the afterbuy sdk is compatible with the recalled version 2.0.460

Supported Requests with Examples

Afterbuy Sandbox Environment

use Wundii\AfterbuySdk\Core\Afterbuy;
use Wundii\AfterbuySdk\Core\AfterbuyGlobal;
use Wundii\AfterbuySdk\Dto\UpdateShopProducts;
use Wundii\AfterbuySdk\Enum\Core\EndpointEnum;

$afterbuyGlobal = new AfterbuyGlobal(
    '123...',
    '456...',
    EndpointEnum::SANDBOX,
);

$afterbuy = new Afterbuy(
    $afterbuyGlobal,
);

$afterbuy->runRequest(
    new UpdateShopProducts(
        ... // afterbuy sdk request object
    ),
);

According to the Afterbuy documentation, the scheme should be changed from https to http for the test environment. However, this is currently not working as expected - all changes continue to affect the production environment. This afterbuy sdk always returns default a successful response if it is an update request. Alternatively, you can pass your own update response class.

use Wundii\AfterbuySdk\Core\Afterbuy;
use Wundii\AfterbuySdk\Core\AfterbuyGlobal;
use Wundii\AfterbuySdk\Core\SandboxResponse;
use Wundii\AfterbuySdk\Dto\UpdateShopProducts;
use Wundii\AfterbuySdk\Enum\Core\EndpointEnum;

$afterbuyGlobal = new AfterbuyGlobal(
    '123...',
    '456...',
    EndpointEnum::SANDBOX,
);

$afterbuy = new Afterbuy(
    $afterbuyGlobal,
);

/** your own response version */
$afterbuy->runRequest(
    new UpdateShopProducts(
        ... // afterbuy sdk request object
    ),
    new SandboxResponse('<your custom xml response here>', 200),
);

Usage

use Wundii\AfterbuySdk\Core\Afterbuy;
use Wundii\AfterbuySdk\Core\AfterbuyGlobal;
use Wundii\AfterbuySdk\Enum\Core\EndpointEnum;
use Wundii\AfterbuySdk\Request\GetAfterbuyTimeRequest;

$afterbuyGlobal = new AfterbuyGlobal(
    accountToken: '123...',
    partnerToken: '456...',
    EndpointEnum::SANDBOX,
);

$request = new GetAfterbuyTimeRequest();

$afterbuy = new Afterbuy(
    $afterbuyGlobal,
    Optional_PsrLoggerInterface::class,
);
$response = $afterbuy->runRequest($request);

$response->getStatusCode();
$response->getCallStatus();
$response->getInfo();
$response->getResult();
$response->getXmlResponse()
$response->getErrorMessages();
$response->getWarningMessages();

Development for Afterbuy SDK

composer scripts

composer cache-clear
composer ecs-apply
composer ecs-dry
composer phpstan
composer rector-apply
composer rector-dry
composer unittest

complete checks before merge

composer complete-check