[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides create master data crud app in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/updates/release-notes)

App Development

[What is VTEX IO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-what-is-vtex-io)

---

[What is a VTEX App](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-what-is-a-vtex-app)

---

[Governance and shared security in VTEX IO apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/governance-and-shared-security-in-vtex-io-apps)

---

[Code samples and templates](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/code-samples)

---

[Getting Started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-getting-started)

[Storefront apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-1-developing-storefront-apps-using-react-and-vtex-io)

[Pixel apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-1-developnativeintegrationswithpixelapps)

[Master Data CRUD](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app)

---

Project structure

---

[VTEX IO CLI](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-vtex-io-cli-installation-and-command-reference)

---

[Workspace](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-workspace)

---

Managing apps

---

Development guides

---

[Node apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/app-development-guides)

---

[GraphQL in VTEX IO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/graphql-in-vtex-io)

---

[Policies and permissions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-policies)

---

[A/B tests](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/ab-tests)

---

[Deployment](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-making-your-new-app-version-publicly-available)

---

[VTEX App Store](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-app-store)

---

[Edition Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/managing-edition-apps)

---

[Frequently asked questions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-frequently-asked-questions)

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/updates/release-notes)

App Development

[What is VTEX IO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-what-is-vtex-io)

---

[What is a VTEX App](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-what-is-a-vtex-app)

---

[Governance and shared security in VTEX IO apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/governance-and-shared-security-in-vtex-io-apps)

---

[Code samples and templates](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/code-samples)

---

[Getting Started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-getting-started)

[Storefront apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-1-developing-storefront-apps-using-react-and-vtex-io)

[Pixel apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-1-developnativeintegrationswithpixelapps)

[Master Data CRUD](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app)

---

Project structure

---

[VTEX IO CLI](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-vtex-io-cli-installation-and-command-reference)

---

[Workspace](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-workspace)

---

Managing apps

---

Development guides

---

[Node apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/app-development-guides)

---

[GraphQL in VTEX IO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/graphql-in-vtex-io)

---

[Policies and permissions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-policies)

---

[A/B tests](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/ab-tests)

---

[Deployment](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-making-your-new-app-version-publicly-available)

---

[VTEX App Store](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-app-store)

---

[Edition Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/managing-edition-apps)

---

[Frequently asked questions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-documentation-frequently-asked-questions)

---

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/app-development)

[Getting Started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/vtex-io-getting-started)

[Master Data CRUD](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app)

Creating a Master Data v2 CRUD app

Learn how to create a Master Data v2 CRUD apps in VTEX IO.

