Operator guideENkyclabelsform

KYC Labels / Form

Embedded create and update modals for KYC labels, including multilingual text fields, required or single-sided flags, camera-capture options, and translation helpers.

Reader view

Clean portal guidance

This page keeps the operator explanation, field and action descriptions, and screenshots visible without exposing repo paths, raw sidecars, or editorial-only implementation details.

Narrative content

Page body

What this form does

This surface covers the two embedded modals used to create and update KYC labels from the /kyc-labels page.

Operators use the form to:

  • maintain multilingual label names
  • maintain multilingual descriptions and short descriptions
  • mark whether a document is required
  • mark whether a document is single-sided
  • manage camera-capture options on existing labels
  • trigger translation for one existing label
  • filter and search the active language set inside the modal

Create vs update

Create

The create modal allows the operator to enter:

  • name per active language
  • description per active language
  • shortDescription per active language
  • isRequired
  • Auto-translate after creation

The create flow does not expose isSingleSided or camera-capture settings on the verified FE surface.

The create modal also shows:

  • grouped language tabs (All, Popular, European, Asian, Other)
  • language search
  • translation progress based on non-empty label names
  • a disabled Create Label button until at least one language name is filled

Update

The update modal loads one existing label and additionally allows the operator to edit:

  • isSingleSided
  • camera_captured.enabled
  • camera_captured.face_detection
  • camera_captured.document_capture

The update modal is also the verified FE surface for translation of one existing label.

The update modal additionally shows:

  • the label ID in the header
  • the same grouped language tabs and language search
  • completion progress based on name, description, and shortDescription
  • a header Translate button and a smaller quick-translate icon when missing translations still exist

Translation behavior

The update modal has a visible Translate action.

The verified FE action sends one label to the core translation endpoint with:

  • sourceLang: "en"
  • force: true
  • isDeeplService: true

After a successful response, the FE replaces the modal state with the translated payload returned by core.

Successful create and update both close the modal automatically after a short delay once the FE receives the success state.

Important caveats

  • Create and update are modal flows only. No standalone create or edit route was verified for kyc-labels.
  • The Auto-translate after creation checkbox is visible on the create modal, but the same FE file also contains a note that the auto-translate step still needs follow-up after creation. Treat it as an intended helper, not as a fully confirmed finished workflow.
  • Language availability comes from GET /api/admin/get-languages. Translation itself comes from the core document-translation endpoint. These are two separate dependencies.
  • The quick translate icon in the update modal is still the same single-label translation action. A separate visible bulk-translate page for all labels was not verified on this surface.
Calculation notes

Calculations

calculation

Language grouping and search

Logic
The modal groups active languages into `All`, `Popular`, `European`, `Asian`, and `Other`., `Search languages` filters the currently visible group by language name or code., Switching group tabs resets the mobile carousel index back to the first visible language.
calculation

Create progress math

Logic
Create-mode progress counts only non-empty `name` values., The denominator is the number of initialized active-language keys in the create modal., `Create Label` stays disabled while that completed count is `0`.
calculation

Update progress math

Logic
Update-mode progress counts `name`, `description`, and `shortDescription` for each loaded language., Languages with existing values are sorted first when the update modal initializes from the current label payload., `Update Label` stays disabled while the completed count is `0` or while submit is already in progress.
calculation

Single-label translation

Logic
The update modal calls `POST /api/core/documents/translate/:documentLabelId` with `sourceLang: en`, `force: true`, and `isDeeplService: true`., Core fetches the document label, loads active languages and DeepL settings, then translates missing or force-targeted fields and saves the updated label back to the database., After success, the FE replaces modal state with the translated payload returned by core.
calculation

Create auto-translate caveat

Logic
The create modal exposes `Auto-translate after creation` as local checkbox state., The same FE file explicitly notes that the post-create translation chain still needs follow-up after the label is created., Treat it as intended helper UI, not as a fully confirmed completed automation flow.
calculation

Success auto-close

Logic
Both create and update modals clear submitting state on success., Both then close the modal after an approximately `1500ms` delay.
Field dictionary

Fields

field

Label ID

Internal identifier shown in the update modal header.

Data Type
integer
Availability
update-only
field

Label Name

Operator-facing document label text stored per active language.

Data Type
multilingual-string-map
Availability
create-and-update
field

Description

Longer document-description text stored per active language.

Data Type
multilingual-string-map
Availability
create-and-update
field

Short Description

Short helper text for the same label stored per active language.

Data Type
multilingual-string-map
Availability
create-and-update
field

Required Document

Marks the document as mandatory for the user.

Data Type
boolean
Availability
create-and-update
field

Single-sided Document

Marks the document as complete with one side only.

Data Type
boolean
Availability
update-only
field

Camera Capture Enabled

Enables camera-based document capture for this label.

Data Type
boolean
Availability
update-only
field

Face Detection

Enables face-detection checks in the camera-capture flow.

Data Type
boolean
Availability
update-only
field

Document Capture

Enables dedicated document-capture behavior for camera upload.

Data Type
boolean
Availability
update-only
field

Active Languages

Determines which locale tabs and text inputs appear in the modal.

Data Type
language-list
Availability
create-and-update
field

Search Languages

Filters the visible language cards inside the current modal session.

Data Type
string
Availability
create-and-update
field

Language Groups

Groups active languages into `All`, `Popular`, `European`, `Asian`, and `Other`.

Data Type
tabs
Availability
create-and-update
field

Translation Progress

Visual progress indicator showing how much multilingual content has been filled in the current modal state.

Data Type
progress
Availability
create-and-update
field

Auto-translate after creation

Intended helper to trigger translation of missing languages after the label is created.

Data Type
boolean
Availability
create-only
Caveats
The FE file still marks the post-create auto-translate chain as follow-up work rather than a fully confirmed finished workflow.
Operational notes

Notes

item

The create modal shows an auto-translate option, but the verified FE file also notes that post-create translation still needs a follow-up chain after the label is created.

item

The update modal is the only verified operator surface that performs translation of one specific label from the KYC labels page.

item

Both create and update modals auto-close about `1500ms` after a successful backend response.

item

Create-mode progress counts only non-empty `name` entries, while update-mode progress counts `name`, `description`, and `shortDescription` across active languages.

item

Notes 5

The Update Modal Exposes The Same Force Translate Action In Two Places
the main header button and a smaller quick-translate icon shown when untranslated values remain.
Related references

Related pages

pageKYC Labels

Operator documentation for the KYC label inventory page, including the labels table and the embedded create and update modals.

pageKYC Labels / List

The KYC label inventory page with label name, required and single-sided indicators, expandable language rows, and create or edit entrypoints.

pageAffiliate Deals / Form

Create and edit form for affiliate deals, including PID, date window, commercial terms, and responsible person.

pageAffiliate Payment Settings / Form

Create and edit form for one affiliate payment-setting record, with visible PID targeting, minimum deposit threshold, and active-state control.

pageAuto Tags Manager / Create

Full rule-builder for a new automatic tagging rule, including tag actions, coupon actions, KPI field selection, and draft impact estimation.

pageAutomatic Withdrawal / Form

Create and edit form for one automatic-withdrawal rule, including thresholds, KYC, countries, methods, tags, and per-currency limits.