{"id":35154841,"url":"https://github.com/wundii/afterbuy-sdk","last_synced_at":"2025-12-28T16:45:06.198Z","repository":{"id":249362878,"uuid":"831308617","full_name":"wundii/afterbuy-sdk","owner":"wundii","description":"Afterbuy Programming Interface Software Development Kit","archived":false,"fork":false,"pushed_at":"2025-12-18T09:34:26.000Z","size":635,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-21T16:50:47.304Z","etag":null,"topics":["afterbuy","php","sdk","shop-api","xml-api"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wundii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-20T07:20:32.000Z","updated_at":"2025-12-18T09:34:27.000Z","dependencies_parsed_at":"2025-04-07T16:24:20.046Z","dependency_job_id":"ff9717ca-c05e-4209-94d2-98daaf8ec2ee","html_url":"https://github.com/wundii/afterbuy-sdk","commit_stats":null,"previous_names":["wundii/afterbuy-sdk"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/wundii/afterbuy-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wundii%2Fafterbuy-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wundii%2Fafterbuy-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wundii%2Fafterbuy-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wundii%2Fafterbuy-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wundii","download_url":"https://codeload.github.com/wundii/afterbuy-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wundii%2Fafterbuy-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28100951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-28T02:00:05.685Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["afterbuy","php","sdk","shop-api","xml-api"],"created_at":"2025-12-28T16:45:05.532Z","updated_at":"2025-12-28T16:45:06.191Z","avatar_url":"https://github.com/wundii.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# afterbuy-sdk\n\n[![AfterbuyShopApi](https://img.shields.io/badge/Afterbuy%20Shop--API-Version%201.77.248-yellow.svg?style=for-the-badge)](https://xmldoku.afterbuy.de/shopdoku)\n[![AfterbuyXmlApi](https://img.shields.io/badge/Afterbuy%20XML--API-Version%202.0.460-yellow.svg?style=for-the-badge)](https://xmldoku.afterbuy.de/dokued)\n[![PHP-Tests](https://img.shields.io/github/actions/workflow/status/wundii/afterbuy-sdk/code_quality.yml?branch=main\u0026style=for-the-badge)](https://github.com/wundii/afterbuy-sdk/actions/workflows/code_quality.yml)\n[![PHPStan](https://img.shields.io/badge/PHPStan-level%2010-brightgreen.svg?style=for-the-badge)](https://phpstan.org/)\n![VERSION](https://img.shields.io/packagist/v/wundii/afterbuy-sdk?style=for-the-badge)\n[![PHP](https://img.shields.io/packagist/php-v/wundii/afterbuy-sdk?style=for-the-badge)](https://www.php.net/)\n[![Rector](https://img.shields.io/badge/Rector-8.2-blue.svg?style=for-the-badge)](https://getrector.com)\n[![ECS](https://img.shields.io/badge/ECS-check-blue.svg?style=for-the-badge)](https://tomasvotruba.com/blog/zen-config-in-ecs)\n[![PHPUnit](https://img.shields.io/badge/PHP--Unit-check-blue.svg?style=for-the-badge)](https://phpunit.org)\n[![codecov](https://img.shields.io/codecov/c/github/wundii/afterbuy-sdk/main?token=UXR8UBCXMK\u0026style=for-the-badge)](https://codecov.io/github/wundii/afterbuy-sdk)\n[![PSR3](https://img.shields.io/badge/PSR--3%20Logger-optional-blue.svg?style=for-the-badge)](https://php-fig.org/psr/psr-3)\n[![Downloads](https://img.shields.io/packagist/dt/wundii/afterbuy-sdk.svg?style=for-the-badge)](https://packagist.org/packages/wundii/afterbuy-sdk)\n\nThis is a modern Afterbuy Programming Interface Software Development Kit, for the selling solution [afterbuy.de](https://www.afterbuy.de/).\n\n## Requirements\n- PHP 8.2 or higher\n- ext-dom\n- ext-json\n- ext-reflection\n- ext-simplexml\n- ext-xml\n\n## Installation\nRequire the bundle and its dependencies with composer:\n\n\u003e composer require wundii/afterbuy-sdk\n\n### Installations for frameworks\n- Laravel Package is in development\n- [Symfony Bundle](https://github.com/wundii/afterbuy-sdk-symfony-bundle)\n\n## Afterbuy API Documentation\n- [Shop API Documentation](https://xmldoku.afterbuy.de/shopdoku/)\n- [XML API Documentation](https://xmldoku.afterbuy.de/dokued/)\n\n### Current Afterbuy API Informations\n- last update 2.0.460 was recalled by Afterbuy, current version is 2.0.459\n  - the afterbuy sdk is compatible with the recalled version 2.0.460\n\n### Supported Requests with Examples\n- [x] [CreateShopOrder](examples/CreateShopOrder.md)\n- [x] [GetAfterbuyTime](examples/GetAfterbuyTime.md)\n- [x] [GetListerHistory](examples/GetListerHistory.md)\n- [x] [GetMailTemplates](examples/GetMailTemplates.md)\n- [x] [GetPaymentServices](examples/GetPaymentServices.md)\n- [x] [GetProductDiscounts](examples/GetProductDiscounts.md)\n- [x] [GetShippingCost](examples/GetShippingCost.md)\n- [x] [GetShippingServices](examples/GetShippingServices.md)\n- [x] [GetShopCatalogs](examples/GetShopCatalogs.md)\n- [x] [GetShopProducts](examples/GetShopProducts.md)\n- [x] [GetSoldItems](examples/GetSoldItems.md)\n- [x] [GetStockInfo](examples/GetStockInfo.md)\n- [x] [GetTranslatedMailTemplate](examples/GetTranslatedMailTemplate.md)\n- [x] [UpdateCatalogs](examples/UpdateCatalogs.md)\n- [x] [UpdateShopProducts](examples/UpdateShopProducts.md)\n- [x] [UpdateSoldItems](examples/UpdateSoldItems.md)\n\n## Afterbuy Sandbox Environment\n\n```php\nuse Wundii\\AfterbuySdk\\Core\\Afterbuy;\nuse Wundii\\AfterbuySdk\\Core\\AfterbuyGlobal;\nuse Wundii\\AfterbuySdk\\Dto\\UpdateShopProducts;\nuse Wundii\\AfterbuySdk\\Enum\\Core\\EndpointEnum;\n\n$afterbuyGlobal = new AfterbuyGlobal(\n    '123...',\n    '456...',\n    EndpointEnum::SANDBOX,\n);\n\n$afterbuy = new Afterbuy(\n    $afterbuyGlobal,\n);\n\n$afterbuy-\u003erunRequest(\n    new UpdateShopProducts(\n        ... // afterbuy sdk request object\n    ),\n);\n```\nAccording to the Afterbuy documentation, the scheme should be changed from https to http for the test environment.\nHowever, this is currently not working as expected - all changes continue to affect the production environment.\nThis afterbuy sdk always returns default a successful response if it is an update request.\nAlternatively, you can pass your own update response class.\n\n```php\nuse Wundii\\AfterbuySdk\\Core\\Afterbuy;\nuse Wundii\\AfterbuySdk\\Core\\AfterbuyGlobal;\nuse Wundii\\AfterbuySdk\\Core\\SandboxResponse;\nuse Wundii\\AfterbuySdk\\Dto\\UpdateShopProducts;\nuse Wundii\\AfterbuySdk\\Enum\\Core\\EndpointEnum;\n\n$afterbuyGlobal = new AfterbuyGlobal(\n    '123...',\n    '456...',\n    EndpointEnum::SANDBOX,\n);\n\n$afterbuy = new Afterbuy(\n    $afterbuyGlobal,\n);\n\n/** your own response version */\n$afterbuy-\u003erunRequest(\n    new UpdateShopProducts(\n        ... // afterbuy sdk request object\n    ),\n    new SandboxResponse('\u003cyour custom xml response here\u003e', 200),\n);\n```\n\n## Usage\n\n```php\nuse Wundii\\AfterbuySdk\\Core\\Afterbuy;\nuse Wundii\\AfterbuySdk\\Core\\AfterbuyGlobal;\nuse Wundii\\AfterbuySdk\\Enum\\Core\\EndpointEnum;\nuse Wundii\\AfterbuySdk\\Request\\GetAfterbuyTimeRequest;\n\n$afterbuyGlobal = new AfterbuyGlobal(\n    accountToken: '123...',\n    partnerToken: '456...',\n    EndpointEnum::SANDBOX,\n);\n\n$request = new GetAfterbuyTimeRequest();\n\n$afterbuy = new Afterbuy(\n    $afterbuyGlobal,\n    Optional_PsrLoggerInterface::class,\n);\n$response = $afterbuy-\u003erunRequest($request);\n\n$response-\u003egetStatusCode();\n$response-\u003egetCallStatus();\n$response-\u003egetInfo();\n$response-\u003egetResult();\n$response-\u003egetXmlResponse()\n$response-\u003egetErrorMessages();\n$response-\u003egetWarningMessages();\n```\n\n## Development for Afterbuy SDK\n\n### composer scripts\n\n```shell\ncomposer cache-clear\ncomposer ecs-apply\ncomposer ecs-dry\ncomposer phpstan\ncomposer rector-apply\ncomposer rector-dry\ncomposer unittest\n```\n\n### complete checks before merge\n\n```shell\ncomposer complete-check\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwundii%2Fafterbuy-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwundii%2Fafterbuy-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwundii%2Fafterbuy-sdk/lists"}