This guide will teach you how to build a Master Data v2 CRUD (Create, Read, Update, Delete) application within VTEX IO using the `masterdata` builder. [Master Data](https://read.calvincode.net/reader?url=https://help.vtex.com/tutorial/master-data--4otjBnR27u4WUIciQsmkAw) is a native key-document database that allows you to efficiently store, search, expand, and personalize your data. While it is possible to integrate Master Data into any VTEX IO app by connecting to the [Master Data API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/api-reference/master-data-api-v2%23overview), this is not the most efficient approach.

To streamline your development experience, we recommend leveraging the `masterdata` [builder](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-builders) to create apps with [Master Data v2](https://read.calvincode.net/reader?url=https://help.vtex.com/tutorial/master-data--4otjBnR27u4WUIciQsmkAw) features, including data creation, editing, and deletion.

> If you prefer to use Master Data v1, check [Creating a VTEX IO service to interact with Master Data v1](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/interacting-with-master-data-v1-through-vtex-io-services).

## Before you begin

Before diving into coding your app, it's essential to grasp some fundamental concepts:

* Master Data
   * [Basic components](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/master-data--4otjBnR27u4WUIciQsmkAw%23basic-components).
   * [Infrastructure](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/master-data-infrastructure).
   * [Working with JSON Schemas in Master Data v2](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/working-with-json-schemas-in-master-data-v2).
   * [Schema lifecycle](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/master-data-schema-lifecycle).
* VTEX IO service development
   * [Developing services on VTEX IO](https://read.calvincode.net/reader?url=https://learn.vtex.com/docs/course-service-course-lang-en).

## Instructions

To create a [Master Data](https://read.calvincode.net/reader?url=https://help.vtex.com/tutorial/master-data--4otjBnR27u4WUIciQsmkAw) app, follow these steps:

### Step 1 - Defining the data structure

Before diving into coding, take time to plan your data structure. Since you will be setting up a VTEX IO service app with a focus on [Master Data](https://read.calvincode.net/reader?url=https://help.vtex.com/tutorial/master-data--4otjBnR27u4WUIciQsmkAw)'s basic elements, ensure you have well-defined data entities and written schemas prepared for each entity your app will interact with.

For each [data entity](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/master-data--4otjBnR27u4WUIciQsmkAw%23data-entities) that your app will interact with, plan and prepare its corresponding [JSON schema](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/working-with-json-schemas-in-master-data-v2). See an example below:

Schema example

`1

{

2

 "$schema": "http://json-schema.org/schema#",

3

 "title": "my_schema",

4

 "type": "object",

5

 "properties": {

6

 "string_field_example": {

7

 "type": "string"

8

 },

9

 "number_field_example": {

10

 "type": "number"

11

 },

12

 "boolean_field_example": {

13

 "type": "boolean"

14

 }

15

 },

16

 "required": [

17

 "number_field_example",

18

 "string_field_example"

19

 ],

20

 "v-default-fields": [

21

 "number_field_example",

22

 "string_field_example"

23

 ]

24

}

`

### Step 2 - Editing the `manifest.json` file

1. Use the [VTEX IO CLI](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-vtex-io-cli-installation-and-command-reference) and run `vtex init` to copy the [service-example](https://read.calvincode.net/reader?url=https://github.com/vtex-apps/service-example) boilerplate files to your computer.
2. Add the `masterdata` builder to your [manifest file](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-manifest).

`1

 "builders": {

2

 ...

3

+ "masterdata": "1.x",

4

 }

`

1. Add the following [policies](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-policies) to your app’s `manifest.json` file:

`1

[{

2

 "name": "outbound-access",

3

 "attrs": {

4

 "host": "api.vtex.com",

5

 "path": "/api/*"

6

 }

7

},

8

{

9

 "name": "ADMIN_DS"

10

 }]

`

### Step 3 - Using the `masterdata` builder

1. Create a folder named `masterdata` at the root of your app. This will be your Master Data configuration folder.
2. For each data entity your app interacts with, create a dedicated folder inside the `masterdata` directory.
3. Within each data entity folder, create a file named `schema.json`. The folder structure should resemble the following:

`1

masterdata

2

 | --myEntity

3

 | --schema.json

`

1. Populate the `schema.json` file with the [JSON schema](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/working-with-json-schemas-in-master-data-v2) corresponding to the respective and save your changes. Notice that each data entity must have its own `schema.json` with a valid JSON schema.
2. In the terminal, run `vtex link` to test your code.

Note that your app creates regular Master Data entities accessible via the [Master Data v2 endpoints](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/api-reference/master-data-api-v2%23overview). The naming convention for the entities follows this pattern: `{vendor}_{appName}_{entityName}`.

> Note that each time you install or link a different version of your app, the `masterdata` builder creates a new schema with the app’s name and version. Hence, since Master Data v2 data entities have a limit of 60 schemas per entity, ensure to [delete unused schemas](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/api-reference/master-data-api-v2%23delete-/api/dataentities/-dataEntityName-/schemas/-schemaName-) to prevent from running into issues.

### Step - 4 - Generating TypeScript typings

Run `vtex setup -i` at the root of your project. This command will generate all TypeScript typings for your data entity, making them available for import in your app. You can find them in your `node/node_modules` folder.

> Whenever you change a data entity schema, you must regenerate the TypeScript typings. Hence, if you run into issues related to the data entity typings, try regenerating the typings. Also, ensure to run `vtex setup -i` before releasing your app so that the typings will not be tied to your development workspace.

### Step 5 - Using the `node` builder

1. In the terminal, change to the `node` folder of your app.
2. Run `yarn add @vtex/clients` to install the `clients` package.
3. Open the file `node/clients/index.ts` and import the following modules:

`1

import { masterDataFor } from '@vtex/clients'

2

import { myEntity } from 'vendor.appName' // Replace with the names of your data entity, store, and app.

`

> When importing your data entity typings from the app, follow the format `{vendor}.{appName}`, as specified in your `manifest.json`. If the app does not recognize the generated typings import, try deleting the `node/node_modules` folder. Then run `yarn` to reinstall dependencies and `vtex setup` to regenerate the typings. Finally, run `vtex link` to check if everything is functioning correctly.

1. In the same `node/clients/index.ts` file, create a new property for the `Clients` class to create a client for your data entity. This represents the data entity you are working with. See this code example:

`1

public get entity() {

2

 return this.getOrSet('entity', masterDataFor<myEntity>('entity'))

3

}

`

### Step 6 - Configuring Master Data triggers

To configure [Master Data triggers](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/setting-up-triggers-on-master-data-v2) in your app, follow these steps:

1. Create a folder named `triggers` inside your `masterdata/{dataEntity}` folder.
2. Create a JSON file inside the `triggers` folder.
3. Declare your triggers in the JSON file, following the same format described for the `v-triggers` field when [setting up Master Data v2 triggers](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/setting-up-triggers-on-master-data-v2).

### Step 7 - Creating Master Data functions

Now that your app is set up, you can begin coding Master Data functions, such as saving, editing, retrieving, or deleting data. You can then use these functions in your app’s `resolvers` and `middlewares`.

Master Data functions are available via global context through `ctx.clients.{entityName}.{function}()`. Below, you can see more details on each function. These functions are equivalent to those performed by [Master Data v2 endpoints](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/api-reference/master-data-api-v2%23overview).

#### Get

The `get()` function returns a document by its ID. You may specify what fields you want to be returned. If you do not, all fields in the document will be returned.

| **Argument** | **Required** | **Type**         | **Description**                                                                                |
| ------------ | ------------ | ---------------- | ---------------------------------------------------------------------------------------------- |
| id           | Yes          | String           | ID of the document you wish to retrieve.                                                       |
| fields       | No           | Array of strings | List of the names of the fields you wish to be returned. If not sent, all fields are returned. |

Example: Getting a complete document of the `Book` entity.

`1

ctx.client.Book.get(id: 'sdfg3543df5g4h3d5fh47d')

`

Example: Getting the name and release date of a given book from the `Book` entity.

`1

ctx.client.Book.get(id: 'sdfg3543df5g4h3d5fh47d’, fields:['name', 'releaseDate'])

`

#### Save

The `save()` function saves a new document to your data entity and returns the generated ID for that new document.

This function’s arguments follow the format you described when setting up JSON schemas in your [data structure](#data-structure).

Example: Saving a new document to the `Book` data entity.

`1

ctx.client.Book.save({

2

 name: 'Dom Quixote',

3

 releaseDate: 1605,

4

 author: 'Miguel de Cervantes'

5

})

`

#### Update

The `update()` function an existing document by ID.

| **Argument**    | **Required** | **Type**                                          | **Description**                                                                                |
| --------------- | ------------ | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id              | Yes          | String                                            | ID of the document you wish to update.                                                                                |
| {document-data} | Yes          | Corresponding to the types declared in the schema | This function’s arguments follow the format you described when setting up JSON schemas in your [data structure](#data-structure). Required fields apply even for partial updates. |

Example: Updating a document’s `rating` field in the `Book` entity.

`1

ctx.client.Book.udpate(

2

 id: 'sdfg3543df5g4h3d5fh47d',

3

 {

4

 name 'Dom Quixote',

5

 rating: 4,5

6

 }

7

)

`

#### Save or update

The `saveOrUpdate()` function updates an existing document by ID or creates a new document if you do not send an ID.

| **Argument**    | **Required** | **Type**                                          | **Description**                                                                                |
| --------------- | ------------ | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id              | No           | String                                            | ID of the document you wish to update. If you send an ID, the document is updated. Otherwise, a new document is created.                                                          |
| {document-data} | Yes          | Corresponding to the types declared in the schema | This function’s arguments follow the format you described when setting up JSON schemas in your [data structure](#data-structure). Required fields apply even for partial updates. |

Example: Updating a document’s `rating` field in the `Book` entity.

`1

ctx.client.Book.saveOrUpdate(

2

 id: ‘sdfg3543df5g4h3d5fh47d’,

3

 {

4

 name ‘Dom Quixote’,

5

 rating: 4,5

6

 }

7

)

`

Example: Saving a new document to the `Book` data entity.

`1

ctx.client.Book.saveOrUpdate({

2

 name: 'Dom Quixote',

3

 releaseDate: 1605,

4

 author: 'Miguel de Cervantes'

5

})

`

#### Delete

The `delete()` function deletes a document by ID.

| **Argument** | **Required** | **Type** | **Description**                        |
| ------------ | ------------ | -------- | -------------------------------------- |
| id           | Yes          | String   | ID of the document you wish to delete. |

Example: Deleting a document of the `Book` entity.

`1

ctx.client.Book.delete(id: 'sdfg3543df5g4h3d5fh47d')

`

#### Search

The `search()` function returns an array of documents that satisfy the criteria described in the arguments.

| **Argument** | **Required** | **Type**         | **Description**                                                                    |
| ------------ | ------------ | ---------------- | ---------------------------------------------------------------------------------- |
| page         | Yes          | Integer          | Number of the page you wish to retrieve.                                           |
| pageSize     | Yes          | Integer          | Number of documents that should be returned in each page.                          |
| fields       | No           | Array of strings | Names of the fields you wish to be returned. If not sent, all fields are returned. |
| where        | No           | String           | Filtering condition.                                                               |

Example: Searching names and release dates of all books by the author Miguel de Cervantes.

`1

ctx.client.Book.search(

2

 pagination: {

3

 page: 1,

4

 pageSize: 10

5

 },

6

 fields: ['name', 'releaseDate'],

7

 where: 'name=Miguel de Cervantes'

8

)

`

Contributors

2

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F77292838%3Fv%3D4%26w=64%26q=75)](https://github.com/julia-rabello)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/vtex-io/App-Guides/create-master-data-crud-app.md)

[7\. Making your Pixel app publicly available« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app//docs/guides/vtex-io-documentation-8-makingyourpixelapppubliclyavailable)[ManifestNext »](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app//docs/guides/vtex-io-documentation-manifest)

Contributors

2

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F77292838%3Fv%3D4%26w=64%26q=75)](https://github.com/julia-rabello)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

ON THIS PAGE

[Before you begin](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23before-you-begin)

[Instructions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23instructions)

[Step 1 - Defining the data structure](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-1-defining-the-data-structure)[Step 2 - Editing the manifest.json file](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-2-editing-the-manifestjson-file)[Step 3 - Using the masterdata builder](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-3-using-the-masterdata-builder)[Step - 4 - Generating TypeScript typings](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-4-generating-typescript-typings)[Step 5 - Using the node builder](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-5-using-the-node-builder)[Step 6 - Configuring Master Data triggers](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-6-configuring-master-data-triggers)[Step 7 - Creating Master Data functions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-7-creating-master-data-functions)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/vtex-io/App-Guides/create-master-data-crud-app.md)

Copy page

On this page

ON THIS PAGE

[Before you begin](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23before-you-begin)

[Instructions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23instructions)

[Step 1 - Defining the data structure](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-1-defining-the-data-structure)[Step 2 - Editing the manifest.json file](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-2-editing-the-manifestjson-file)[Step 3 - Using the masterdata builder](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-3-using-the-masterdata-builder)[Step - 4 - Generating TypeScript typings](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-4-generating-typescript-typings)[Step 5 - Using the node builder](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-5-using-the-node-builder)[Step 6 - Configuring Master Data triggers](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-6-configuring-master-data-triggers)[Step 7 - Creating Master Data functions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/create-master-data-crud-app/docs/guides/create-master-data-crud-app%23step-7-creating-master-data-functions)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)


[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides vtex category menu in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/updates/release-notes)

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/updates/release-notes)

Category Menu

Category Menu app is a store component that shows a department list of the store on an customizable menu, and this app is used by store theme.

## Configuration

1. Add the app to your theme's dependencies on the `manifest.json`, for example:

`1

 dependencies: {

2

 "vtex.category-menu": "2.x"

3

 }

`

1. Add the `category-menu` block into your theme.

`1

{

2

 "category-menu": {

3

 "props": {

4

 "showAllDepartments": true,

5

 "showSubcategories": true,

6

 "menuDisposition": "center",

7

 "departments": [],

8

 "sortSubcategories": "name"

9

 }

10

 }

11

}

`

| Prop name          | Type         | Description                                                                               | Default Value |
| ------------------ | ------------ | ----------------------------------------------------------------------------------------- | ------------- |
| showAllDepartments | Boolean      | Shows all departments category in menu                                                    | true          |
| menuDisposition    | Enum         | Indicates the disposition of the menu on the screen. Possible values: left, center, right | center        |
| showSubcategories  | Boolean      | Decides if the subcategories will be displayed                                            | true          |
| departments        | Array(items) | List of departments items to be displayed on the menu                                     | \[\]          |
| mobileMode         | Boolean      | Use this as true to render the category menu in a sidebar                                 | false         |
| sortSubcategories  | Enum         | Determine how subcategories are sorted. Possible values name                              |               |

Items:

| Prop name | Type   | Description                                   |
| --------- | ------ | --------------------------------------------- |
| id        | Number | The department Id to be displayed on the menu |

## Customization

In order to apply CSS customizations in this and other blocks, follow the instructions given in the recipe on [Using CSS Handles for store customization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-using-css-handles-for-store-customization).

| CSS Handles               |
| ------------------------- |
| container                 |
| departmentLink            |
| departmentList            |
| firstLevelLink            |
| firstLevelLinkContainer   |
| firstLevelList            |
| itemContainer             |
| itemContainer--category   |
| itemContainer--department |
| menuContainer             |
| secondLevelLink           |
| secondLevelLinkContainer  |
| secondLevelList           |
| section--category         |
| section--department       |
| sidebar                   |
| sidebarContainer          |
| sidebarContent            |
| sidebarHeader             |
| sidebarItem               |
| sidebarItemContainer      |
| sidebarOpen               |
| sidebarScrim              |
| submenuItem               |
| submenuList               |

Contributors

1

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/vtex-io/Store-Framework-Apps/advanced-components/vtex-category-menu.md)

Contributors

1

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

ON THIS PAGE

[Configuration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/guides/vtex-category-menu%23configuration)

[Customization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/guides/vtex-category-menu%23customization)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/vtex-io/Store-Framework-Apps/advanced-components/vtex-category-menu.md)

Copy page

On this page

ON THIS PAGE

[Configuration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/guides/vtex-category-menu%23configuration)

[Customization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-category-menu/docs/guides/vtex-category-menu%23customization)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)


[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides cardholder document configuration in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/updates/release-notes)

Guides

[VTEX Platform Overview](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/vtex-platform-overview)

---

[API usage](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/api-usage)

---

[Getting started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/getting-started)

---

Integration Guides

---

[Catalog](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/catalog-integration)

---

[Checkout](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/checkout-api-overview)

---

[Master Data](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/master-data)

---

Payments

[Configuration Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/payments-configuration-guides)

[Setting up the type of interest rate](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/setting-up-the-type-of-interest-rate)

[Setting up Merchant ID in Apple Pay](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/setting-up-merchant-id-in-apple-pay)

[Cardholder document configuration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/cardholder-document-configuration)

[Implementing a pre-analysis anti-fraud flow for debit card transactions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/implementing-a-pre-analysis-antifraud-flow-for-debit-card-transactions)

[Metadata information in payment transactions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/metadata-information-in-payment-transactions)

---

Orders

---

Logistics

---

B2B Suite

---

VTEX Sales App

---

UI Customization

---

Message Center

---

Pricing

---

Promotions

---

Infrastructure

---

Search

---

Storefront Permissions

---

[VTEX Activity Flow](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/activity-flow)

---

[VTEX Ads](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/vtex-ads)

---

VTEX Session

---

VTEX Shield

---

[Data Protection Plus](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/data-protection-plus)

---

Weni by VTEX

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/updates/release-notes)

Guides

[VTEX Platform Overview](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/vtex-platform-overview)

---

[API usage](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/api-usage)

---

[Getting started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/getting-started)

---

Integration Guides

---

[Catalog](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/catalog-integration)

---

[Checkout](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/checkout-api-overview)

---

[Master Data](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/master-data)

---

Payments

[Configuration Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/payments-configuration-guides)

[Setting up the type of interest rate](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/setting-up-the-type-of-interest-rate)

[Setting up Merchant ID in Apple Pay](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/setting-up-merchant-id-in-apple-pay)

[Cardholder document configuration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/cardholder-document-configuration)

[Implementing a pre-analysis anti-fraud flow for debit card transactions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/implementing-a-pre-analysis-antifraud-flow-for-debit-card-transactions)

[Metadata information in payment transactions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/metadata-information-in-payment-transactions)

---

Orders

---

Logistics

---

B2B Suite

---

VTEX Sales App

---

UI Customization

---

Message Center

---

Pricing

---

Promotions

---

Infrastructure

---

Search

---

Storefront Permissions

---

[VTEX Activity Flow](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/activity-flow)

---

[VTEX Ads](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/vtex-ads)

---

VTEX Session

---

VTEX Shield

---

[Data Protection Plus](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/data-protection-plus)

---

Weni by VTEX

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides)

