PHPackages                             dmitrijkalugin/wildberries-api-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. dmitrijkalugin/wildberries-api-client

ActiveLibrary[API Development](/categories/api)

dmitrijkalugin/wildberries-api-client
=====================================

Laravel client library for Wildberries API integration

2.0(1mo ago)050MITPHPPHP ^8.1|^8.2|^8.3

Since Sep 3Pushed 1mo agoCompare

[ Source](https://github.com/DmiriiKalugin/wb_api_client)[ Packagist](https://packagist.org/packages/dmitrijkalugin/wildberries-api-client)[ Docs](https://github.com/dmitrijkalugin/wildberries-api-client)[ RSS](/packages/dmitrijkalugin-wildberries-api-client/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (12)Versions (17)Used By (0)

Wildberries API Client для Laravel
==================================

[](#wildberries-api-client-для-laravel)

Laravel пакет для интеграции с API Wildberries. Обеспечивает удобный доступ ко всем основным API сервисам маркетплейса.

Особенности
-----------

[](#особенности)

- ✅ Поддержка всех основных API Wildberries (Content, Marketplace, Statistics, Advertising и др.)
- ✅ Автоматическая авторизация через API токены
- ✅ Обработка ошибок и лимитов запросов
- ✅ Поддержка песочницы (sandbox)
- ✅ Laravel Service Provider и Facade
- ✅ Гибкая конфигурация
- ✅ PSR-4 автозагрузка

Установка
---------

[](#установка)

Установите пакет через Composer:

```
composer require dmitrijkalugin/wildberries-api-client
```

Опубликуйте конфигурационный файл:

```
php artisan vendor:publish --tag=wildberries-config
```

Конфигурация
------------

[](#конфигурация)

Добавьте ваш API токен в `.env` файл:

```
WILDBERRIES_API_TOKEN=your_api_token_here
WILDBERRIES_SANDBOX=false
WILDBERRIES_LOGGING=false
```

Получить API токен можно в личном кабинете продавца в разделе "Настройки" → "Доступ к API".

Быстрый старт
-------------

[](#быстрый-старт)

### Использование через Dependency Injection

[](#использование-через-dependency-injection)

```
use DmitrijKalugin\WildberriesApiClient\Services\WildberriesApiService;

class YourController extends Controller
{
    public function __construct(
        private WildberriesApiService $wildberriesApi
    ) {}

    public function getProducts()
    {
        $products = $this->wildberriesApi->getCards();
        return response()->json($products);
    }
}
```

### Динамическая смена токена

[](#динамическая-смена-токена)

```
Wildberries::setToken('your_new_token')->getSellerInfo();
```

Доступные методы
----------------

[](#доступные-методы)

### Общие методы

[](#общие-методы)

```
// Проверка соединения с различными сервисами
WildberriesApiService::ping('common');     // common-api
WildberriesApiService::ping('content');    // content-api
WildberriesApiService::ping('marketplace'); // marketplace-api

// Информация о продавце
WildberriesApiService::getSellerInfo();

// Новости портала продавцов
WildberriesApiService::getNews([
    'from' => '2024-01-01',        // Дата от
    'fromID' => 7369               // ID новости от
]);
```

### Content API - Управление товарами

[](#content-api---управление-товарами)

```
// Получение списка карточек товаров
$cards = WildberriesApiService::getCards([
    'limit' => 100,
    'offset' => 0
]);

// Обновление карточек товаров
$updateResult = WildberriesApiService::updateCards([
    [
        'nmID' => 123456,
        'title' => 'Новое название товара',
        'description' => 'Описание товара'
    ]
]);

// Получение медиафайлов товара
$media = WildberriesApiService::getMediaFiles(123456);
```

### Marketplace API - Заказы и остатки

[](#marketplace-api---заказы-и-остатки)

```
// Получение списка складов
$warehouses = WildberriesApiService::getWarehouses();

// Получение заказов
$orders = WildberriesApiService::getOrders([
    'dateFrom' => '2024-01-01',
    'dateTo' => '2024-01-31'
]);

// Получение остатков
$stocks = WildberriesApiService::getStocks([
    'dateFrom' => '2024-01-01'
]);

// Обновление остатков
$warehouseId = 123; // ID склада
$stocksUpdate = WildberriesApiService::updateStocks($warehouseId, [
    [
        'sku' => 'SKU123',
        'amount' => 10
    ]
]);

// Обновление цен
$pricesUpdate = WildberriesApiService::updatePrices([
    [
        'nmId' => 12345678,
        'price' => 1999
    ]
]);
```

### Statistics API - Аналитика

[](#statistics-api---аналитика)

```
// Статистика поставок
$incomes = WildberriesApiService::getIncomes([
    'dateFrom' => '2024-01-01'
]);

// Статистика продаж
$sales = WildberriesApiService::getSales([
    'dateFrom' => '2024-01-01',
    'flag' => 0
]);

// Остатки товаров
$stockStats = WildberriesApiService::getStockStatistics([
    'dateFrom' => '2024-01-01'
]);
```

### Advertising API - Реклама

[](#advertising-api---реклама)

```
// Получение рекламных кампаний
$campaigns = WildberriesApiService::getAdvertCampaigns();
```

### Feedbacks API - Отзывы

[](#feedbacks-api---отзывы)

```
// Получение отзывов
$feedbacks = WildberriesApiService::getFeedbacks([
    'isAnswered' => false,
    'take' => 100,
    'skip' => 0
]);
```

### Finance API - Финансы

[](#finance-api---финансы)

```
// Получение финансовых отчетов
$reports = WildberriesApiService::getFinanceReports([
    'dateFrom' => '2024-01-01',
    'dateTo' => '2024-01-31'
]);
```

Прямые HTTP запросы
-------------------

[](#прямые-http-запросы)

Если нужного метода нет в библиотеке, можно делать прямые HTTP запросы:

```
// GET запрос
$response = WildberriesApiService::get('/api/endpoint', ['param' => 'value']);

// POST запрос
$response = WildberriesApiService::post('/api/endpoint', ['data' => 'value']);

// Запрос к конкретному сервису
$response = WildberriesApiService::requestToService(
    'content',           // сервис
    'GET',              // метод
    '/content/v2/cards', // endpoint
    ['query' => ['limit' => 100]]
);
```

Обработка ошибок
----------------

[](#обработка-ошибок)

Библиотека автоматически обрабатывает HTTP ошибки и выбрасывает соответствующие исключения:

```
use DmitrijKalugin\WildberriesApiClient\Exceptions\AuthenticationException;
use DmitrijKalugin\WildberriesApiClient\Exceptions\RateLimitException;
use DmitrijKalugin\WildberriesApiClient\Exceptions\WildberriesApiException;

try {
    $result = WildberriesApiService::getSellerInfo();
} catch (AuthenticationException $e) {
    // Ошибка авторизации (401)
    logger()->error('WB Auth Error: ' . $e->getMessage());
} catch (RateLimitException $e) {
    // Превышен лимит запросов (429)
    logger()->warning('WB Rate Limit: ' . $e->getMessage());
} catch (WildberriesApiException $e) {
    // Другие API ошибки
    logger()->error('WB API Error: ' . $e->getMessage());
    $apiErrors = $e->getApiErrors(); // Дополнительная информация об ошибках
}
```

Конфигурация
------------

[](#конфигурация-1)

Полная конфигурация в `config/wildberries.php`:

```
return [
    // API токен
    'token' => env('WILDBERRIES_API_TOKEN'),

    // Режим песочницы
    'sandbox' => env('WILDBERRIES_SANDBOX', false),

    // HTTP настройки
    'http' => [
        'timeout' => 30,
        'retry_attempts' => 3,
        'retry_delay' => 1000,
    ],

    // Ограничения запросов
    'rate_limiting' => [
        'enabled' => true,
        'default_limit' => 60,
        'burst_limit' => 10,
    ],

    // Логирование
    'logging' => [
        'enabled' => env('WILDBERRIES_LOGGING', false),
        'channel' => env('WILDBERRIES_LOG_CHANNEL', 'default'),
        'level' => env('WILDBERRIES_LOG_LEVEL', 'info'),
    ],
];
```

Лимиты API
----------

[](#лимиты-api)

Wildberries устанавливает лимиты на количество запросов:

- **Общие методы**: 1 запрос в минуту, всплеск до 10 запросов
- **Новости**: 1 запрос в минуту, всплеск до 10 запросов
- **Другие методы**: согласно документации API

Библиотека автоматически обрабатывает ошибки превышения лимитов (429 статус код).

Тестирование
------------

[](#тестирование)

Для тестирования используйте sandbox режим:

```
WILDBERRIES_SANDBOX=true
```

В этом режиме запросы будут направляться на тестовые URL:

- `https://common-api-sandbox.wildberries.ru`
- `https://content-api-sandbox.wildberries.ru`
- и т.д.

Примеры использования
---------------------

[](#примеры-использования)

### Автоматическое обновление остатков

[](#автоматическое-обновление-остатков)

```
use DmitrijKalugin\WildberriesApiClient\Services\WildberriesApiService;

class StockUpdater
{
    public function updateStocks(int $warehouseId, array $products)
    {
        $stocks = [];

        foreach ($products as $product) {
            $stocks[] = [
                'sku' => $product['sku'],
                'amount' => $product['quantity']
            ];
        }

        try {
            $result = WildberriesApiService::updateStocks($warehouseId, $stocks);
            logger()->info('Stocks updated successfully', $result);
        } catch (\Exception $e) {
            logger()->error('Failed to update stocks: ' . $e->getMessage());
            throw $e;
        }
    }
}
```

### Синхронизация заказов

[](#синхронизация-заказов)

```
class OrderSynchronizer
{
    public function syncOrders(string $dateFrom, string $dateTo)
    {
        try {
            $orders = WildberriesApiService::getOrders([
                'dateFrom' => $dateFrom,
                'dateTo' => $dateTo
            ]);

            foreach ($orders as $order) {
                // Сохранение заказа в локальную БД
                $this->saveOrderToDatabase($order);
            }

        } catch (\Exception $e) {
            logger()->error('Order sync failed: ' . $e->getMessage());
            throw $e;
        }
    }
}
```

Требования
----------

[](#требования)

- PHP 8.1 или выше
- Laravel 10.0 или выше
- GuzzleHTTP 7.0 или выше

Лицензия
--------

[](#лицензия)

MIT

Поддержка
---------

[](#поддержка)

При возникновении проблем:

1. Проверьте корректность API токена
2. Убедитесь, что не превышены лимиты запросов
3. Проверьте документацию Wildberries API
4. Создайте issue в репозитории

Полезные ссылки
---------------

[](#полезные-ссылки)

- [Документация Wildberries API](https://dev.wildberries.ru/openapi/api-information)
- [Личный кабинет продавца](https://seller.wildberries.ru/)
- [Telegram канал с новостями API](https://t.me/wbapi)

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance91

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~19 days

Recently: every ~52 days

Total

12

Last Release

41d ago

Major Versions

1.1.0 → 2.02026-04-01

PHP version history (2 changes)v1.0.0PHP ^8.1

v1.0.2PHP ^8.1|^8.2|^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/373e0b8d783d4dbafeda632b8d22b22c7b85ab5b984e4b989631c3ba96abc8e6?d=identicon)[DmiriiKalugin](/maintainers/DmiriiKalugin)

---

Tags

apiclientlaravelecommercemarketplaceRussiawildberries

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dmitrijkalugin-wildberries-api-client/health.svg)

```
[![Health](https://phpackages.com/badges/dmitrijkalugin-wildberries-api-client/health.svg)](https://phpackages.com/packages/dmitrijkalugin-wildberries-api-client)
```

###  Alternatives

[aimeos/aimeos-laravel

Cloud native, API first Laravel eCommerce package with integrated AI for ultra-fast online shops, marketplaces and complex B2B projects

8.6k214.7k3](/packages/aimeos-aimeos-laravel)[resend/resend-laravel

Resend for Laravel

1191.4M6](/packages/resend-resend-laravel)[devio/pipedrive

Complete Pipedrive API client for PHP and/or Laravel

1691.8M](/packages/devio-pipedrive)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
