This is a modern Afterbuy Programming Interface Software Development Kit, for the selling solution afterbuy.de.
- PHP 8.2 or higher
- ext-dom
- ext-json
- ext-reflection
- ext-simplexml
- ext-xml
Require the bundle and its dependencies with composer:
composer require wundii/afterbuy-sdk
- Laravel Package is in development
- Symfony Bundle
- 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
- CreateShopOrder
- GetAfterbuyTime
- GetListerHistory
- GetMailTemplates
- GetPaymentServices
- GetProductDiscounts
- GetShippingCost
- GetShippingServices
- GetShopCatalogs
- GetShopProducts
- GetSoldItems
- GetStockInfo
- GetTranslatedMailTemplate
- UpdateCatalogs
- UpdateShopProducts
- UpdateSoldItems
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),
);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();composer cache-clear
composer ecs-apply
composer ecs-dry
composer phpstan
composer rector-apply
composer rector-dry
composer unittestcomposer complete-check