Пошаговые инструкции intermediate 25 мин

Как сделать ИИ-агента для маркетплейсов

Пошаговая инструкция от нуля до рабочего агента для маркетплейсов: карточки, цены, остатки, заказы, отзывы, approval, задачи и отчеты.

AI-агенты маркетплейсы Ozon Wildberries Яндекс Маркет карточки товаров остатки отзывы

Что получится в результате

Соберем ИИ-агента для продавца на маркетплейсах, который каждый день забирает данные по товарам, ценам, остаткам, заказам, отзывам и вопросам, находит проблемные SKU, готовит задачи менеджеру, черновики ответов покупателям, рекомендации по карточкам и изменениям, но не применяет рискованные действия без approval.

Первая рабочая версия будет делать так:

  1. площадки и кабинеты хранятся в `marketplace_accounts`;
  2. соответствие SKU пишется в `sku_mapping`;
  3. карточки товаров пишутся в `product_cards`;
  4. цены и скидки пишутся в `price_snapshot`;
  5. остатки пишутся в `stock_snapshot`;
  6. заказы и отгрузки пишутся в `order_queue`;
  7. возвраты и отмены пишутся в `return_cancel_log`;
  8. отзывы и вопросы пишутся в `feedback_inbox`;
  9. анализ карточек пишется в `card_audit`;
  10. проблемы остатков пишутся в `stock_alerts`;
  11. проблемы цен пишутся в `price_alerts`;
  12. анализ отзывов пишется в `feedback_analysis`;
  13. черновики ответов пишутся в `reply_drafts`;
  14. операционные рекомендации пишутся в `recommendation_queue`;
  15. черновики изменений пишутся в `change_requests`;
  16. опасные действия уходят в `approval_queue`;
  17. одобренные действия попадают в `execution_queue`;
  18. задачи командам идут через `task_queue`;
  19. все действия фиксируются в `audit_log`;
  20. ошибки попадают в `error_log`;
  21. daily report показывает продажи, остатки, рейтинг, вопросы, отзывы и риски.

В первой версии агент не должен сам менять цены, остатки, описания, фото, категории, акции, публичные ответы, отменять заказы или обещать компенсации. Он работает как read-only аналитик и помощник менеджера маркетплейсов.

Что понадобится

  • n8n Cloud или self-hosted n8n.
  • Google Sheets для управляющих таблиц.
  • Один маркетплейс для MVP: Ozon, Wildberries или Яндекс Маркет.
  • API-ключ продавца с read-only доступом на первом этапе.
  • Доступ к складу, ERP или таблице реальных остатков.
  • Канал approval: Telegram, Slack, email или задача.
  • Канал задач: CRM, Asana, Jira, ClickUp, Telegram или Google Sheets.
  • API-ключ LLM-провайдера.
  • 30 дней данных по товарам, заказам, отзывам и остаткам.
  • Правила: какие изменения можно предлагать, какие требуют согласования, какие запрещены.

Шаг 1. Выберите один сценарий

Не запускайте агента сразу на все площадки и все процессы.

Хорошие первые сценарии:

  1. проверка карточек на ошибки;
  2. мониторинг товаров без остатков;
  3. сверка остатков площадки и склада;
  4. черновики ответов на отзывы;
  5. черновики ответов на вопросы покупателей;
  6. поиск товаров с падением продаж;
  7. контроль отмен и возвратов;
  8. ежедневный отчет менеджеру.

Самый безопасный старт - read-only агент, который проверяет карточки, остатки и отзывы, а изменения только предлагает.

Проверка: сценарий можно описать одной фразой, например: `каждое утро найти SKU с риском stockout и плохими отзывами`.

Шаг 2. Определите запрещенные действия

На маркетплейсах ошибка может быстро привести к убыткам, плохим отзывам или блокировке карточки.

В первой версии запрещено:

  • менять цену;
  • менять скидку;
  • менять остатки;
  • менять описание карточки;
  • менять категорию;
  • менять фото;
  • запускать акцию;
  • отвечать покупателю публично;
  • обещать компенсацию;
  • отменять заказ;
  • менять схему отгрузки;
  • массово обновлять товары.

Разрешено:

  • читать данные;
  • анализировать проблемы;
  • готовить черновики;
  • создавать задачи;
  • формировать отчеты;
  • отправлять approval.