Payments

[Configuration Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/payments-configuration-guides)

[Cardholder document configuration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/cardholder-document-configuration)

Cardholder document configuration

When a customer decides to use a credit or debit card as a payment method for their purchase, in addition to the card data (number, name, expiration date, and CVV code), on some occasions, an identification document from the cardholder may also be requested (example: CPF, Social Security Number). Some payment providers use this information to authorize the transaction and anti-fraud providers to perform fraud analysis.

However, in some countries, there are anti-fraud providers that do not require this type of additional document, and local legislation does not encourage the use of this information. Likewise, some people do not have a personal identification document that can be used to prove that they are the owners of the card used in the purchase.

To allow each anti-fraud provider and merchant to have the autonomy to decide whether or not to request this document, VTEX provides the option to configure the cardholder's document field.

> If the anti-fraud provider wants to keep the use of the cardholder document as "mandatory", it is not necessary to perform any of the procedures described in this article.

The procedures below demonstrate how to configure anti-fraud providers via PPP.

## Configuring cardholder document field - Anti-fraud Provider (PPP)

To configure the cardholder document field, follow the steps below:

1. In the anti-fraud provider manifest, add the `cardholderDocument` field with one of the following values:
   * `"required"`: a cardholder document is required for the purpose of fraud analysis. The field must be displayed at checkout and on [my cards](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/como-funciona-a-minha-conta--2BQ3GiqhqGJTXsWVuio3Xh%23credit-cards).
   * `"optional"`: a cardholder document can be used to complete the fraud analysis but is not required. The merchant must configure if they want to display the field at checkout and on [my cards](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/como-funciona-a-minha-conta--2BQ3GiqhqGJTXsWVuio3Xh%23credit-cards). Learn more at [Cardholder Document Configuration](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/antifraud-provider--4aZtmdpgFikcsQomWyqAOq%23cardholder-document-configuration).
   * `"unused"`: a cardholder document is not required to perform fraud analysis. The field will not be displayed at checkout nor on [my cards](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/como-funciona-a-minha-conta--2BQ3GiqhqGJTXsWVuio3Xh%23credit-cards).

