wildberries-api-mcp-server

dmitriipolushin/wildberries-api-mcp-server

3.3

If you are the rightful owner of wildberries-api-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Wildberries API MCP server is a middleware service designed to simplify interactions with the Wildberries API, providing a unified interface for accessing analytics, promotion statistics, and other information.

Tools
5
Resources
0
Prompts
0

Руководство ΠΏΠΎ использованию Wildberries API MCP сСрвСра

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  2. Установка ΠΈ запуск
  3. ДоступныС инструмСнты API
  4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования
  5. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии использования
  6. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π° API
  7. УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Wildberries API MCP сСрвСр прСдставляСт собой ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ сСрвис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ взаимодСйствиС с API Wildberries. Он прСдоставляСт ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ интСрфСйс для доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ, статистикС продвиТСния ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Wildberries API.

MCP сСрвСр выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

  • Π£ΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ эндпоинтам API Wildberries
  • ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ошибки ΠΈ ограничСния частоты запросов
  • Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ

Установка ΠΈ запуск

НСобходимыС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ трСбования

  • Node.js (вСрсия 14 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅)
  • npm ΠΈΠ»ΠΈ yarn
  • Docker ΠΈ Docker Compose (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ)
  • Π’ΠΎΠΊΠ΅Π½ API Wildberries с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ

Бпособ 1: ΠŸΡ€ΡΠΌΠ°Ρ установка Ρ‡Π΅Ρ€Π΅Π· Node.js

# ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория
git clone https://github.com/yourusername/wb-api-mcp-server.git
cd wb-api-mcp-server

# Установка зависимостСй
npm install

# Запуск сСрвСра
npm start

Π‘Π΅Ρ€Π²Π΅Ρ€ запустится Π½Π° ΠΏΠΎΡ€Ρ‚Ρƒ 3000 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ€Ρ‚, установив ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния PORT:

PORT=8080 npm start

Бпособ 2: ИспользованиС Docker

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Docker-ΠΎΠ±Ρ€Π°Π·Π°
docker build -t wb-api-mcp-server .

# Запуск Docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°
docker run -p 3000:3000 -d --name wb-api-mcp wb-api-mcp-server

Бпособ 3: ИспользованиС Docker Compose

# Запуск сСрвСра с Docker Compose
docker-compose up -d

# ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° сСрвСра
docker-compose down

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° установки

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ сСрвСр Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ² запрос ΠΊ эндпоинту ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности:

curl http://localhost:3000/health

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ:

{
  "status": "ok",
  "timestamp": "2023-05-21T12:34:56.789Z"
}

ДоступныС инструмСнты API

MCP сСрвСр прСдоставляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ эндпоинтов:

1. Бтатистика продвиТСния (Promotion Statistics)

  • POST /api/adv/fullstats - Бтатистика Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Ρ… ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ
  • GET /api/adv/auto/stat-words - Бтатистика автоматичСской ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎ кластСрам ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ„Ρ€Π°Π·
  • GET /api/adv/stat/words - Бтатистика ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ Ρ„Ρ€Π°Π·Π°ΠΌ
  • GET /api/adv/stats/keywords - Бтатистика ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словам для автоматичСских ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ
  • POST /api/adv/stats - Бтатистика ΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Ρ… ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ

2. Π’ΠΎΡ€ΠΎΠ½ΠΊΠ° ΠΏΡ€ΠΎΠ΄Π°ΠΆ (Sales Funnel)

  • POST /api/nm-report/detail - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ статистики ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄
  • POST /api/nm-report/detail/history - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ статистики ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΏΠΎ дням
  • POST /api/nm-report/grouped/history - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ статистики ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², сгруппированных ΠΏΠΎ катСгориям, Π±Ρ€Π΅Π½Π΄Π°ΠΌ ΠΈ Ρ‚Π΅Π³Π°ΠΌ

3. ΠŸΠΎΠΈΡΠΊΠΎΠ²Ρ‹Π΅ запросы (Search Queries)

  • POST /api/search-report/report - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… основного ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ поисковым запросам
  • POST /api/search-report/table/groups - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ для поисковых запросов
  • POST /api/search-report/table/details - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹
  • POST /api/search-report/product/search-texts - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ поисковых тСкстов ΠΏΠΎ Ρ‚ΠΎΠ²Π°Ρ€Ρƒ
  • POST /api/search-report/product/orders - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ ΠΏΠΎ поисковым тСкстам Ρ‚ΠΎΠ²Π°Ρ€Π°

4. ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ остаткам (Stocks Report)

  • POST /api/stocks-report/products/groups - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² для ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ остаткам
  • POST /api/stocks-report/products/products - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌ для ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ остаткам
  • POST /api/stocks-report/products/sizes - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌ для ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ остаткам
  • POST /api/stocks-report/offices - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ складам для ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ остаткам

5. CSV-ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π° (Seller Analytics CSV)

  • POST /api/nm-report/downloads - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ CSV-ΠΎΡ‚Ρ‡Π΅Ρ‚Π°
  • GET /api/nm-report/downloads - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²
  • POST /api/nm-report/downloads/retry - ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½Π°Ρ гСнСрация ΠΎΡ‚Ρ‡Π΅Ρ‚Π°
  • GET /api/nm-report/downloads/file/:downloadId - ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΎΡ‚Ρ‡Π΅Ρ‚Π°

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ статистики Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Ρ… ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ

// ИспользованиС fetch
const response = await fetch('http://localhost:3000/api/adv/fullstats', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'api-key': 'ВАШ_Π’ΠžΠšΠ•Π_WILDBERRIES_API'
  },
  body: JSON.stringify([
    {
      "id": 8960367,
      "dates": [
        "2024-04-07",
        "2024-04-06"
      ]
    }
  ])
});

const data = await response.json();
console.log(data);

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ статистики ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²

// ИспользованиС axios
const axios = require('axios');

const response = await axios.post('http://localhost:3000/api/nm-report/detail', {
  "brandNames": ["Π’Π°ΡˆΠ‘Ρ€Π΅Π½Π΄"],
  "objectIDs": [358],
  "tagIDs": [123],
  "nmIDs": [1234567],
  "timezone": "Europe/Moscow",
  "period": {
    "begin": "2024-04-01 00:00:00",
    "end": "2024-04-15 23:59:59"
  },
  "orderBy": {
    "field": "ordersSumRub",
    "mode": "asc"
  },
  "page": 1
}, {
  headers: {
    'api-key': 'ВАШ_Π’ΠžΠšΠ•Π_WILDBERRIES_API'
  }
});

console.log(response.data);

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии использования

1. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ эффСктивности Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Ρ… ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ: Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ рСгулярно ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π²Π°ΡˆΠΈΡ… Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Ρ… ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