Проверка: API-токен первого запуска не имеет write-доступа.

Шаг 3. Создайте таблицу проекта

Создайте Google Sheet:

Marketplace seller agent

Добавьте листы:

settings
marketplace_accounts
sku_mapping
product_cards
price_snapshot
stock_snapshot
order_queue
return_cancel_log
feedback_inbox
card_audit
stock_alerts
price_alerts
feedback_analysis
reply_drafts
recommendation_queue
change_requests
approval_queue
execution_queue
task_queue
daily_report
audit_log
error_log

Проверка: n8n может читать и писать во все листы.

Шаг 4. Заполните settings

В `settings` добавьте колонки:

key
value
description
updated_at

Заполните минимум:

default_marketplace | ozon | площадка MVP
auto_apply_changes | false | автоприменение выключено
approval_channel | telegram | канал согласования
min_stock_days | 7 | порог риска stockout
max_price_change_pct | 5 | максимум изменения цены после approval
negative_rating_threshold | 3 | рейтинг отзыва для срочного review
reply_approval_required | true | ответы только через approval
brand_terms_protected | true | брендовые формулировки не менять автоматически

Проверка: автоизменения выключены, лимиты есть.

Шаг 5. Настройте marketplace_accounts

В `marketplace_accounts` добавьте колонки:

account_id
marketplace
shop_name
external_shop_id
access_mode
owner_email
currency
timezone
status
created_at

`marketplace`:

ozon
wildberries
yandex_market
aliexpress
manual_csv

`access_mode`:

read_only
draft_changes
write_with_approval

Проверка: первый аккаунт имеет `access_mode = read_only`.

Шаг 6. Настройте sku_mapping

У товара может быть внутренний SKU, SKU площадки и разные ID карточек.

В `sku_mapping` добавьте колонки:

internal_sku
marketplace
marketplace_sku
offer_id
product_id
barcode
warehouse_sku
product_name
status
updated_at

Правила:

  1. `internal_sku` обязателен для сверки со складом;
  2. `marketplace_sku` обязателен для API площадки;
  3. один внутренний SKU может иметь несколько площадок;
  4. неизвестные SKU идут в `manual_review`;
  5. дубли SKU блокируют любые write-действия.

Проверка: для 10 тестовых товаров есть связка внутренний SKU -> SKU площадки.

Шаг 7. Подключите API одной площадки

В n8n создайте workflow:

Marketplace daily import

Цепочка:

  1. Cron Trigger каждое утро;
  2. прочитать `marketplace_accounts`;
  3. забрать товары;
  4. забрать цены;
  5. забрать остатки;
  6. забрать заказы;
  7. забрать отзывы и вопросы;
  8. записать данные в соответствующие листы;
  9. записать действие в `audit_log`.

Проверка: после одного запуска есть карточки, цены и остатки по выбранной площадке.

Шаг 8. Запишите product_cards

В `product_cards` добавьте колонки:

card_id
marketplace
marketplace_sku
internal_sku
title
category
brand
description
attributes_json
photos_count
video_count
status
rating
reviews_count
questions_count
updated_at

Статусы:

active
hidden
moderation
blocked
archived
unknown

Проверка: карточки с `blocked` и `moderation` видны отдельно.

Шаг 9. Запишите price_snapshot

В `price_snapshot` добавьте колонки:

snapshot_id
date
marketplace
marketplace_sku
internal_sku
price
discount_price
promo_price
commission_pct
logistics_cost
min_allowed_price
margin_estimate
created_at

Правило:

если margin_estimate неизвестна, агент не предлагает снижение цены

Проверка: рекомендация по цене не появляется без данных по марже.

Шаг 10. Запишите stock_snapshot

В `stock_snapshot` добавьте колонки:

snapshot_id
date
marketplace
marketplace_sku
internal_sku
marketplace_stock
warehouse_stock
reserved_stock
available_stock
sales_7d
stock_days_left
created_at

Формула:

stock_days_left = available_stock / max(average_daily_sales_7d, 1)

Проверка: товар с продажами и остатком 0 получает риск stockout.

Шаг 11. Запишите order_queue

В `order_queue` добавьте колонки:

