phpsoftbox / wildberries
Wildberries API client component for the PhpSoftBox framework
dev-master
2026-07-02 10:16 UTC
Requires
- php: ^8.4
- phpsoftbox/collection: dev-master
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.93
- phpsoftbox/cli-app: dev-master
- phpsoftbox/code-generator: dev-master
- phpsoftbox/cs-fixer: ^1.1.0
- phpsoftbox/http-message: dev-master
- phpunit/phpunit: ^11.2
- symfony/yaml: ^7.0
This package is auto-updated.
Last update: 2026-07-02 10:16:22 UTC
README
About
phpsoftbox/wildberries — API-клиент Wildberries на базе PSR-18.
Компонент включает:
WildberriesApiClientс поддержкой нескольких API-хостов;- универсальные HTTP-методы
get/post/put/patch/delete/request; - секции API, сгенерированные из OpenAPI (
general,products,ordersFbs,ordersDbw,ordersDbs,inStorePickup,ordersFbw,promotion,communications,tariffs,analytics,reports,finances); - ответы в
WildberriesApiResponse, совместимом сPhpSoftBox\Collection\Collection; WildberriesApiResponse::makeDto()для явного преобразования ответа в DTO;WildberriesExceptionсо статусом и payload.
Quick Start
use PhpSoftBox\Http\Message\RequestFactory; use PhpSoftBox\Http\Message\StreamFactory; use PhpSoftBox\Wildberries\WildberriesApiClient; $client = new WildberriesApiClient( token: $_ENV['WILDBERRIES_API_TOKEN'], httpClient: $psr18Client, requestFactory: new RequestFactory(), streamFactory: new StreamFactory(), authorizationScheme: 'Bearer', ); // Низкоуровневый вызов $stocks = $client->marketplace()->get('/api/v3/orders/new'); // Вызов через секцию API $parents = $client->products()->objectParentAll();
DTO ответы
Wrapper-методы остаются совместимыми с Collection. Если для endpoint-а есть сгенерированный DTO, его можно получить явно:
$parents = $client->products()->objectParentAll()->makeDto();
Для низкоуровневых вызовов работает та же карта DTO:
$response = $client->marketplace() ->put('/api/v3/orders/123/meta/gtin', ['gtin' => '04601234567890']) ->makeDto();
Генерация DTO
DTO генерируются из локальных OpenAPI YAML файлов в docs/:
vendor/bin/psb wildberries:openapi:generate-dto
Команда обновляет src/Dto и src/Dto/WildberriesResponseDtoMap.php. Wrapper-классы не меняются: основной контракт остается WildberriesApiResponse/Collection, а DTO создаются явно через makeDto().