Перейти к основному содержимому

Отправка ответов на Wildberries

Модуль ТЗ: 5.5 · Автоответы на отзывы и вопросы (+жалобы)

Что это​

«Оптима» публикует подготовленные ответы на отзывы и вопросы прямо на Wildberries. Ответ ставится в очередь, отправляется через API WB, а его статус виден в таблице Inbox. При временном сбое WB отправка повторяется автоматически.

Где найти​

Боковое меню → «Коммуникации» → «Автоответы» (адрес вида /app/wb/<кабинет>/auto-replies):

  • в таблице Inbox кнопка «Ответить» в строке обращения выбирает его для ответа;
  • в блоке «Ответ вручную» — карточка обращения, найденный сценарий, поле «Текст ответа» и кнопка «Отправить ответ».

Как пользоваться​

  1. Найдите обращение со статусом «Ожидает» и нажмите в его строке «Ответить».
  2. В блоке «Ответ вручную» убедитесь, что указан сценарий («Сценарий: …»).
  3. Заполните поле «Текст ответа» (без него кнопка не сработает) и нажмите «Отправить ответ».
  4. «Оптима» подготовит ответ по сценарию (см. Генерация ответов) и поставит его в очередь. После успешной публикации появится сообщение «Ответ отправлен в Wildberries», а обращение получит статус «Отвечено».
Отправляется ваш текст

На Wildberries уходит ровно тот текст, который вы видите в поле ответа: сгенерированный черновик можно отредактировать или написать ответ с нуля — правка сохраняется как ваш черновик.

Статусы​

Статус в InboxЧто значит
ОжидаетОтвета ещё нет, либо он подготовлен и ждёт отправки или стоит в очереди
ОтвеченоОтвет опубликован на WB
ПропущеноОтправка завершилась ошибкой (WB отказал после всех попыток или ответ заблокирован проверкой)

Рядом с текстом обращения в Inbox показан сам ответ и его источник («ИИ» или «Шаблон»).

Как обновляются данные​

  • Отправка асинхронная: ответ сначала попадает в очередь, затем публикуется. Обычно это занимает секунды; при нагрузке на API WB — дольше.
  • При ошибке WB «Оптима» делает до 3 попыток с нарастающей паузой. Пока попытки не исчерпаны, ответ остаётся в очереди; после последней неудачи статус становится «Пропущено».
  • Отзыв публикуется методом ответа на отзыв, вопрос — методом ответа на вопрос с публикацией на витрине; ответ сразу виден покупателям.

Проверка перед публикацией​

Непосредственно перед отправкой на WB каждый ответ проверяется ещё раз: длина от 2 до 2000 символов, нет ссылок, адресов сайтов, e-mail, телефонов и следов служебных инструкций нейросети. Если не прошёл текст от ИИ — вместо него публикуется ваш шаблон с подстановками. Если и шаблон не проходит проверку, ответ не публикуется, получает статус «Пропущено» с пояснением «Ответ заблокирован проверкой безопасности…», а повторных попыток не будет.

Ограничения​

  • Публикация на WB необратима: ответ видят покупатели. Повторно отправить уже отправленный ответ нельзя.
  • После статуса «Пропущено» повторить отправку из интерфейса сейчас нельзя: кнопки ответа доступны только для обращений «Ожидает». Повтор возможен через API — заново подготовить ответ и отправить его.
  • Поле «Текст ответа» сейчас не влияет на отправляемый текст (см. предупреждение выше).
  • Автоматической отправки «в фоне» по новым отзывам нет: режим «автоматический» у сценария лишь сразу ставит подготовленный ответ в очередь, а подготовку запускаете вы.
  • Каждая отправка (успешная и неуспешная) и каждое срабатывание проверки записываются в журнал действий.

Связанные страницы​

Для интеграторов​

  • POST /autoreply/send с телом { "wbAccountId": "<uuid>", "feedbackId": "<uuid>" } — ставит существующий черновик в очередь (статус pending); 404, если черновика нет, 409, если ответ уже отправлен. Интерфейс вызывает подряд POST /autoreply/generate и POST /autoreply/send.
  • Статусы черновика: draft → pending → sent / error.
  • Очередь BullMQ autoreply-answer-send, 3 попытки, экспоненциальная пауза от 5 секунд.
  • WB: POST /api/v1/feedbacks/answer (отзыв), PATCH /api/v1/questions с state=wbRu (вопрос).
  • Код: backend/src/modules/autoreply/answer-send.service.ts, answer-send.processor.ts.
  • ADR: 0028 — отправка ответов, 0045 — защита от prompt injection. См. Справочник API.