B2C: страница отчёта /r/<token> + доставка на e-mail #2897

Open
opened 2026-08-15 16:04:23 +00:00 by lekss361 · 0 comments
Owner

Макет «МЕРА отчёт» — конечный автомат из 4 состояний (teaser → waiting → paid | refund) плюс 2 отказные ветки и модалка оплаты. Сегодня нет ничего из этого.

Как лучше сделать

  • Capability-URL /r/<token> вместо личного кабинета: анониму не нужен аккаунт, ссылка сама и есть доступ. Токен — отдельный секрет, не UUID оценки (тот уже используется как id).
  • Срок жизни ссылки — 12 месяцев (trade_in_paid_retention_days = 365, обещано в политике ПДн). У самой оценки expires_at = 24 часа — это разные сроки, не путать.
  • PDF анониму: GET /estimate/{id}/pdf защищён _assert_estimate_access, и в _PUBLIC_PATHS его быть не должно. Нужен отдельный маршрут по тому же токену.
  • E-mail: SMTP в бэкенде нет вообще. Поля e-mail у оценки тоже нет (client_name / client_phone удалены при PII purge #1969). Нужны колонка, интеграция отправки и согласие на неё.
  • Прогресс-экран из макета («Собираем аналоги / Считаем цену / Проверяем прогноз») сегодня анимировал бы вымысел: POST /estimate синхронный, job-а со статусами нет. Либо асинхронный job с реальными стадиями, либо честный спиннер без стадий.
  • Человекочитаемые номера отчётов (№C-0231) — нужна последовательность, сегодня только UUID.

Зависит от платёжного контура.

Макет «МЕРА отчёт» — конечный автомат из 4 состояний (teaser → waiting → paid | refund) плюс 2 отказные ветки и модалка оплаты. Сегодня нет ничего из этого. ## Как лучше сделать - **Capability-URL `/r/<token>`** вместо личного кабинета: анониму не нужен аккаунт, ссылка сама и есть доступ. Токен — отдельный секрет, не UUID оценки (тот уже используется как id). - Срок жизни ссылки — 12 месяцев (`trade_in_paid_retention_days = 365`, обещано в политике ПДн). У самой оценки `expires_at` = 24 часа — это разные сроки, не путать. - PDF анониму: `GET /estimate/{id}/pdf` защищён `_assert_estimate_access`, и в `_PUBLIC_PATHS` его быть не должно. Нужен отдельный маршрут по тому же токену. - **E-mail: SMTP в бэкенде нет вообще.** Поля e-mail у оценки тоже нет (`client_name` / `client_phone` удалены при PII purge #1969). Нужны колонка, интеграция отправки и согласие на неё. - Прогресс-экран из макета («Собираем аналоги / Считаем цену / Проверяем прогноз») сегодня анимировал бы вымысел: `POST /estimate` синхронный, job-а со статусами нет. Либо асинхронный job с реальными стадиями, либо честный спиннер без стадий. - Человекочитаемые номера отчётов (`№C-0231`) — нужна последовательность, сегодня только UUID. Зависит от платёжного контура.
lekss361 added the
priority/p2
scope/frontend
scope/backend
labels 2026-08-15 16:04:23 +00:00
lekss361 added the
enhancement
tradein
labels 2026-08-16 10:25:30 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2897
No description provided.