Отправка ответов на Wildberries
Модуль ТЗ: 5.5 · Автоответы на отзывы и вопросы (+жалобы)
Что это
«Оптима» публикует подготовленные ответы на отзывы и вопросы прямо на Wildberries. Ответ ставится в очередь, отправляется через API WB, а его статус виден в таблице Inbox. При временном сбое WB отправка повторяется автоматически.
Где найти
Боковое меню → «Коммуникации» → «Автоответы» (адрес вида
/app/wb/<кабинет>/auto-replies):
- в таблице Inbox кнопка «Ответить» в строке обращения выбирает его для ответа;
- в блоке «Ответ вручную» — карточка обращения, найденный сценарий, поле «Текст ответа» и кнопка «Отправить ответ».
Как пользоваться
- Найдите обращение со статусом «Ожидает» и нажмите в его строке «Ответить».
- В блоке «Ответ вручную» убедитесь, что указан сценарий («Сценарий: …»).
- Заполните поле «Текст ответа» (без него кнопка не сработает) и нажмите «Отправить ответ».
- «Оптима» подготовит ответ по сценарию (см. Генерация ответов) и поставит его в очередь. После успешной публикации появится сообщение «Ответ отправлен в 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.