WBSeller
1.0.0
Library for working with Wildberries API https://openapi.wb.ru
Change log
$ WBSeller API = new Dakword WBSeller API ( $ options = [
' masterkey ' => ' token ' ,
//'keys' => [...],
//'apiurls' => [...],
//'locale' => 'ru'
]);
// API Контента
$ contentAPI = $ WBSeller API -> Content ();
$ contentAPI -> getCardsList (); // Получить список карточек
Documentation
API | Endpoint |
---|---|
General | $ WBSeller API-> Common() |
Content | $ WBSeller API-> Content() |
Prices and discounts | $ WBSeller API-> Prices() |
Marketplace | $ WBSeller API-> Marketplace() |
Statistics | $ WBSeller API-> Statistics() |
Analytics | $ WBSeller API-> Analytics() |
Promotion | $ WBSeller API-> Adv() |
Recommendations | $ WBSeller API-> Recommends() |
Questions | $ WBSeller API-> Questions() |
Reviews | $ WBSeller API-> Feedbacks() |
Tariffs | $ WBSeller API-> Tariffs() |
Chat with buyers | $ WBSeller API-> Chat() |
Customer Returns | $ WBSeller API-> Returns() |
Documents | $ WBSeller API-> Documents() |
Promotions calendar | $ WBSeller API-> Calendar() |
Supplies | $ WBSeller API-> Supplies() |
try {
$ token = new Dakword WBSeller APIToken ( ' eyJhbGciOiJFUzI1NiIs... ' );
} catch ( Dakword WBSeller Exception WBSeller Exception $ exc ) {
echo $ exc -> getMessage (); // Неверный формат токена
}
echo $ token -> expireDate ()-> format ( ' Y-m-d H:i:s ' ); // 2024-09-20 16:21:04
echo $ token -> isExpired () ? ' Просроченный ' : ' Действительный ' ;
echo $ token -> isReadOnly () ? ' Только чтение ' : ' Чтение и запись ' ;
echo $ token -> isTest () ? ' Для тестовой среды ' : ' Рабочий ' ;
echo $ token -> sellerId (); // 284034
echo $ token -> sellerUUID (); // 123e4567-e89b-12d3-a456-426655440000
echo $ token -> accessTo ( ' marketplace ' ) ? ' Yes ' : ' No ' ; // Yes
echo $ token -> accessTo ( ' common ' ) ? ' Yes ' : ' No ' ; // Yes
echo $ token -> accessTo ( ' chat ' ) ? ' Yes ' : ' No ' ; // No
echo implode ( ' , ' , $ token -> accessList ()); // 'Цены и скидки, Маркетплейс, Документы'
echo implode ( ' , ' , array_keys ( $ token -> accessList ())); // '3, 4, 12' - Позиции бита
echo $ token ; // eyJhbGciOiJFUzI1NiIs...
print_r ( $ token -> getPayload ());
$ WBSeller API = new Dakword WBSeller API ([
' keys ' => [
' content ' => ' Content_key ' ,
' feedbacks ' => ' FB_key ' ,
' marketplace ' => ' Marketplace_key ' ,
' questions ' => ' FB_key ' ,
],
' masterkey ' => ' multi_key ' , // 'content' + 'prices' + ...
' apiurls ' => [
' content ' => ' https://suppliers-api.wb.ru ' ,
' feedbacks ' => ' https://feedbacks-api.wildberries.ru ' ,
' adv ' => ' https://advert-api-sandbox.wildberries.ru ' ,
' analytics ' => ' https://abc.site.ru ' ,
],
' locale ' => ' ru '
]);
// Proxy
$ WBSeller API -> useProxy ( ' http://122.123.123.123:8088 ' );
// Locale
$ WBSeller API -> setLocale ( ' en ' );
$ contentApi = $ WBSeller API -> Content ();
$ pricesApi = $ WBSeller API -> Prices ();
$ marketApi = $ WBSeller API -> Marketplace ();
// subAPI контента - теги
$ tagsApi = $ WBSeller API -> Content ()-> Tags ();
// Получить список НМ
$ result = $ contentApi -> getCardsList ();
if (! $ result -> error ) {
var_dump ( $ result -> cards , $ result -> cursor );
}
// Получение информации по ценам и скидкам
$ info = $ pricesApi -> getPrices ();
var_dump ( $ info );
// Cписок складов поставщика
$ warehouses = $ WBSeller API -> Marketplace ()-> Warehouses ()-> list ();
var_dump ( $ warehouses );
// Заказы FBS (С автоповтором запросов )
$ orders = $ marketApi -> retryOnTooManyRequests ( 10 , 1000 )-> getOrders ();
var_dump ( $ orders );
// Создание КТ
try {
$ createCardResult = $ contentApi -> createCard ([
' subjectID ' => 105 ,
' variants ' => [
[
' vendorCode ' => ' A0001 ' ,
' title ' => ' Наименование ' ,
' description ' => ' Описание ' ,
' brand ' => ' Бренд ' ,
' dimensions ' => [
' length ' => 55 ,
' width ' => 40 ,
' height ' => 15 ,
],
' characteristics ' => [
[
' id ' => 12 ,
' value ' => ' свободный крой ' ,
],
[
' id ' => 88952 ,
' value ' => 200 ,
],
[
' id ' => 14177449 ,
' value ' => [ ' red ' ],
],
],
' sizes ' => [
[
' techSize ' => ' 39 ' ,
' wbSize ' => '' ,
' price ' => ( int ) 3999.99 ,
' skus ' => [ ' 1000000001 ' ]
]
],
],
]
]);
if ( $ createCardResult -> error ) {
echo ' Ошибка создания карточки: ' . $ createCardResult -> errorText ;
} else {
echo ' Запрос на создание карточки отправлен ' ;
}
} catch ( Dakword WBSeller Exception WBSeller Exception $ exc ) {
echo ' Исключение при создании карточки: ' . $ exc -> getMessage ();
}