Anti-Fraud Provider Manifest example:

![{"base64":"  ","img":{"width":857,"height":227,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":13577,"url":"https://raw.githubusercontent.com/vtexdocs/dev-portal-content/main/docs/guides/Payments/payments-configuration-guides/cardholder-document-configuration-0.png"}}](https://read.calvincode.net/reader?url=https://raw.githubusercontent.com/vtexdocs/dev-portal-content/main/docs/guides/Payments/payments-configuration-guides/cardholder-document-configuration-0.png)

1. Access [VTEX Support](https://read.calvincode.net/reader?url=https://help.vtex.com/en/support) to open a ticket, and request that the connector on VTEX be updated.

> If the anti-fraud provider wants to keep the use of the cardholder document "mandatory", it is not necessary to add the field `cardholderDocument`.

Contributors

3

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F87548049%3Fv%3D4%26w=64%26q=75)](https://github.com/ricardoaerobr)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F7108339%3Fv%3D4%26w=64%26q=75)](https://github.com/brunoamui)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/Payments/payments-configuration-guides/cardholder-document-configuration.md)

[Setting up Merchant ID in Apple Pay« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration//docs/guides/setting-up-merchant-id-in-apple-pay)[Implementing a pre-analysis anti-fraud flow for debit card transactionsNext »](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration//docs/guides/implementing-a-pre-analysis-antifraud-flow-for-debit-card-transactions)

Contributors

3

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F87548049%3Fv%3D4%26w=64%26q=75)](https://github.com/ricardoaerobr)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F7108339%3Fv%3D4%26w=64%26q=75)](https://github.com/brunoamui)

ON THIS PAGE

[Configuring cardholder document field - Anti-fraud Provider (PPP)](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/cardholder-document-configuration%23configuring-cardholder-document-field-anti-fraud-provider-ppp)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/Payments/payments-configuration-guides/cardholder-document-configuration.md)

Copy page

On this page

ON THIS PAGE

[Configuring cardholder document field - Anti-fraud Provider (PPP)](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/cardholder-document-configuration/docs/guides/cardholder-document-configuration%23configuring-cardholder-document-field-anti-fraud-provider-ppp)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)