> For the complete documentation index, see [llms.txt](https://onestore-dev.gitbook.io/dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://onestore-dev.gitbook.io/dev/chi/webshop/player-id-fields.md).

# Player identity fields

This menu lets you define the identification values to collect from users in the login popup of the ONEshop purchase window. You can set the guide text for the default identifier (UID) and the Custom Fields to collect additionally, depending on your game.

The menu location is `ONEconsole > Webshop > Developer > Player Identity Field`.

{% hint style="info" %}
The values collected here are passed to your game server. The default identifier (UID) is included as `serviceUserId`, a Server List type field as `serviceServerId`, and all other Custom Fields as `serviceCustomFields` in the [validation](https://onestore-dev.gitbook.io/dev/eng/tools/webshop/validation) request and in [PNS](https://onestore-dev.gitbook.io/dev/eng/tools/webshop/billing#pns).
{% endhint %}

### Default identifier (UID)

This is the default value that is always collected in the purchase window. Expand the default identifier area above the list and set the guide text for each language.

**UID Label** (Required, up to 20 characters) The text shown as the name of the UID input field in the purchase window. Enter it for every language you have added.

**Login Button Text** (Up to 20 characters) The text to display on the login button in the purchase window. If you leave it empty, `UID Login` is displayed in the Webshop.

**Login Guide** (Up to 100 characters) Text that tells users where to find their UID.

**Guide Image** (Up to 1MB, 16:9 recommended) An image that shows how to find the UID. For a language with no image, the default language image is used.

{% hint style="info" %}
The UID identifies the game account (user or character) that will receive the item. In [validation](https://onestore-dev.gitbook.io/dev/eng/tools/webshop/validation), your game server should check that this value actually exists and respond accordingly.
{% endhint %}

***

### Custom Fields

Define additional values to collect in the purchase window besides the UID, such as a character ID, server, or country. Select \[**Add Identity Field**] to create a field.

The list shows each field's key, label, type, and display order. You can edit or delete a field from the menu on its row.

#### Create a field

**Field Key** (Required, up to 32 characters) The key used to pass the value to your game server. You can use only English letters (upper and lower case) and numbers, and the key must be unique within a title. **You cannot change it after saving.**

* The following keys are reserved by the system and cannot be used as a field key: `serviceUserId`, `serviceServerId`, `uid`, `sid`, `clientId`, `prodId`

**Type** (Required) Select how users enter the value.

| Type        | Input method                                                   |
| ----------- | -------------------------------------------------------------- |
| Text        | Users type characters directly                                 |
| Number      | Users type numbers directly                                    |
| Select      | Users choose from options registered by the developer          |
| Server List | Users choose from the server list returned by your game server |

**Display Order** (Required) The order in which the field appears in the purchase window. Enter a number of 0 or higher; a smaller number appears higher. The same order applies to all languages.

**Label** (Required, up to 50 characters) The text shown as the name of the input field in the purchase window. Enter it for every language you have added.

**Guide · Guide Image** Guidance shown below the input field for each language. The guide can be up to 200 characters, and the image can be up to 1MB.

#### Select options

If you choose **Select** as the type, you must register at least one option. For each option, enter a **Value** (the value sent to your game server) and a **Display name** (the name shown to users).

* \[**Add Item**]: Add options one row at a time.
* \[**Bulk Add**]: Paste multiple options at once, one option per line, separating the value and display name with a tab or comma.
* \[**Upload CSV**]: Register multiple options at once with a CSV file.

Rows where only the value or only the display name is entered are dropped when you save.

#### Server List type

Use the Server List type to let users choose a game server.

* You can create only one per title, and the field key is fixed to `serviceServerId`.
* The server list is retrieved from the Server List URL in `ONEconsole > Webshop > Developer > Server Integration`. For the response specification, see [Server List Integration](https://onestore-dev.gitbook.io/dev/eng/tools/webshop/server).

{% hint style="info" %}
Only one validation URL and one Server List URL can be registered per title (PID), regardless of the payment environment. If you need to handle game servers differently by sales country or region, add a **Select** field for choosing the country or region, and branch on the `serviceCustomFields` value on your game server.
{% endhint %}

***

### Purchase window preview

On the right side of the list, you can see right away how the login popup of the actual purchase window will look. The UID and Custom Fields are displayed in display order.

***

### Edit or delete a field

**Edit** Open a field from the list to change its label, display order, guide, options, and more. You cannot change the field key.

**Delete** A deleted field **disappears from the purchase window immediately.**

{% hint style="warning" %}
**Notice**

* If you add or edit a field for a title that is on sale, it is recorded as a change that requires review. You must \[**Republish**] for it to take effect in the service.
* While the title is under review, or after approval and before sales begin, the field creation and edit screens are locked.
  {% endhint %}

<details>

<summary>Related guides</summary>

* [User Validation](https://onestore-dev.gitbook.io/dev/eng/tools/webshop/validation)
* [Server List Integration](https://onestore-dev.gitbook.io/dev/eng/tools/webshop/server)
* [User Information Integration](https://onestore-dev.gitbook.io/dev/eng/tools/webshop/app-links)
* [Webshop Payment Integration](https://onestore-dev.gitbook.io/dev/eng/tools/webshop/billing)
* [Server Integration](https://onestore-dev.gitbook.io/dev/eng/webshop/integration)
* [Request a Review](https://onestore-dev.gitbook.io/dev/eng/webshop/request-for-review)

</details>