order_id
marketplace
posting_number
marketplace_sku
internal_sku
quantity
order_status
shipment_deadline
delivery_schema
warehouse
risk_status
created_at
updated_at

`risk_status`:

ok
deadline_close
stock_missing
cancel_risk
manual_review

Проверка: заказ с близким дедлайном отгрузки подсвечивается.

Шаг 12. Запишите return_cancel_log

В `return_cancel_log` добавьте колонки:

event_id
marketplace
order_id
marketplace_sku
internal_sku
event_type
reason
amount
status
created_at

`event_type`:

return
cancel
refund
claim
lost_item

Проверка: рост возвратов по одному SKU виден как отдельная проблема.

Шаг 13. Запишите feedback_inbox

В `feedback_inbox` добавьте колонки:

feedback_id
marketplace
marketplace_sku
internal_sku
feedback_type
rating
text
question_text
author_masked
status
created_at

`feedback_type`:

review
question
claim
seller_message

Проверка: новый вопрос покупателя попадает в очередь и получает статус `new`.

Шаг 14. Настройте card_audit

В `card_audit` добавьте колонки:

audit_id
marketplace_sku
internal_sku
issue_type
severity
field_name
current_value
recommendation
example_fix
status
created_at

Проверяйте:

  1. пустой заголовок;
  2. слишком короткое описание;
  3. мало фото;
  4. нет ключевых характеристик;
  5. противоречия в атрибутах;
  6. слабые ответы на частые вопросы;
  7. запрещенные обещания;
  8. карточка на модерации;
  9. карточка заблокирована.

Проверка: проблема карточки превращается в конкретную правку поля.

Шаг 15. Настройте stock_alerts

В `stock_alerts` добавьте колонки:

alert_id
marketplace_sku
internal_sku
alert_type
severity
marketplace_stock
warehouse_stock
sales_7d
stock_days_left
recommended_action
status
created_at

`alert_type`:

stockout
stockout_risk
warehouse_mismatch
reserved_too_high
slow_moving

Проверка: агент различает “нет на площадке” и “есть на складе, но не синхронизировано”.

Шаг 16. Настройте price_alerts

В `price_alerts` добавьте колонки:

alert_id
marketplace_sku
internal_sku
alert_type
severity
current_price
min_allowed_price
margin_estimate
recommendation
status
created_at

`alert_type`:

below_min_price
margin_too_low
promo_conflict
price_missing
competitor_gap
manual_review

Правило:

любое изменение цены идет только через approval

Проверка: агент не предлагает цену ниже минимально допустимой.

Шаг 17. Сделайте feedback_analysis

Prompt:

Ты анализируешь отзыв или вопрос покупателя на маркетплейсе.
Используй только текст, рейтинг и данные карточки.
Не обещай компенсацию.
Не спорь с покупателем.
Не раскрывай персональные данные.
Верни JSON:
{
  "sentiment": "positive|neutral|negative|mixed|unknown",
  "topics": ["delivery|quality|size|price|packaging|support|description|other"],
  "summary": "до 400 символов",
  "risk_flags": ["compensation|legal|safety|personal_data|angry"],
  "recommended_action": "reply|escalate|update_card|create_task|manual_review",
  "confidence": "high|medium|low"
}

Проверка: негативный отзыв с компенсацией отправляется в manual review.

Шаг 18. Запишите feedback_analysis

В `feedback_analysis` добавьте колонки:

analysis_id
feedback_id
sentiment
topics_json
summary
risk_flags_json
recommended_action
confidence
created_at

Правило:

если confidence = low или risk_flags не пустой, approval_required = true

Проверка: рискованные отзывы не получают автопубликацию ответа.

Шаг 19. Создайте reply_drafts

В `reply_drafts` добавьте колонки:

draft_id
feedback_id
reply_text
reply_type
contains_compensation
contains_guarantee
contains_personal_data
approval_required
status
created_at

Prompt:

Составь черновик ответа покупателю.
Пиши коротко, спокойно и уважительно.
Не обещай компенсацию, возврат, скидку или сроки.
Не спорь и не обвиняй покупателя.
Если вопрос требует данных заказа, предложи обратиться в поддержку.
Верни JSON:
{
  "reply_text": "текст",
  "reply_type": "thanks|clarify|apology|support_redirect|manual_review",
  "risk_flags": []
}

