Page body
What this surface shows
This page manages the grouping layer used by the failed-deposit queue.
Operators use it to:
- create a new error group
- edit group name and description
- assign failed reasons to a group
- remove already assigned reasons from a group
- export or import the whole grouping configuration
How to read it
Each group is shown as an editable card. The page is not a classic table; it behaves more like a configuration manager.
The main operator objects are:
- group metadata
- assigned reasons
- unassigned reasons available for mapping
The FE always loads:
- groups with
includeReasons=true - unassigned reasons with
unassignedOnly=true
That means the assignment selector is not a generic reason browser. It is a working list of reasons that are currently free for mapping plus the reasons already attached to the current group.
Main actions
RefreshExportImportCreate GroupEdit Error GroupAssign failed reasonsRemove assigned reason
Common questions
Is this page changing transaction rows directly?
No. It changes the grouping dictionary used to classify failed reasons. The transaction queue then shows those group names on its own list surface.
Does assigning reasons append to a group?
No. The assignment save is a full replacement. The backend first clears the group's existing error_group_id links and then writes back the selected reason ids.
Why does import/export exist here?
Because the grouping model is treated as maintainable operational configuration rather than as a one-off lookup table.
Known caveats
- This page mixes list, form, and relation-management behavior in one route.
- Assigned reasons are managed through a grouped multi-select and removable chips, not inline in the failed-deposit list.
- There is no delete-group action in the current FE manager.
- The backend read services support search, pagination, date range, provider, and currency filters, but the current FE manager does not expose those controls on this route.
- Loading
unassignedOnly=truereasons can trigger backend auto-seeding from recent failed deposit rows before the reason selector is shown. - Import is file-based. The FE accepts only JSON and requires the parsed payload to contain a top-level
groupsarray. - Export downloads a JSON snapshot with an ISO timestamp in the filename.