intake Specification
Purpose
Приём и регистрация жалоб в системе «Обратная связь — регион».
Requirements
Requirement: REQ-IN-001 — Валидация до регистрации
{
"id": "REQ-IN-001",
"level": "REQ",
"status": "agreed",
"owner": "product-owner",
"parents": [
"HLR-POS-001"
],
"sources": [
"contracts/complaint-submit.schema.json"
],
"questions": [],
"required_aspects": [
"valid",
"invalid"
],
"verification": "test",
"risk": "high"
}
Система MUST принимать текст длиной от 1 до 3000 символов, содержащий хотя бы один непробельный символ, территорию и ключ отправки по contracts/complaint-submit.schema.json. Автор берётся из аутентифицированной сессии. При нарушении контракта возвращается ошибка 422; жалоба и поручения не создаются. Вложения в этом срезе не поддерживаются.
Scenario: SCN-POS-002 — Корректная регистрация
- GIVEN Сессия citizen-demo-001; ключ ещё не использован
- WHEN Отправить корректный запрос
- THEN 201; одна жалоба, исходный текст и автор сохранены
Подробности и данные: acceptance/scenarios/scn-pos-002.json.
Scenario: SCN-POS-004 — Некорректный ввод
- GIVEN Ключи не использованы
- WHEN Отправить вход каждого случая
- THEN 422; нет жалоб и поручений
Подробности и данные: acceptance/scenarios/scn-pos-004.json.
Requirement: REQ-IN-002 — Повторная отправка
{
"id": "REQ-IN-002",
"level": "REQ",
"status": "agreed",
"owner": "product-owner",
"parents": [
"HLR-POS-001"
],
"sources": [
"DEC-POS-001"
],
"questions": [],
"required_aspects": [
"same_payload",
"conflicting_payload"
],
"verification": "test",
"risk": "high"
}
Система MUST в течение 24 часов после первого принятого запроса возвращать тот же complaint_id для той же пары (идентификатор автора, ключ отправки) и того же тела. Повтор не создаёт новую жалобу и новые поручения. Иное тело с тем же ключом возвращает 409 без изменения ранее принятой жалобы. За пределами 24 часов ключ не гарантирует дедупликацию; клиент использует новый ключ для новой жалобы. Ключ разных авторов независим.
Scenario: SCN-POS-003 — Повтор и конфликт ключа
- GIVEN Первый запрос с базовым текстом уже принят; прошло менее24 ч
- WHEN Повторить отправку с прежним ключом
- THEN Тот же результат; одна жалоба и одна эффективная запись регистрации; 409 без изменения исходной жалобы
Подробности и данные: acceptance/scenarios/scn-pos-003.json.