Проверка: черновик можно показать менеджеру перед публикацией.

Шаг 20. Сформируйте recommendation_queue

В `recommendation_queue` добавьте колонки:

recommendation_id
marketplace_sku
internal_sku
recommendation_type
summary
evidence
expected_impact
risk_level
owner_email
status
created_at

`recommendation_type`:

fix_card
restock
sync_stock
review_price
answer_question
reply_review
investigate_returns
update_description
create_photo_task

Проверка: каждая рекомендация имеет evidence и владельца.

Шаг 21. Создайте change_requests

В `change_requests` храните только черновики изменений.

Колонки:

change_request_id
recommendation_id
marketplace
marketplace_sku
change_type
payload_json
approval_required
risk_level
status
created_at

`change_type`:

price_update
stock_update
card_title_update
card_description_update
attribute_update
reply_publish
promo_request

Проверка: изменение карточки или цены существует как request, но не применяется.

Шаг 22. Настройте approval_queue

В `approval_queue` добавьте колонки:

approval_id
object_type
object_id
marketplace_sku
reason
preview
approver_email
status
created_at
decided_at

`object_type`:

change_request
reply_draft
price_update
stock_update
promo_request
order_cancel

Статусы:

pending
approved
rejected
needs_edit
expired

Проверка: публичный ответ и любое изменение цены требуют approval.

Шаг 23. Сделайте Telegram approval

В n8n создайте workflow:

Marketplace approval

Цепочка:

  1. взять `approval_queue` со статусом `pending`;
  2. отправить preview в Telegram;
  3. добавить кнопки `Approve`, `Needs edit`, `Reject`;
  4. обновить статус;
  5. записать решение в `audit_log`;
  6. только после approve отправить действие в `execution_queue`.

Сообщение:

Нужно согласовать действие маркетплейса
SKU: TSHIRT-BLACK-M
Тип: reply_publish
Причина: негативный отзыв, рейтинг 2

Preview:
Спасибо за обратную связь. Нам жаль, что размер не подошел...

[Approve] [Needs edit] [Reject]

Проверка: без approve действие не исполняется.

Шаг 24. Настройте execution_queue

В `execution_queue` добавьте колонки:

execution_id
change_request_id
marketplace
api_method
payload_json
status
created_at
processed_at
error_message

Статусы:

ready
blocked
sent
applied
failed
manual_required
rolled_back

Правило:

перед API-вызовом еще раз проверить approval status и лимиты settings

Проверка: случайный повторный запуск workflow не применяет правку дважды.

Шаг 25. Настройте task_queue

В `task_queue` добавьте колонки:

task_id
marketplace_sku
internal_sku
team_owner
task_type
task_text
priority
due_at
status
created_at

`team_owner`:

content
warehouse
logistics
support
pricing
marketplace_manager
quality

Проверка: проблема карточки идет в content, stockout - складу, негативный отзыв - support.

Шаг 26. Соберите daily_report

В `daily_report` добавьте колонки:

report_date
orders_count
sales_amount
stockout_count
stockout_risk_count
blocked_cards_count
negative_feedback_count
unanswered_questions
price_alerts_count
returns_count
tasks_created
created_at

Минимальный отчет:

  1. продажи;
  2. заказы;
  3. товары без остатков;
  4. риск stockout;
  5. заблокированные карточки;
  6. негативные отзывы;
  7. вопросы без ответа;
  8. возвраты и отмены;
  9. задачи командам.

Проверка: менеджер маркетплейсов видит, что нужно сделать сегодня.

Шаг 27. Настройте audit_log

В `audit_log` добавьте колонки:

audit_id
actor
action
object_type
object_id
before_json
after_json
created_at

Логируйте:

  1. импорт карточек;
  2. импорт цен;
  3. импорт остатков;
  4. импорт заказов;
  5. импорт отзывов;
  6. card audit;
  7. stock alert;
  8. price alert;
  9. reply draft;
  10. approval;
  11. execution;
  12. task creation;
  13. error.

Проверка: можно восстановить, почему и кем была одобрена правка.

Шаг 28. Настройте error_log

В `error_log` добавьте колонки:

error_id
marketplace
marketplace_sku
workflow_name
node_name
error_type
error_message
payload_snapshot
status
owner_email
created_at

Типы ошибок:

marketplace_api_failed
sku_mapping_missing
stock_data_missing
price_data_missing
llm_invalid_json
approval_timeout
execution_failed
duplicate_execution

Проверка: если API не отдал остатки, агент не пишет “все в порядке”.

Шаг 29. Протестируйте на 30 SKU

Возьмите тестовый набор:

  1. 10 активных товаров;
  2. 5 товаров без остатка;
  3. 5 товаров с низким рейтингом;
  4. 5 товаров с вопросами;
  5. 5 товаров с проблемами карточки.

Проверьте:

  1. SKU связаны через `sku_mapping`;
  2. карточки пишутся в `product_cards`;
  3. цены пишутся в `price_snapshot`;
  4. остатки пишутся в `stock_snapshot`;
  5. stockout попадает в `stock_alerts`;
  6. низкая маржа попадает в `price_alerts`;
  7. отзывы попадают в `feedback_analysis`;
  8. ответы создаются как draft;
  9. approval блокирует публикацию;
  10. задачи создаются нужным командам;
  11. ошибки пишутся в `error_log`.

Проверка: минимум 25 из 30 SKU получают корректный статус и понятное действие.

Минимальная проверка результата

MVP готов, если:

  • аккаунты описаны в `marketplace_accounts`;
  • SKU связаны в `sku_mapping`;
  • карточки пишутся в `product_cards`;
  • цены пишутся в `price_snapshot`;
  • остатки пишутся в `stock_snapshot`;
  • заказы пишутся в `order_queue`;
  • возвраты пишутся в `return_cancel_log`;
  • отзывы и вопросы пишутся в `feedback_inbox`;
  • карточки проверяются в `card_audit`;
  • остатки проверяются в `stock_alerts`;
  • цены проверяются в `price_alerts`;
  • отзывы анализируются в `feedback_analysis`;
  • ответы создаются в `reply_drafts`;
  • рекомендации пишутся в `recommendation_queue`;
  • изменения пишутся в `change_requests`;
  • approval блокирует опасные действия;
  • execution queue принимает только approved actions;
  • задачи пишутся в `task_queue`;
  • daily report показывает риски;
  • audit и error logs заполнены.

Перед живым запуском пройдите чек-лист:

  1. Подключите один маркетплейс read-only.
  2. Загрузите 30 SKU.
  3. Проверьте `sku_mapping`.
  4. Сверьте 5 цен вручную.
  5. Сверьте 5 остатков вручную.
  6. Проверьте 5 карточек через `card_audit`.
  7. Сгенерируйте 3 reply drafts.
  8. Отклоните один reply через approval.
  9. Одобрите один безопасный task.
  10. Проверьте `daily_report`, `audit_log` и `error_log`.

Что нельзя автоматизировать в первой версии

  • изменение цен;
  • изменение остатков;
  • массовое обновление карточек;
  • публикацию ответов на отзывы;
  • обещания компенсации;
  • запуск акций;
  • отмену заказов;
  • изменение категории;
  • удаление фото или описаний;
  • применение действий без approval;
  • правки при неизвестной марже;
  • правки при неизвестном SKU mapping.

Частые вопросы

Может ли агент сам менять цены на маркетплейсе?

Для первой версии нет. Он может предложить изменение цены и показать evidence: маржу, комиссию, продажи, остатки и ограничения. Применять цену нужно через approval и лимиты.

Что подключить первым: Ozon, Wildberries или Яндекс Маркет?

Подключайте площадку, где больше оборот или больше ручной рутины. Для MVP важнее один стабильный сценарий: карточки, остатки, отзывы или вопросы.

Можно ли агенту отвечать на отзывы?

Он может готовить черновики. Публикацию ответов лучше согласовывать, особенно для негатива, гарантий, компенсаций, возвратов и спорных ситуаций.

Как агент помогает с карточками?

Он проверяет заполненность, ищет противоречия, предлагает улучшения заголовка, описания и характеристик, а также находит вопросы покупателей, которые стоит добавить в карточку.

Какие метрики смотреть каждый день?

Продажи, маржа, конверсия карточки, рейтинг, отзывы, вопросы без ответа, stockout, возвраты, отмены, доля товаров без остатков и эффективность задач, созданных агентом.

Дальше по теме

Похожие материалы