Wildberries: остатки и заказы в таблице
Нужна автоматизация? Обсудим вашу задачу бесплатно
Написать в TelegramWildberries — крупнейший маркетплейс в России. В этой статье разберём автоматизацию работы с WB через API и Google Таблицы.
Виды интеграции
FBO (Fulfillment by Wildberries)
- Товар на складе WB
- Доставка силами WB
- Остатки синхронизируются автоматически
FBS (Fulfillment by Seller)
- Товар на вашем складе
- Доставка до ПВЗ WB
- Нужно самостоятельно обновлять остатки
Получение доступа к API
- Зайдите в личный кабинет WB
- Настройки → Доступ к API
- Создайте ключ с нужными правами
Скрипт синхронизации остатков
const CONFIG = {
API_KEY: 'ваш-api-ключ',
SHEET_NAME: 'Остатки'
};
// Получить остатки с WB
function getWildberriesStock() {
const response = UrlFetchApp.fetch(
'https://suppliers-api.wildberries.ru/api/v2/stocks',
{
headers: {
'Authorization': CONFIG.API_KEY
}
}
);
return JSON.parse(response.getContentText());
}
// Обновить остатки на WB
function updateWildberriesStock(sku, amount) {
const payload = {
stocks: [{
sku: sku,
amount: amount
}]
};
UrlFetchApp.fetch(
'https://suppliers-api.wildberries.ru/api/v2/stocks',
{
method: 'POST',
headers: {
'Authorization': CONFIG.API_KEY,
'Content-Type': 'application/json'
},
payload: JSON.stringify(payload)
}
);
}
// Синхронизация с таблицей
function syncStocks() {
const sheet = SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName(CONFIG.SHEET_NAME);
const data = sheet.getDataRange().getValues();
for (let i = 1; i < data.length; i++) {
const [sku, name, targetStock] = data[i];
if (sku && targetStock !== undefined) {
try {
updateWildberriesStock(sku, targetStock);
sheet.getRange(i + 1, 4).setValue('OK');
} catch (e) {
sheet.getRange(i + 1, 4).setValue('Ошибка: ' + e.message);
}
}
}
}
Загрузка заказов
function getOrders(dateFrom, dateTo) {
const response = UrlFetchApp.fetch(
`https://suppliers-api.wildberries.ru/api/v2/orders?dateStart=${dateFrom}&dateEnd=${dateTo}`,
{
headers: {
'Authorization': CONFIG.API_KEY
}
}
);
const orders = JSON.parse(response.getContentText());
const sheet = SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName('Заказы');
orders.forEach(order => {
sheet.appendRow([
order.date,
order.number,
order.article,
order.size,
order.price,
order.status
]);
});
}
Обработка статусов
const STATUS_MAP = {
'0': 'Новый',
'1': 'Принят',
'2': 'Отменён',
'3': 'Доставлен',
'4': 'Возврат'
};
function mapStatus(statusCode) {
return STATUS_MAP[statusCode] || 'Неизвестно';
}
Автоматизация
// Триггер на каждый час
function createHourlyTrigger() {
ScriptApp.newTrigger('syncStocks')
.timeBased()
.everyHours(1)
.create();
}
// Ежедневная загрузка заказов
function createDailyTrigger() {
ScriptApp.newTrigger('getTodayOrders')
.timeBased()
.atHour(8)
.everyDays(1)
.create();
}
function getTodayOrders() {
const today = new Date().toISOString().split('T')[0];
getOrders(today, today);
}
Ограничения API Wildberries
| Параметр | Лимит |
|---|---|
| Запросов в минуту | 300 |
| Остатков за запрос | 1000 SKU |
| Период заказов | 30 дней |
Рекомендации
- Кэшируйте данные — не запрашивайте одно и то же часто
- Обрабатывайте ошибки — API иногда недоступен
- Логируйте операции — для отладки проблем
Читайте также
- Загрузка в Гугл таблицу и обновление остатков на Озон
- Обновляем цены на товары в магазине Ozon из Гугл таблицы
Нужна помощь?
Разработаем интеграцию Wildberries под ваши процессы. Напишите в Telegram.
Не хотите разбираться сами?
Если читали статью и поняли, что руками уже не справляетесь — напишите. Оценим задачу бесплатно и предложим решение.
Как автоматизация окупается → Чеклист: 7 процессов для автоматизации →
Похожие статьи

Как устроена интеграция маркетплейсов с МойСклад, Google Таблицами и CRM. Реальные кейсы и типичные задачи.

Как интегрировать AmoCRM с Google Таблицами, Ozon, Wildberries и МойСклад. Архитектура, задачи и ограничения.

Как создать Telegram-бота для приёма заказов с сохранением в Google Таблицу. Готовый шаблон и инструкция по настройке.
Нужна доработка под ваш бизнес?
Адаптируем готовое решение или разработаем с нуля.
Написать в TelegramПодписывайтесь — делимся скриптами, кейсами и лайфхаками