Джина Гайд

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 — Корректная регистрация

Подробности и данные: acceptance/scenarios/scn-pos-002.json.

Scenario: SCN-POS-004 — Некорректный ввод

Подробности и данные: 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 — Повтор и конфликт ключа

Подробности и данные: acceptance/scenarios/scn-pos-003.json.