Change language

wf-order-review-followup

Назначение

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

Почему это рабочий процесс

Выбор не является задачей этого процесса: reviews.findInvitesToFollowUp — это
вопрос о приглашениях, и он относится к rp-reviews. Этот поток добавляет имя
заказа для письма и отправку — два сервиса в одном процессе, что здесь и
определяет рабочий процесс.

Чего он намеренно никогда не делает

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

При отказе от напоминания приглашение остаётся в состоянии sent, а не
failed: первое письмо действительно было отправлено, и клиент всё ещё может
ответить на него.

Структура

read-settings → find-due (sent, never opened, under the allowance) → read-order (for the name only) → send-email → count-followup

Именно подсчёт напоминания делает его однократным: тот же запрос больше не
вернёт эту ссылку. dryRun формирует письмо и ничего не подсчитывает.
maxFollowups: 0 полностью отключает напоминания, и поток останавливается до
того, как отправит его.

Параметры

  • from (обязательный) — адрес отправителя.
  • ses (обязательный) — SesCredentials.
  • shopName, delayDays, maxFollowups, dryRun — переопределения; значения
    по умолчанию берутся из reviews.getSettings().

Прямые зависимости модуля

  • g-orders
  • g-reviews
  • g-ses

Исходный код

modules/workflows/wf-order-review-followup