РСшСниС с использованиСм MCP:

  1. НастройтС Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, которая Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ статистику ΠΏΠΎ всСм Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ кампаниям.
  2. БохраняйтС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… для историчСского Π°Π½Π°Π»ΠΈΠ·Π°.
  3. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ (CTR, конвСрсии, Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

// ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ статистики ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ
const campaigns = [123456, 789012]; // ID Π²Π°ΡˆΠΈΡ… ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ
const dates = [getDateString(new Date())]; // БСгодняшняя Π΄Π°Ρ‚Π°

// Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ запроса
const requestData = campaigns.map(id => ({
  id: id,
  dates: dates
}));

// ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° запроса ΠΊ MCP сСрвСру
const campaignStats = await fetchFromMcp('/api/adv/fullstats', 'POST', requestData);

// Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ гСнСрация ΠΎΡ‚Ρ‡Π΅Ρ‚Π°
saveToDatabaseAndGenerateReport(campaignStats);

2. Анализ Π²ΠΎΡ€ΠΎΠ½ΠΊΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ: Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с вашими Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌΠΈ ΠΎΡ‚ просмотра ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎ ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ.

РСшСниС с использованиСм MCP:

  1. Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ статистику ΠΏΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌ Π·Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄.
  2. АнализируйтС конвСрсии Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС (просмотр β†’ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΡ€Π·ΠΈΠ½Ρƒ β†’ Π·Π°ΠΊΠ°Π· β†’ Π²Ρ‹ΠΊΡƒΠΏ).
  3. ВыявляйтС Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ с Π½ΠΈΠ·ΠΊΠΈΠΌΠΈ конвСрсиями для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

// ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ статистики Π²ΠΎΡ€ΠΎΠ½ΠΊΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆ
const response = await fetchFromMcp('/api/nm-report/detail', 'POST', {
  "nmIDs": [/* ваши Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ */],
  "timezone": "Europe/Moscow",
  "period": {
    "begin": "2024-04-01 00:00:00",
    "end": "2024-04-30 23:59:59"
  },
  "page": 1
});

// Анализ конвСрсий
const products = response.data.cards;
const lowConversionProducts = products.filter(product => {
  const stats = product.statistics.selectedPeriod;
  return stats.conversions.addToCartPercent < 5 || 
         stats.conversions.cartToOrderPercent < 20 ||
         stats.conversions.buyoutsPercent < 80;
});

// ГСнСрация ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΌ Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌ
generateLowConversionReport(lowConversionProducts);

3. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ поисковой видимости

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ: Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Π°ΡˆΠΈΡ… Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π² поискС Wildberries.

РСшСниС с использованиСм MCP:

  1. Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΏΠΎ поисковым запросам для своих Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ².
  2. АнализируйтС, ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ запросам ваши Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π° ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ - ΠΏΠ»ΠΎΡ…ΠΈΠ΅.
  3. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

// ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ поисковым запросам
const searchReport = await fetchFromMcp('/api/search-report/report', 'POST', {
  "currentPeriod": {
    "start": "2024-04-01",
    "end": "2024-04-30"
  },
  "positionCluster": "all",
  "orderBy": {
    "field": "avgPosition",
    "mode": "desc"
  },
  "limit": 100,
  "offset": 0
});

// ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ поисковых тСкстов для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°
const searchTexts = await fetchFromMcp('/api/search-report/product/search-texts', 'POST', {
  "currentPeriod": {
    "start": "2024-04-01",
    "end": "2024-04-30"
  },
  "nmIds": [1234567],
  "topOrderBy": "openCard",
  "limit": 20
});

// Анализ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ
analyzeSearchPositionsAndGenerateRecommendations(searchTexts);

4. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ запасами Π½Π° основС Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ: Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ запасов Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π½Π° складах Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°Ρ….

РСшСниС с использованиСм MCP:

  1. РСгулярно Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΏΠΎ остаткам ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°ΠΌ.
  2. РассчитывайтС ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ запасов Π½Π° основС скорости ΠΏΡ€ΠΎΠ΄Π°ΠΆ.
  3. ВыявляйтС Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ с ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ нСдостаточными запасами.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

// ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ остаткам
const stocksReport = await fetchFromMcp('/api/stocks-report/products/products', 'POST', {
  "nmIDs": [/* ваши Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ */],
  "currentPeriod": {
    "start": "2024-04-01",
    "end": "2024-04-30"
  },
  "stockType": "",
  "skipDeletedNm": true,
  "orderBy": {
    "field": "avgOrders",
    "mode": "desc"
  },
  "offset": 0
});

// Анализ скорости ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΈ остатков
const stockOptimizationReport = stocksReport.data.items.map(item => {
  const dailySales = item.metrics.avgOrders;
  const currentStock = item.metrics.stockCount;
  const daysOfSupply = currentStock / dailySales;
  
  return {
    nmId: item.nmID,
    name: item.name,
    dailySales,
    currentStock,
    daysOfSupply,
    stockStatus: daysOfSupply < 7 ? 'LOW' : daysOfSupply > 30 ? 'HIGH' : 'OPTIMAL'
  };
});

// ГСнСрация Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ запасами
generateStockManagementRecommendations(stockOptimizationReport);

5. ГСнСрация ΠΈ Π°Π½Π°Π»ΠΈΠ· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… CSV-ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ: Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π² Excel ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ инструмСнтС.

РСшСниС с использованиСм MCP:

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ CSV-ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· MCP.
  2. Π”ΠΎΠΆΠ΄ΠΈΡ‚Π΅ΡΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚.
  3. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² аналитичСскиС инструмСнты для Π°Π½Π°Π»ΠΈΠ·Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°
const reportId = generateUUID();
const createReportResponse = await fetchFromMcp('/api/nm-report/downloads', 'POST', {
  "id": reportId,
  "reportType": "DETAIL_HISTORY_REPORT",
  "userReportName": "Аналитика ΠΏΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌ Π·Π° Π°ΠΏΡ€Π΅Π»ΡŒ",
  "params": {
    "nmIDs": [/* ваши Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ */],
    "startDate": "2024-04-01",
    "endDate": "2024-04-30",
    "timezone": "Europe/Moscow",
    "aggregationLevel": "day",
    "skipDeletedNm": false
  }
});

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ (Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя)
setTimeout(async () => {
  const reportStatusResponse = await fetchFromMcp('/api/nm-report/downloads', 'GET', {
    'filter[downloadIds]': [reportId]
  });
  
  const reportStatus = reportStatusResponse.data[0].status;
  
  if (reportStatus === 'SUCCESS') {
    // Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΡ‚Ρ‡Π΅Ρ‚Π°
    downloadReport(reportId);
  } else if (reportStatus === 'FAILED') {
    // ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½Π°Ρ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ
    retryReport(reportId);
  }
}, 60000); // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· 1 ΠΌΠΈΠ½ΡƒΡ‚Ρƒ

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π° API

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с API Wildberries Ρ‡Π΅Ρ€Π΅Π· MCP сСрвСр Π²Π°ΠΌ потрСбуСтся Ρ‚ΠΎΠΊΠ΅Π½ API. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ:

  1. Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π° Wildberries

    ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° seller.wildberries.ru ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ.

  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» настроСк API

    ПослС Π²Ρ…ΠΎΠ΄Π° Π² систСму ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» "Настройки" (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ доступСн ΠΈΠ· мСню ΠΈΠ»ΠΈ профиля).

  3. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» управлСния API

    НайдитС Ρ€Π°Π·Π΄Π΅Π» "API" ΠΈΠ»ΠΈ "Доступ ΠΊ API" ΠΈΠ»ΠΈ "Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ".

  4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ API

    • НаТмитС "Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½" ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ
    • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€Π°Π²Π° доступа для Ρ‚ΠΎΠΊΠ΅Π½Π°:
      • Для MCP сСрвСра WB API Π²Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ:
        • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Аналитика для Π²ΠΎΡ€ΠΎΠ½ΠΊΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΈ поисковых запросов
        • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠŸΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ для статистики Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹
    • Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ имя для Ρ‚ΠΎΠΊΠ΅Π½Π° (для вашСго удобства)
    • ΠŸΡ€ΠΈ нСобходимости установитС срок дСйствия (ΠΈΠ»ΠΈ ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ постоянным)
  5. Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ сохранитС Ρ‚ΠΎΠΊΠ΅Π½

    ПослС заполнСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ "Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ" ΠΈΠ»ΠΈ "Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ" для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚ΠΎΠΊΠ΅Π½Π° API.

    Π’ΠΠ–ΠΠž: ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ скопируйтС ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ сохранитС ваш Ρ‚ΠΎΠΊΠ΅Π½! ΠŸΠΎΠ»Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² цСлях бСзопасности.

УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ

ЧастыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

  1. ΠžΡ‚ΠΊΠ°Π· Π² соСдинСнии: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ сСрвСр Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΈ ΠΏΠΎΡ€Ρ‚ доступСн.
  2. Ошибки Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ваш Ρ‚ΠΎΠΊΠ΅Π½ API Wildberries дСйствитСлСн ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.
  3. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ частоты запросов: Π‘Π΅Ρ€Π²Π΅Ρ€ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ограничСния частоты запросов API Wildberries, Π½ΠΎ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ, Ссли Π²Ρ‹ прСвысили допустимоС количСство запросов.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π»ΠΎΠ³ΠΎΠ²

ΠŸΡ€ΠΈ запускС с Docker ΠΈΠ»ΠΈ Docker Compose Π»ΠΎΠ³ΠΈ хранятся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ logs, которая ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΊΠ°ΠΊ Ρ‚ΠΎΠΌ.

Для просмотра Π»ΠΎΠ³ΠΎΠ² Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ Docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅:

docker logs wb-api-mcp

ΠšΠΎΠ΄Ρ‹ ошибок

  • 401 - Ошибка Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ваш Ρ‚ΠΎΠΊΠ΅Π½ API)
  • 429 - ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠΌΠΈΡ‚Π° запросов (ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя)
  • 400 - НСвСрный запрос (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса)
  • 403 - Доступ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ вашСго Ρ‚ΠΎΠΊΠ΅Π½Π°)