openapi: 3.0.0
info:
title: VTex Anti-fraud Provider Account Product API
description: ">ℹ️ Onboarding guide\r\n>\r\n> Check the new [Payments onboarding guide](https://developers.vtex.com/docs/guides/payments-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Payments and is organized by focusing on the developer's journey.\r\n\r\nThe Anti-fraud Provider Protocol is a set of definitions to help you integrate your anti-fraud service API into VTEX platform.\r\n\r\nTo achieve this, you need to implement a web API (REST) following the specifications described in this documentation.\r\n\r\n>⚠️ You can also access our [template on GitHub](https://github.com/vtex-apps/antifraud-provider-example) to help you quickly develop your anti-fraud connector using the Anti-fraud Provider Protocol and VTEX IO.\r\n\r\nTo learn more about the Anti-fraud Provider Protocol, check our [developer guide](https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works).\r\n\r\n## Anti-fraud Provider API Index\r\n\r\n### Anti-fraud Flow\r\n\r\n- `POST` [Send Anti-fraud Pre-Analysis Data (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/pre-analysis)\r\n- `POST` [Send Anti-fraud Data](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/transactions)\r\n- `PUT` [Update Anti-fraud Transactions (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#put-/transactions/-transactionId-)\r\n- `GET` [List Anti-fraud Provider Manifest](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/manifest)\r\n- `GET` [Get Anti-fraud Status](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/transactions/-transactions.id-)\r\n- `DELETE` [Stop Anti-fraud Analysis (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#delete-/transactions/-transactions.Id-)\r\n\r\n### OAuth Flow\r\n\r\n1. `POST` [Retrieve Token](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/authorization/token)\r\n2. `GET` [Redirect](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/redirect)\r\n3. `GET` [Return to VTEX](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/authorizationCode)\r\n4. `GET` [Get Credentials](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/authorization/credentials)"
version: '1.0'
servers:
- url: https://{providerApiEndpoint}
description: Anti-fraud provider endpoint URL.
variables:
providerApiEndpoint:
description: Anti-fraud provider endpoint URL.
default: '{providerApiEndpoint}'
tags:
- name: Product
paths:
/api/catalog-seller-portal/products/{productId}:
get:
tags:
- Product
summary: VTex Get Product by ID
description: " >\U0001F4D8 This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Retrieves general information about a product by its ID. The response also has information about the product's SKUs.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Read** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: GetProduct
parameters:
- $ref: '#/components/parameters/Content-Type'
- $ref: '#/components/parameters/Accept'
- name: productId
in: path
description: Product unique identifier number.
required: true
schema:
type: string
example: '189371'
responses:
'200':
description: OK
content:
application/json:
example:
id: '189371'
status: active
name: VTEX 10 Shirt
brandId: '1'
description: Description data for product.
brandName: AOC
categoryIds:
- '732'
categoryNames:
- /sandboxintegracao/Acessórios/
specs:
- name: Color
values:
- Black
- White
- name: Size
values:
- S
- M
- L
attributes:
- name: Fabric
value: Cotton
- name: Gender
value: Feminine
slug: /vtex-shirt
images:
- id: vtex_logo.jpg
url: https://vtxleo7778.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg
alt: VTEX
skus:
- id: '182907'
externalId: '1909621862'
manufacturerCode: '1234567'
isActive: true
weight: 12
dimensions:
width: 1.5
height: 2.1
length: 1.6
RealWeight: 300
RealDimensions:
width: 1.5
height: 2.1
length: 1.6
specs:
- name: Color
value: Black
- name: Size
value: S
images:
- vtex_logo.jpg
- id: '182908'
externalId: '1909621862'
manufacturerCode: '1234568'
isActive: true
weight: 300
dimensions:
width: 1.5
height: 2.1
length: 1.6
specs:
- name: Color
value: White
- name: Size
value: L
images:
- vtex_logo.jpg
transportModal: '123'
taxCode: '100'
origin: vtxleo7778
createdAt: '2022-10-31T16:28:25.578067Z'
updatedAt: '2022-10-31T17:09:12.639088Z'
schema:
type: object
required:
- status
- name
- brandId
- brandName
- categoryIds
- categoryNames
- specs
- attributes
- slug
- images
- skus
- origin
- createdAt
- updatedAt
properties:
id:
type: string
description: Product's unique identifier number.
externalId:
type: string
description: Product reference unique identifier number in the store.
status:
type: string
description: Status of the product. Its values can be `active` or `inactive`.
name:
type: string
description: Product name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.
brandId:
type: string
description: Product's brand unique identifier number.
description:
type: string
description: Description data for product.
brandName:
type: string
description: Name of the brand associated with the product.
categoryIds:
type: array
description: Product's categories unique identifier numbers. It can have multiples IDs for each category and subcategories.
items:
type: string
description: Product's category unique identifier number.
categoryNames:
type: array
description: Names of the product's categories, displayed in a path format.
items:
type: string
description: Name of the product's category.
specs:
type: array
description: Specifications that will differentiate the possible product SKUs.
items:
type: object
description: SKU specifications.
required:
- name
- values
properties:
name:
type: string
description: Specification name.
values:
type: array
description: Specification values.
items:
type: string
description: Specification value.
attributes:
type: array
description: Attributes of the product. Attributes are additional properties used to create site browsing filters.
items:
type: object
description: Product attribute.
required:
- name
- value
properties:
name:
type: string
description: Attribute name.
value:
type: string
description: Attribute value.
slug:
type: string
description: Reference of the product in the URL of the store.
images:
type: array
description: Information of the images of the product.
items:
type: object
description: Information of the images of the product.
required:
- id
- url
properties:
id:
type: string
description: Image ID.
url:
type: string
description: 'Image URL, which must be in the following format: `https://{accountName}.vtexassets.com/assets/{path}`, saved using the [Catalog Images app](https://developers.vtex.com/vtex-developer-docs/docs/vtex-catalog-images).'
alt:
type: string
description: Image alternative description.
skus:
type: array
description: SKUs of the product.
items:
type: object
description: Informations about an SKU.
required:
- id
- isActive
- weight
- dimensions
- specs
- images
properties:
id:
type: string
description: SKU unique identifier number.
externalId:
type: string
description: Unique reference code created to improve the store's organization.
ean:
type: string
description: Unique SKU identification code (barcode), composed of up to 13 numeric characters.
manufacturerCode:
type: string
description: SKU reference code in the store.
isActive:
type: boolean
description: If the SKU is active (`true`) or inactive (`false`).
weight:
type: integer
description: SKU weight. It can be lighter than 1000 g.
dimensions:
type: object
description: SKU dimensions.
required:
- width
- height
- length
properties:
width:
type: number
description: SKU width.
height:
type: number
description: SKU height.
length:
type: number
description: SKU length.
RealWeight:
type: number
description: The product's real weight.
RealDimensions:
type: object
description: The product's real dimensions.
required:
- width
- height
- length
properties:
width:
type: number
description: The product's real width.
height:
type: number
description: The product's real height.
length:
type: number
description: The product's real length.
specs:
type: array
description: SKU specifications. This field is mandatory, but nullable if there is only one SKU.
nullable: true
items:
type: object
description: SKU specification.
required:
- name
- value
properties:
name:
type: string
description: SKU's specification name.
value:
type: string
description: SKU's specification values.
images:
type: array
description: SKU's images IDs.
items:
description: SKU image ID.
type: string
transportModal:
type: string
description: Transport modal of the product.
nullable: true
taxCode:
type: string
description: Product tax code.
nullable: true
origin:
type: string
description: Origin account of the product. It is not possible to alter products where the origin is `marketplace`.
createdAt:
type: string
description: Date when the product was created.
updatedAt:
type: string
description: Last date when the product was updated.
put:
tags:
- Product
summary: VTex Update Product
description: " >\U0001F4D8 This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Updates an existing product and its SKUs.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Write** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: PutProduct
parameters:
- $ref: '#/components/parameters/Content-Type'
- $ref: '#/components/parameters/Accept'
- name: productId
in: path
description: Product unique identifier number.
required: true
schema:
type: string
example: '189371'
requestBody:
content:
application/json:
schema:
type: object
required:
- status
- name
- brandId
- categoryIds
- specs
- attributes
- slug
- images
- skus
- origin
properties:
id:
type: string
description: Product's unique identifier number.
example: '189371'
externalId:
type: string
description: Product reference unique identifier number in the store.
example: sandboxintegracao-310117347
status:
type: string
description: Status of the product. Its values can be `active` or `inactive`.
example: active
name:
type: string
description: Product name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.
example: Camiseta VTEX 10
brandId:
type: string
description: Product's brand unique identifier number.
example: '1'
description:
type: string
description: New description data for SKU/product.
example: VTEX Shirt Black Size S Long Sleeze.
categoryIds:
type: array
description: Product's categories unique identifier numbers. It can have multiples IDs for each category and subcategories.
example:
- '732'
- '412'
items:
type: string
description: Product's category unique identifier number.
example: '732'
specs:
type: array
description: Specifications that will differentiate the possible product SKUs.
example:
- name: Color
values:
- Black
- White
- name: Size
values:
- S
- M
- L
items:
type: object
description: SKU specification.
required:
- name
- values
properties:
name:
type: string
description: Specification name.
example: Color
values:
type: array
description: Specification values.
example:
- Black
- White
items:
type: string
description: Specification value.
attributes:
type: array
description: Attributes of the product. Attributes are additional properties used to create site browsing filters.
example:
- name: Fabric
value: Cotton
- name: Gender
value: Feminine
items:
type: object
description: Product attribute.
required:
- name
- value
properties:
name:
type: string
description: Attribute name.
example: Fabric
value:
type: string
description: Attribute value.
example: Cotton
slug:
type: string
description: Reference of the product in the URL of the store.
example: /vtex-shirt
transportModal:
type: string
description: Transport modal of the product.
example: '1'
nullable: true
taxCode:
type: string
description: Product tax code.
example: '123'
nullable: true
images:
type: array
description: Information of the images of the product.
example:
- id: vtex_logo.jpg
url: https://vtxleo7778.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg
alt: imagem
items:
type: object
description: Image information.
required:
- id
- url
properties:
id:
type: string
description: Image ID.
example: vtex_logo.jpg
url:
type: string
description: 'Image URL, which must be in the following format: `https://{accountName}.vtexassets.com/assets/{path}`, saved using the [Catalog Images app](https://developers.vtex.com/vtex-developer-docs/docs/vtex-catalog-images).'
example: https://mystore.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg
alt:
type: string
description: Image alternative description.
example: imagem
skus:
type: array
description: SKUs of the product.
example:
- id: '182907'
name: VTEX Shirt Black Size S
externalId: '1909621862'
ean: 978-1909621862
manufacturerCode: '1234567'
isActive: true
weight: 12
dimensions:
width: 1.5
height: 2.1
length: 1.6
RealWeight: 1.6
RealDimensions:
width: 1.5
height: 2.1
length: 1.6
specs:
- name: Color
value: Black
- name: Size
value: S
images:
- vtex_logo.jpg
- id: '182908'
name: VTEX Shirt White Size L
externalId: '1909621862'
ean: 978-1909621862
manufacturerCode: '1234568'
isActive: true
weight: 300
dimensions:
width: 1.5
height: 2.1
length: 1.6
specs:
- name: Color
value: White
- name: Size
value: L
images:
- vtex_logo.jpg
items:
type: object
required:
- isActive
- weight
- dimensions
- specs
- images
properties:
id:
type: string
description: SKU unique identifier number. Do not include this field when adding a new SKU, only when editing existing SKUs.
example: '182907'
name:
type: string
description: SKU name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.
example: VTEX Shirt Black Size S
externalId:
type: string
description: Unique reference code created to improve the store's organization.
example: '1909621862'
description:
type: string
description: New description data for SKU or product.
ean:
type: string
description: Unique SKU identification code (barcode), composed of up to 13 numeric characters.
example: 978-1909621862
manufacturerCode:
type: string
description: SKU reference code in the store.
example: '1234567'
isActive:
type: boolean
description: Defines if the SKU is active (`true`) or inactive (`false`).
example: false
weight:
type: integer
description: SKU weight. It can be lighter than 1000 g.
example: 300
dimensions:
type: object
description: SKU dimensions.
example:
width: 1.5
height: 2.1
length: 1.6
required:
- width
- height
- length
properties:
width:
type: number
description: SKU width.
example: 1.5
height:
type: number
description: SKU height.
example: 2.1
length:
type: number
description: SKU length.
example: 1.6
RealWeight:
type: number
description: The product's real weight.
example: 1.6
RealDimensions:
type: object
description: The product's real dimensions.
required:
- width
- height
- length
properties:
width:
type: number
description: The product's real width.
example: 1.5
height:
type: number
description: The product's real height.
example: 2.1
length:
type: number
description: The product's real length.
example: 1.6
specs:
type: array
description: SKU specifications. This field is mandatory, but nullable if there is only one SKU.
nullable: true
example:
- name: Color
value: Black
- name: Size
value: S
items:
type: object
required:
- name
- value
properties:
name:
type: string
description: SKU's specification name.
example: Color
value:
type: string
description: SKU's specification values.
example: Black
images:
type: array
description: Array of SKU's images IDs.
items:
type: string
description: SKU image ID.
example:
- vtex_logo.jpg
origin:
type: string
description: Origin account of the product. It is not possible to alter products where the origin is `marketplace`.
example: vtxleo7778
responses:
'204':
description: No Content
/api/catalog-seller-portal/products/{productId}/description:
get:
tags:
- Product
summary: VTex Get Product Description by Product ID
description: " >\U0001F4D8 This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center.](https://support.vtex.com/hc/en-us/requests) \r\n\r\n Retrieves the description of a product given a product ID.\r\n\r\n ## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Read** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: GetProductDescription
parameters:
- $ref: '#/components/parameters/Content-Type'
- $ref: '#/components/parameters/Accept'
- name: productId
in: path
description: Product unique identifier number.
required: true
schema:
type: string
example: '189371'
responses:
'200':
description: OK
content:
application/json:
example:
productId: '61'
description: Beautifully handmade laptop case/sleeve made in the Nepal Himalaya. It can be slipped inside your backpack or carried alone with space for all your work bits and pieces!
createdAt: '2022-10-10T19:18:45.612317Z'
updatedAt: '2022-10-11T18:12:58.825544Z'
schema:
type: object
required:
- productId
- createdAt
- updatedAt
properties:
productId:
type: string
description: Product's unique identifier number.
createdAt:
type: string
description: Date when the brand was created.
updatedAt:
type: string
description: Last date when the brand was updated.
put:
tags:
- Product
summary: VTex Update Product Description by Product ID
description: " >\U0001F4D8 This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Updates the description of a product given a product ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Write** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: PutProductDescription
parameters:
- $ref: '#/components/parameters/Content-Type'
- $ref: '#/components/parameters/Accept'
- name: productId
in: path
description: Product unique identifier number.
required: true
schema:
type: string
example: '71'
requestBody:
content:
application/json:
schema:
type: object
required:
- productId
- description
properties:
productId:
type: string
description: Product's unique identifier number.
example: '71'
description:
type: string
description: Product description.
example: White shirt.
responses:
'204':
description: No Content
/api/catalog-seller-portal/products/{param}:
get:
tags:
- Product
summary: VTex Get Product by external ID, SKU ID, SKU external ID or slug
description: " >\U0001F4D8 This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Retrieves general information about a product by its external ID, SKU ID, SKU external ID or product slug. The response also has information about the product's SKUs.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Read** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: GetProductQuery
parameters:
- $ref: '#/components/parameters/Content-Type'
- $ref: '#/components/parameters/Accept'
- name: param
in: path
description: 'This part of the path must follow this format: `{param}={value}`. Replace `{param}` with the name of the parameter used to fetch a product, which can be one of the following: `external-id` (product reference unique identifier number in the store), `sku-id` (SKU unique identifier number), `sku-external-id` (SKU reference unique identifier number in the store) or `slug` (reference of the product in the URL of the store). Replace `{value}` with the value of the selected param. Make sure there is a `=` between them.'
required: true
schema:
type: string
example: external-id=189371
responses:
'200':
description: OK
content:
application/json:
example:
id: '189371'
status: active
name: VTEX 10 Shirt
brandId: '1'
brandName: AOC
categoryIds:
- '732'
categoryNames:
- /Men/Acessories/
specs:
- name: Color
values:
- Black
- White
- name: Size
values:
- S
- M
- L
attributes:
- name: Fabric
value: Cotton
- name: Gender
value: Feminine
slug: /vtex-shirt
images:
- id: vtex_logo.jpg
url: https://vtxleo7778.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg
alt: VTEX
skus:
- id: '182907'
name: VTEX Shirt Black Size S
externalId: '1909621862'
manufacturerCode: '1234567'
isActive: true
weight: 12
dimensions:
width: 1.5
height: 2.1
length: 1.6
RealWeight: 1.6
RealDimensions:
width: 1.5
height: 2.1
length: 1.6
specs:
- name: Color
value: Black
- name: Size
value: S
images:
- vtex_logo.jpg
- id: '182908'
name: VTEX Shirt White Size L
externalId: '1909621862'
manufacturerCode: '1234568'
isActive: true
weight: 12
dimensions:
width: 1.5
height: 2.1
length: 1.6
specs:
- name: Color
value: White
- name: Size
value: L
images:
- vtex_logo.jpg
transportModal: '123'
taxCode: '100'
origin: vtxleo7778
createdAt: '2022-10-31T16:28:25.578067Z'
updatedAt: '2022-10-31T16:28:25.578067Z'
schema:
type: object
required:
- status
- name
- brandId
- brandName
- categoryIds
- categoryNames
- specs
- attributes
- slug
- images
- skus
- origin
- createdAt
- updatedAt
properties:
id:
type: string
description: Product's unique identifier number.
externalId:
type: string
description: Product reference unique identifier number in the store.
description:
type: string
description: Description data for product.
status:
type: string
description: Status of the product. Its values can be `active` or `inactive`.
name:
type: string
description: Product name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.
brandId:
type: string
description: Product's brand unique identifier number.
brandName:
type: string
description: Name of the brand associated with the product.
categoryIds:
type: array
description: Product's categories unique identifier numbers. It can have multiples IDs for each category and subcategories.
items:
type: string
description: Product's category unique identifier number.
categoryNames:
type: array
description: Names of the product's categories, displayed in a path format.
items:
type: string
description: Name of the product's category.
specs:
type: array
description: Specifications that will differentiate the possible product SKUs.
items:
type: object
description: SKU specification.
required:
- name
- values
properties:
name:
type: string
description: Specification name.
values:
type: array
description: Specification values.
items:
type: string
description: Specification value.
attributes:
type: array
description: Attributes of the product. Attributes are additional properties used to create site browsing filters.
items:
type: object
description: Product attribute.
required:
- name
- value
properties:
name:
type: string
description: Attribute name.
value:
type: string
description: Attribute value.
slug:
type: string
description: Reference of the product in the URL of the store.
images:
type: array
description: Information of the images of the product.
items:
type: object
description: Image informations.
required:
- id
- url
properties:
id:
type: string
description: Image ID.
url:
type: string
description: 'Image URL, which must be in the following format: `https://{accountName}.vtexassets.com/assets/{path}`, saved using the [Catalog Images app](https://developers.vtex.com/vtex-developer-docs/docs/vtex-catalog-images).'
example: https://mystore.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg
alt:
type: string
description: Image alternative description.
skus:
type: array
description: SKUs of the product.
items:
type: object
description: SKU information.
required:
- id
- isActive
- weight
- dimensions
- specs
- images
properties:
id:
type: string
description: SKU unique identifier number.
externalId:
type: string
description: Unique reference code created to improve the store's organization.
description:
type: string
description: Description data for product.
ean:
type: string
description: Unique SKU identification code (barcode), composed of up to 13 numeric characters.
manufacturerCode:
type: string
description: SKU reference code in the store.
isActive:
type: boolean
description: If the SKU is active (`true`) or inactive (`false`).
weight:
type: integer
description: SKU weight. It can be lighter than 1000 g.
dimensions:
type: object
description: SKU dimensions.
required:
- width
- height
- length
properties:
width:
type: number
description: SKU width.
height:
type: number
description: SKU height.
length:
type: number
description: SKU length.
RealWeight:
type: number
description: The product's real weight.
RealDimensions:
type: object
description: The product's real dimensions.
required:
- width
- height
- length
properties:
width:
type: number
description: The product's real width.
height:
type: number
description: The product's real height.
length:
type: number
description: The product's real length.
specs:
type: array
description: SKU specifications. This field is mandatory, but nullable if there is only one SKU.
nullable: true
items:
type: object
description: SKU specification.
required:
- name
- value
properties:
name:
type: string
description: SKU's specification name.
value:
type: string
description: SKU's specification values.
images:
type: array
description: SKU's images IDs.
items:
type: string
description: SKU image ID.
transportModal:
type: string
description: Transport modal of the product.
taxCode:
type: string
description: Product tax code.
origin:
type: string
description: Origin account of the product. It is not possible to alter products where the origin is `marketplace`.
createdAt:
type: string
description: Date when the product was created.
updatedAt:
type: string
description: Last date when the product was updated.
/api/catalog-seller-portal/products:
post:
tags:
- Product
summary: VTex Create Product
description: " >\U0001F4D8 This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Creates a new product and its SKUs.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Write** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: PostProduct
parameters:
- $ref: '#/components/parameters/Content-Type'
- $ref: '#/components/parameters/Accept'
requestBody:
content:
application/json:
schema:
type: object
required:
- status
- name
- brandId
- categoryIds
- specs
- attributes
- slug
- images
- skus
- origin
properties:
externalId:
type: string
description: Product reference unique identifier number in the store.
example: sandboxintegracao-310117347
status:
type: string
description: Status of the product. Its values can be `active` or `inactive`.
example: active
name:
type: string
description: Product name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.
example: VTEX Shirt
brandId:
type: string
description: Product's brand unique identifier number.
example: '1'
description:
type: string
description: Product's data description.
example: VTEX Shirt Black Size S.
categoryIds:
type: array
description: Product's categories unique identifier numbers. It can have multiples IDs for each category and subcategories.
example:
- '732'
- '421'
items:
type: string
description: Product's Category unique idenfier number.
example: '732'
specs:
type: array
description: Specifications that will differentiate the possible product SKUs.
example:
- name: Color
values:
- Black
- White
- name: Size
values:
- S
- M
- L
items:
type: object
description: Product specification.
required:
- name
- values
properties:
name:
type: string
description: Specification name.
example: Color
values:
type: array
description: Specification values.
example:
- Black
- White
items:
type: string
description: Specification value.
example: Black
attributes:
type: array
description: Attributes of the product. Attributes are additional properties used to create site browsing filters.
example:
- name: Fabric
value: Cotton
- name: Gender
value: Feminine
items:
type: object
description: Product attribute.
required:
- name
- value
properties:
name:
type: string
description: Attribute name.
example: Fabric
value:
type: string
description: Attribute value.
example: Cotton
slug:
type: string
description: Reference of the product in the URL of the store.
example: /vtex-shirt
images:
type: array
description: Information of the images of the product.
example:
- id: vtex_logo.jpg
url: https://vtxleo7778.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg
alt: imagem
items:
type: object
description: Image information.
required:
- id
- url
properties:
id:
type: string
description: Image ID.
example: vtex_logo.jpg
url:
type: string
description: 'Image URL, which must be in the following format: `https://{accountName}.vtexassets.com/assets/{path}`, saved using the [Catalog Images app](https://developers.vtex.com/vtex-developer-docs/docs/vtex-catalog-images).'
example: https://mystore.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg
alt:
type: string
description: Image alternative description.
example: imagem
skus:
type: array
description: SKUs of the product.
example:
- name: VTEX Shirt Black Size S
externalId: '1909621862'
ean: 978-1909621862
manufacturerCode: '1234567'
isActive: true
weight: 12
dimensions:
width: 1.5
height: 2.1
length: 1.6
RealWeight: 1.6
RealDimensions:
width: 1.5
height: 2.1
length: 1.6
specs:
- name: Color
value: Black
- name: Size
value: S
images:
- https://mystore.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg
- name: VTEX Shirt White Size L
externalId: '1909621862'
ean: 978-1909621862
manufacturerCode: '1234568'
isActive: true
weight: 300
dimensions:
width: 1.5
height: 2.1
length: 1.6
specs:
- name: Color
value: White
- name: Size
value: L
images:
- vtex_logo.jpg
items:
type: object
description: SKU information.
required:
- name
- isActive
- weight
- dimensions
- specs
- images
properties:
name:
type: string
description: SKU name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.
example: VTEX Shirt Black Size S.
externalId:
type: string
description: Unique reference code created to improve the store's organization.
example: '1909621862'
description:
type: string
description: SKU description.
example: VTEX Shirt Black Size S Long Sleeze.
ean:
type: string
description: Unique SKU identification code (barcode), composed of up to 13 numeric characters.
example: 978-1909621862
manufacturerCode:
type: string
description: SKU reference code in the store.
example: '1234567'
isActive:
type: boolean
description: If the SKU is active (`true`) or inactive (`false`).
example: false
weight:
type: integer
description: SKU weight. It can be lighter than 1000 g.
example: 300
dimensions:
type: object
description: SKU dimensions.
example:
width: 1.5
height: 2.1
length: 1.6
required:
- width
- height
- length
properties:
width:
type: number
description: SKU width.
example: 1.5
height:
type: number
description: SKU height.
example: 2.1
length:
type: number
description: SKU length.
example: 1.6
RealWeight:
type: number
description: The product's real weight.
example: 1.6
RealDimensions:
type: object
description: The product's real dimensions.
required:
- width
- height
- length
properties:
width:
type: number
description: The product's real width.
example: 1.5
height:
type: number
description: The product's real height.
example: 2.1
length:
type: number
description: The product's real length.
example: 1.6
specs:
type: array
description: SKU specifications. This field is mandatory, but nullable if there is only one SKU.
nullable: true
example:
- name: Color
value: Black
- name: Size
value: S
items:
type: object
description: SKU specification.
required:
- name
- value
properties:
name:
type: string
description: SKU's specification name.
example: Color
value:
type: string
description: SKU's specification values.
example: Black
images:
type: array
description: SKU's images IDs.
example:
- vtex_logo.jpg
items:
type: string
description: SKU's image ID.
origin:
type: string
description: Origin account of the product. It is not possible to alter products where the origin is `marketplace`.
example: vtxleo7778
transportModal:
type: string
description: Transport modal of the product.
example: '1'
nullable: true
taxCode:
type: string
description: Product tax code.
example: '123'
nullable: true
responses:
'200':
description: OK
content:
application/json:
example:
id: '189371'
status: active
name: VTEX 10 Shirt
brandId: '1'
brandName: AOC
categoryIds:
- '732'
categoryNames:
- /sandboxintegracao/Acessórios/
specs:
- name: Color
values:
- Black
- White
- name: Size
values:
- S
- M
- L
attributes:
- name: Fabric
value: Cotton
- name: Gender
value: Feminine
slug: /vtex-shirt
transportModal: null
taxCode: null
images:
- id: vtex_logo.jpg
url: https://vtxleo7778.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg
alt: VTEX
skus:
- id: '182907'
externalId: '1909621862'
manufacturerCode: '1234567'
isActive: true
weight: 12
dimensions:
width: 1.5
height: 2.1
length: 1.6
RealWeight: 1.6
RealDimensions:
width: 1.5
height: 2.1
length: 1.6
specs:
- name: Color
value: Black
- name: Size
value: S
images:
- vtex_logo.jpg
- id: '182908'
externalId: '1909621862'
manufacturerCode: '1234568'
isActive: true
weight: 300
dimensions:
width: 1.5
height: 2.1
length: 1.6
specs:
- name: Color
value: White
- name: Size
value: L
images:
- vtex_logo.jpg
origin: vtxleo7778
createdAt: '2021-01-18T14:41:45.696488+00:00'
updatedAt: '2021-01-18T14:41:45.696488+00:00'
schema:
type: object
required:
- status
- name
- brandId
- brandName
- categoryIds
- categoryNames
- specs
- attributes
- slug
- images
- skus
- origin
- createdAt
- updatedAt
properties:
id:
type: string
description: Product's unique identifier number.
externalId:
type: string
description: Product reference unique identifier number in the store.
status:
type: string
description: Status of the product. Its values can be `active` or `inactive`.
name:
type: string
description: Product name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.
brandId:
type: string
description: Product's brand unique identifier number.
brandName:
type: string
description: Name of the brand associated with the product.
description:
type: string
description: Description data for product.
categoryIds:
type: array
description: Product's categories unique identifier numbers. It can have multiples IDs for each category and subcategories.
items:
type: string
description: Product's category unique identifier number.
categoryNames:
type: array
description: Names of the product's categories, displayed in a path format.
items:
type: string
description: Name of the product's category.
specs:
type: array
description: Specifications that will differentiate the possible product SKUs.
items:
type: object
description: Product specification.
required:
- name
- values
properties:
name:
type: string
description: Specification name.
values:
type: array
description: Specification values.
items:
type: string
description: Specification value.
attributes:
type: array
description: Attributes of the product. Attributes are additional properties used to create site browsing filters.
items:
required:
- name
- value
properties:
name:
type: string
description: Attribute name.
value:
type: string
description: Attribute value.
slug:
type: string
description: Reference of the product in the URL of the store.
images:
type: array
description: Information of the images of the product.
items:
type: object
description: Image information.
required:
- id
- url
properties:
id:
type: string
description: Image ID.
url:
type: string
description: 'Image URL, which must be in the following format: `https://{accountName}.vtexassets.com/assets/{path}`, saved using the [Catalog Images app](https://developers.vtex.com/vtex-developer-docs/docs/vtex-catalog-images).'
alt:
type: string
description: Image alternative description.
skus:
type: array
description: SKUs of the product.
items:
type: object
description: SKU information.
required:
- id
- isActive
- weight
- dimensions
- specs
- images
properties:
id:
type: string
description: SKU unique identifier number.
name:
type: string
description: SKU name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.
externalId:
type: string
description: Unique reference code created to improve the store's organization.
ean:
type: string
description: Unique SKU identification code (barcode), composed of up to 13 numeric characters.
manufacturerCode:
type: string
description: SKU reference code in the store.
isActive:
type: boolean
description: If the SKU is active (`true`) or inactive (`false`).
weight:
type: integer
description: SKU weight. It can be lighter than 1000 g.
dimensions:
type: object
description: SKU dimensions.
required:
- width
- height
- length
properties:
width:
type: number
description: SKU width.
height:
type: number
description: SKU height.
length:
type: number
description: SKU length.
RealWeight:
type: number
description: The product's real weight.
example: 1.6
RealDimensions:
type: object
description: The product's real dimensions.
required:
- width
- height
- length
properties:
width:
type: number
description: The product's real width.
height:
type: number
description: The product's real height.
length:
type: number
description: The product's real length.
specs:
type: array
description: SKU specifications. This field is mandatory, but nullable if there is only one SKU.
nullable: true
items:
type: object
description: SKU specification.
required:
- name
- value
properties:
name:
type: string
description: SKU's specification name.
value:
type: string
description: SKU's specification values.
images:
type: array
description: SKU's images IDs.
items:
description: SKU image ID.
type: string
origin:
type: string
description: Origin account of the product. It is not possible to alter products where the origin is `marketplace`.
transportModal:
type: string
description: Transport modal of the product.
nullable: true
taxCode:
type: string
description: Product tax code.
nullable: true
createdAt:
type: string
description: Date when the product was created.
updatedAt:
type: string
description: Last date when the product was updated.
'204':
description: No Content
/api/catalog_system/pvt/products/GetProductAndSkuIds:
get:
tags:
- Product
summary: VTex Get product and SKU IDs
description: "Retrieves the IDs of products and SKUs. \r\n> \U0001F4D8 Onboarding guide \r\n>\r\n> Check the new [Catalog onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/catalog-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Catalog | Content | **Product management** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: ProductAndSkuIds
parameters:
- name: categoryId
in: query
description: ID of the category from which you need to retrieve products and SKUs.
required: false
style: form
explode: true
schema:
type: integer
format: int32
example: 1
- name: _from
in: query
description: Insert the ID that will start the request result.
required: false
style: form
explode: true
schema:
type: integer
format: int32
example: 1
- name: _to
in: query
description: Insert the ID that will end the request result.
required: false
style: form
explode: true
schema:
type: integer
format: int32
example: 10
- $ref: '#/components/parameters/Content-Type_2'
- $ref: '#/components/parameters/Accept_2'
responses:
'200':
description: OK
content:
application/json:
example:
data:
'3':
- 5
'8':
- 310118453
- 310118459
- 310118463
'2':
- 3
- 310118450
- 310118451
- 4
- 8
'9':
- 310118454
- 310118455
- 310118456
- 310118457
- 310118458
- 310118460
- 310118461
- 310118462
- 310118464
'12':
- 310118490
'6': []
'7':
- 310118452
'1':
- 1
- 123456
- 310118449
- 310118489
- 7
- 2
'5':
- 310118465
'4':
- 310118448
'10': []
'11': []
range:
total: 12
from: 1
to: 20
schema:
type: object
properties:
data:
type: object
description: Object composed of product IDs and SKU IDs, where the parent ID is from products and the children IDs are from SKUs.
properties:
Product ID:
type: array
description: Array with SKU IDs of a certain product.
items:
type: integer
description: Product SKU ID.
range:
type: object
description: Object with information about the product and SKUs list.
properties:
total:
type: integer
description: Total quantity of SKUs.
from:
type: integer
description: Initial product ID.
to:
type: integer
description: Final product ID.
/api/catalog/pvt/product/{productId}:
get:
tags:
- Product
summary: VTex Get product by ID
description: "Retrieves a specific product by its ID. The response body fields are exactly the inforamtion needed to create a new product. \r\n> \U0001F4D8 Onboarding guide \r\n>\r\n> Check the new [Catalog onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/catalog-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Catalog | Content | **Product and SKU Management** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: GetProductbyid
parameters:
- $ref: '#/components/parameters/Content-Type_2'
- $ref: '#/components/parameters/Accept_2'
- name: productId
in: path
description: Product's unique numerical identifier.
required: true
style: simple
schema:
type: string
example: '1'
responses:
'200':
description: OK
content:
application/json:
example:
Id: 42
Name: Zoom Stefan Janoski Canvas RM SB Varsity Red
DepartmentId: 2000089
CategoryId: 2000090
BrandId: 12121219
LinkId: stefan-janoski-canvas-varsity-red
RefId: sr_1_90
IsVisible: true
Description: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
DescriptionShort: The Nike Zoom Stefan Janoski is made with a premium leather.
ReleaseDate: '2020-01-01T00:00:00'
KeyWords: Zoom,Stefan,Janoski
Title: Zoom Stefan Janoski Canvas RM SB Varsity Re
IsActive: true
TaxCode: ''
MetaTagDescription: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
SupplierId: 1
ShowWithoutStock: true
AdWordsRemarketingCode: ''
LomadeeCampaignCode: ''
Score: 1
schema:
type: object
properties:
Id:
type: integer
description: Product's unique numerical identifier.
Name:
type: string
description: Product's name. Limited to 150 characters.
DepartmentId:
type: integer
description: Department ID according to the product's category.
CategoryId:
type: integer
description: Category ID associated with this product.
BrandId:
type: integer
description: Brand ID associated with this product.
LinkId:
type: string
description: Slug that will be used to build the product page URL. If it not informed, it will be generated according to the product's name replacing spaces and special characters by hyphens (`-`).
RefId:
type: string
description: Product Reference Code.
IsVisible:
type: boolean
description: Shows (`true`) or hides (`false`) the product in search result and product pages, but the product can still be added to the shopping cart. Usually applicable for gifts.
Description:
type: string
description: Product description.
DescriptionShort:
type: string
description: "Short product description. This information can be displayed on both the product page and the shelf, using the following controls:\r\n Store Framework: `$product.DescriptionShort`.\r\n Legacy CMS Portal: ``."
ReleaseDate:
type: string
description: Used to assist in the ordering of the search result of the site. Using the `O=OrderByReleaseDateDESC` query string, you can pull this value and show the display order by release date. This attribute is also used as a condition for dynamic collections.
KeyWords:
type: string
description: "Store Framework: Deprecated. \r\nLegacy CMS Portal: Keywords or synonyms related to the product, separated by comma (`,`). \"Television\", for example, can have a substitute word like \"TV\". This field is important to make your searches more comprehensive."
Title:
type: string
description: Product's Title tag. Limited to 150 characters. It is presented in the browser tab and corresponds to the title of the product page. This field is important for SEO.
IsActive:
type: boolean
description: Activate (`true`) or inactivate (`false`) product.
TaxCode:
type: string
description: Product tax code, used for tax calculation.
MetaTagDescription:
type: string
description: Brief description of the product for SEO. It is recommended not to exceed 150 characters.
SupplierId:
type: integer
description: Deprecated field.
deprecated: true
nullable: true
ShowWithoutStock:
type: boolean
description: If `true`, activates the [Notify Me](https://help.vtex.com/en/tutorial/setting-up-the-notify-me-option--2VqVifQuf6Co2KG048Yu6e) option when the product is out of stock.
AdWordsRemarketingCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
LomadeeCampaignCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
Score:
type: integer
description: Value used to set the priority on the search result page.
deprecated: false
put:
tags:
- Product
summary: VTex Update product
description: "Updates an existing product.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Catalog | Content | **Product and SKU Management** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
parameters:
- $ref: '#/components/parameters/Content-Type_2'
- $ref: '#/components/parameters/Accept_2'
- name: productId
in: path
required: true
description: Product's unique numerical identifier.
schema:
type: integer
example: 1
requestBody:
content:
application/json:
schema:
type: object
required:
- Name
- CategoryId
- BrandId
properties:
Name:
type: string
description: Product's name. Limited to 150 characters.
example: Zoom Stefan Janoski Canvas RM SB Varsity Red
DepartmentId:
type: integer
description: Department ID according to the product's category.
example: 2000089
CategoryId:
type: integer
description: Category ID associated with this product.
example: 2000090
BrandId:
type: integer
description: Brand ID associated with this product.
example: 12121219
LinkId:
type: string
description: Slug that will be used to build the product page URL. If it not informed, it will be generated according to the product's name replacing spaces and special characters by hyphens (`-`).
example: stefan-janoski-canvas-varsity-red
RefId:
type: string
description: Product Reference Code.
example: sr_1_90
IsVisible:
type: boolean
description: Shows (`true`) or hides (`false`) the product in search result and product pages, but the product can still be added to the shopping cart. Usually applicable for gifts.
example: true
Description:
type: string
description: Product description.
example: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
DescriptionShort:
type: string
description: "Short product description. This information can be displayed on both the product page and the shelf, using the following controls:\r\n Store Framework: `$product.DescriptionShort`.\r\n Legacy CMS Portal: ``."
example: The Nike Zoom Stefan Janoski is made with a premium leather.
ReleaseDate:
type: string
description: Used to assist in the ordering of the search result of the site. Using the `O=OrderByReleaseDateDESC` query string, you can pull this value and show the display order by release date. This attribute is also used as a condition for dynamic collections.
example: '2019-01-01T00:00:00'
KeyWords:
type: string
description: "Store Framework: Deprecated. \r\nLegacy CMS Portal: Keywords or synonyms related to the product, separated by comma (`,`). \"Television\", for example, can have a substitute word like \"TV\". This field is important to make your searches more comprehensive."
example: Zoom,Stefan,Janoski
Title:
type: string
description: Product's Title tag. Limited to 150 characters. It is presented in the browser tab and corresponds to the title of the product page. This field is important for SEO.
example: Zoom Stefan Janoski Canvas RM SB Varsity Red
IsActive:
type: boolean
description: Activate (`true`) or inactivate (`false`) product.
example: true
TaxCode:
type: string
description: Product tax code, used for tax calculation.
example: '12345'
MetaTagDescription:
type: string
description: Brief description of the product for SEO. It is recommended not to exceed 150 characters.
example: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
SupplierId:
type: integer
description: Deprecated field.
deprecated: true
nullable: true
example: null
ShowWithoutStock:
type: boolean
description: If `true`, activates the [Notify Me](https://help.vtex.com/en/tutorial/setting-up-the-notify-me-option--2VqVifQuf6Co2KG048Yu6e) option when the product is out of stock.
example: true
AdWordsRemarketingCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
nullable: true
example: null
LomadeeCampaignCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
nullable: true
example: null
Score:
type: integer
description: Value used to set the priority on the search result page.
example: 1
responses:
'200':
description: OK
content:
application/json:
example:
Id: 42
Name: Zoom Stefan Janoski Canvas RM SB Varsity Red
DepartmentId: 2000089
CategoryId: 2000090
BrandId: 12121219
LinkId: stefan-janoski-canvas-varsity-red
RefId: sr_1_90
IsVisible: true
Description: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
DescriptionShort: The Nike Zoom Stefan Janoski is made with a premium leather.
ReleaseDate: '2020-01-01T00:00:00'
KeyWords: Zoom,Stefan,Janoski
Title: Zoom Stefan Janoski Canvas RM SB Varsity Re
IsActive: true
TaxCode: ''
MetaTagDescription: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
SupplierId: 1
ShowWithoutStock: true
AdWordsRemarketingCode: ''
LomadeeCampaignCode: ''
Score: 1
schema:
type: object
properties:
Id:
type: integer
description: Product's unique numerical identifier.
Name:
type: string
description: Product's name. Limited to 150 characters.
DepartmentId:
type: integer
description: Department ID according to the product's category.
CategoryId:
type: integer
description: Category ID associated with this product.
BrandId:
type: integer
description: Brand ID associated with this product.
LinkId:
type: string
description: Slug that will be used to build the product page URL. If not informed, it will be generated according to the product's name replacing spaces and special characters by hyphens (`-`).
RefId:
type: string
description: Product reference code.
IsVisible:
type: boolean
description: Shows (`true`) or hides (`false`) the product in search result and product pages, but the product can still be added to the shopping cart. Usually applicable for gifts.
Description:
type: string
description: Product description.
DescriptionShort:
type: string
description: "Short product description. This information can be displayed on both the product page and the shelf, using the following controls:\r\n Store Framework: `$product.DescriptionShort`.\r\n Legacy CMS Portal: ``."
ReleaseDate:
type: string
description: Used to assist in the ordering of the search result of the site. Using the `O=OrderByReleaseDateDESC` query string, you can pull this value and show the display order by release date. This attribute is also used as a condition for dynamic collections.
KeyWords:
type: string
description: "Store Framework: Deprecated. \r\nLegacy CMS Portal: Keywords or synonyms related to the product, separated by comma (`,`). \"Television\", for example, can have a substitute word like \"TV\". This field is important to make your searches more comprehensive."
Title:
type: string
description: Product's Title tag. Limited to 150 characters. It is presented in the browser tab and corresponds to the title of the product page. This field is important for SEO.
IsActive:
type: boolean
description: Activate (`true`) or inactivate (`false`) product.
TaxCode:
type: string
description: Product tax code, used for tax calculation.
MetaTagDescription:
type: string
description: Brief description of the product for SEO. It's recommended that you don't exceed 150 characters.
SupplierId:
type: integer
description: Deprecated field.
deprecated: true
nullable: true
ShowWithoutStock:
type: boolean
description: If `true`, activates the [Notify Me](https://help.vtex.com/en/tutorial/setting-up-the-notify-me-option--2VqVifQuf6Co2KG048Yu6e) option when the product is out of stock.
AdWordsRemarketingCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
LomadeeCampaignCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
Score:
type: integer
description: Value used to set the priority on the search result page.
/api/catalog_system/pvt/products/productget/{productId}:
get:
tags:
- Product
summary: VTex Get product and its general context
description: "Retrieves a specific product's general information as name, description and the trade policies where it is included.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Catalog | Content | **Product Form** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: ProductandTradePolicy
parameters:
- $ref: '#/components/parameters/Content-Type_2'
- $ref: '#/components/parameters/Accept_2'
- name: productId
in: path
description: Product's unique numerical identifier.
required: true
style: simple
schema:
type: integer
example: 1
responses:
'200':
description: OK
content:
application/json:
example:
Id: 1
Name: Ração Royal Canin Feline Urinary
DepartmentId: 1
CategoryId: 10
BrandId: 2000000
LinkId: racao-royal-canin-feline-urinary
RefId: ''
IsVisible: true
Description: Descrição.
DescriptionShort: ''
ReleaseDate: '2020-01-06T00:00:00'
KeyWords: bbbbbbbbbbbb*, a@
Title: Ração Royal Canin Feline Urinary
IsActive: true
TaxCode: ''
MetaTagDescription: Descrição.
SupplierId: 1
ShowWithoutStock: true
ListStoreId:
- 1
- 2
- 3
AdWordsRemarketingCode: ''
LomadeeCampaignCode: ''
schema:
type: object
properties:
Id:
type: integer
description: Product ID.
Name:
type: string
description: Product's name. Limited to 150 characters.
DepartmentId:
type: integer
description: Product department ID.
CategoryId:
type: integer
description: Product category ID.
BrandId:
type: integer
description: Product brand ID.
LinkId:
type: string
description: Product text link.
RefId:
type: string
description: Product reference code.
IsVisible:
type: boolean
description: If the product is visible on the store.
Description:
type: string
description: Product description.
DescriptionShort:
type: string
description: Product complement name.
ReleaseDate:
type: string
description: Product release date.
KeyWords:
type: string
description: Substitutes words for the product.
Title:
type: string
description: Product's Title tag. Limited to 150 characters. It is presented in the browser tab and corresponds to the title of the product page. This field is important for SEO.
IsActive:
type: boolean
description: If the product is active (`true`) or not (`false`) at the store.
TaxCode:
type: string
description: Product fiscal code.
MetaTagDescription:
type: string
description: Product meta tag description.
SupplierId:
type: integer
description: Product supplier ID.
ShowWithoutStock:
type: boolean
description: Defines if the product will be shown in the store even if it's out of stock (`true`) or not (`false`).
ListStoreId:
type: array
description: List with the IDs of trade policies where the product is included.
items:
type: integer
description: Trade policy ID.
AdWordsRemarketingCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
LomadeeCampaignCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
/api/catalog_system/pvt/products/productgetbyrefid/{refId}:
get:
tags:
- Product
summary: VTex Get product by reference ID
description: "Retrieves a specific product by its Reference ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Catalog | Content | **Product management** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: ProductbyRefId
parameters:
- $ref: '#/components/parameters/Content-Type_2'
- $ref: '#/components/parameters/Accept_2'
- name: refId
in: path
description: Product reference code.
required: true
style: simple
schema:
type: string
example: '12345'
responses:
'200':
description: OK
content:
application/json:
example:
Id: 17
Name: BLACK+DECKER 20V MAX Cordless Drill / Driver with 30-Piece Accessories (LD120VA)
DepartmentId: 9287
CategoryId: 9287
BrandId: 9280
LinkId: black-decker-20v-max-cordless-drill-driver-with-30-piece-acessories-ld120va
RefId: '880010'
IsVisible: true
Description: 'The Black and Decker LD120-VoltA 20-Volt Max Lithium Drill/Driver with 30 Accessories come with the Black and Decker 20-volt max Lithium Ion Battery. These batteries are always ready, holding a charge up to 18 months. This drill provides an extra level of control with a 24 position clutch that helps to prevent stripping and overdriving screws. It has a soft grip handle that provides added comfort during use and a light weight to prevent user fatigue. This drill is ideal for drilling and screwdriving through wood, metal, and plastic. The LD120-VoltA set includes: LD120 20-Volt MAX Lithium Drill/Driver, (1) LB20 20-Volt MAX Lithium Ion Battery, (1) LCS20 Charger, (6) Brad Point Drill Bits, (10) 1-Inch Screwdriving Bits, (9) 2-Inch Screwdriving Bits, (4) Nut Drivers, (1) Magnetic Bit Tip Holder and is backed by Black and Decker''s 2 year limited warranty.'
DescriptionShort: 'The Black and Decker LD120-VoltA 20-Volt Max Lithium Drill/Driver with 30 Accessories come with the Black and Decker 20-volt max Lithium Ion Battery. These batteries are always ready, holding a charge up to 18 months. This drill provides an extra level of control with a 24 position clutch that helps to prevent stripping and overdriving screws. It has a soft grip handle that provides added comfort during use and a light weight to prevent user fatigue. This drill is ideal for drilling and screwdriving through wood, metal, and plastic. The LD120-VoltA set includes: LD120 20-Volt MAX Lithium Drill/Driver, (1) LB20 20-Volt MAX Lithium Ion Battery, (1) LCS20 Charger, (6) Brad Point Drill Bits, (10) 1-Inch Screwdriving Bits, (9) 2-Inch Screwdriving Bits, (4) Nut Drivers, (1) Magnetic Bit Tip Holder and is backed by Black and Decker''s 2 year limited warranty.'
ReleaseDate: '2020-01-01T00:00:00'
KeyWords: product,sample
Title: BLACK+DECKER 20V MAX Cordless Drill / Driver with 30-Piece Accessories (LD120VA)
IsActive: true
TaxCode: ''
MetaTagDescription: 'The Black and Decker LD120-VoltA 20-Volt Max Lithium Drill/Driver with 30 Accessories come with the Black and Decker 20-volt max Lithium Ion Battery. These batteries are always ready, holding a charge up to 18 months. This drill provides an extra level of control with a 24 position clutch that helps to prevent stripping and overdriving screws. It has a soft grip handle that provides added comfort during use and a light weight to prevent user fatigue. This drill is ideal for drilling and screwdriving through wood, metal, and plastic. The LD120-VoltA set includes: LD120 20-Volt MAX Lithium Drill/Driver, (1) LB20 20-Volt MAX Lithium Ion Battery, (1) LCS20 Charger, (6) Brad Point Drill Bits, (10) 1-Inch Screwdriving Bits, (9) 2-Inch Screwdriving Bits, (4) Nut Drivers, (1) Magnetic Bit Tip Holder and is backed by Black and Decker''s 2 year limited warranty.'
SupplierId: 1
ShowWithoutStock: true
ListStoreId:
- 1
AdWordsRemarketingCode: ''
LomadeeCampaignCode: ''
schema:
type: object
properties:
Id:
type: integer
description: ID of the product.
Name:
type: string
description: Name of the product.
DepartmentId:
type: integer
description: ID of product department.
CategoryId:
type: integer
description: ID of product category.
BrandId:
type: integer
description: ID of the product brand.
LinkId:
type: string
description: Category URL.
RefId:
type: string
description: Product Reference ID.
IsVisible:
type: boolean
description: If the product are visible in search and list pages.
Description:
type: string
description: Product Description, HTML is allowed.
DescriptionShort:
type: string
description: Product Short Description.
ReleaseDate:
type: string
description: Product Release Date, for list ordering and product cluster highlight.
KeyWords:
type: string
description: Alternatives Keywords to improve the product findability.
Title:
type: string
description: Product's Title tag. Limited to 150 characters. It is presented in the browser tab and corresponds to the title of the product page. This field is important for SEO.
IsActive:
type: boolean
description: If the product is Active.
TaxCode:
type: string
description: SKU Tax Code.
MetaTagDescription:
type: string
description: Meta Description for the product page.
SupplierId:
type: integer
description: Product Supplier ID.
ShowWithoutStock:
type: boolean
description: If the product can be visible without stock.
ListStoreId:
type: array
description: Array with the ID of all the trade policies that are related to the product.
items:
type: integer
description: Trade policy ID.
AdWordsRemarketingCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
LomadeeCampaignCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
deprecated: false
/api/catalog_system/pub/products/variations/{productId}:
get:
tags:
- Product
summary: VTex Get product's SKUs by product ID
description: "Retrieves data about a product and all SKUs related to it given the product's ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Catalog | Content | **Product management** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: ProductVariations
parameters:
- $ref: '#/components/parameters/Content-Type_2'
- $ref: '#/components/parameters/Accept_2'
- name: productId
in: path
description: Product's unique numerical identifier.
required: true
style: simple
schema:
type: integer
example: 1
responses:
'200':
description: OK
content:
application/json:
example:
productId: 9
name: Tshirt
salesChannel: '2'
available: true
displayMode: list
dimensions:
- Color
- Size
- Origin country
- Gender
dimensionsInputType:
Color: Combo
Size: Combo
Origin country: Combo
Gender: Combo
dimensionsMap:
Color:
- Yellow
- Blue
- Red
Size:
- S
- M
- L
Origin country:
- Brazil
Gender:
- Male
skus:
- sku: 310118454
skuname: Yellow - L
dimensions:
Color: Yellow
Size: L
Origin country: Brazil
Gender: Male
available: false
availablequantity: 0
cacheVersionUsedToCallCheckout: null
listPriceFormated: R$ 0,00
listPrice: 0
taxFormated: R$ 0,00
taxAsInt: 0
bestPriceFormated: R$ 9.999.876,00
bestPrice: 999987600
spotPrice: 999987600
installments: 0
installmentsValue: 0
installmentsInsterestRate: null
image: https://lojadobreno.vteximg.com.br/arquivos/ids/155467-292-292/image-5d7ad76ad1954c53adecab4138319034.jpg?v=637321899584500000
sellerId: '1'
seller: lojadobreno
measures:
cubicweight: 1.0
height: 5.0
length: 20.0
weight: 200.0
width: 20.0
unitMultiplier: 1.0
rewardValue: 0
- sku: 310118455
skuname: Red - M
dimensions:
Color: Red
Size: M
Origin country: Brazil
Gender: Male
available: true
availablequantity: 99999
cacheVersionUsedToCallCheckout: 38395F1AEF59DF5CEAEDE472328145CD_
listPriceFormated: R$ 0,00
listPrice: 0
taxFormated: R$ 0,00
taxAsInt: 0
bestPriceFormated: R$ 20,00
bestPrice: 2000
spotPrice: 2000
installments: 1
installmentsValue: 2000
installmentsInsterestRate: 0
image: https://lojadobreno.vteximg.com.br/arquivos/ids/155468-292-292/image-601a6099aace48b89d26fc9f22e8e611.jpg?v=637321906602470000
sellerId: pedrostore
seller: pedrostore
measures:
cubicweight: 0.4167
height: 5.0
length: 20.0
weight: 200.0
width: 20.0
unitMultiplier: 1.0
rewardValue: 0
schema:
type: object
properties:
productId:
type: integer
description: Product's unique numerical identifier.
name:
type: string
description: Product name.
salesChannel:
type: string
description: Trade policy ID.
available:
type: boolean
description: Defines if the product is available (`true`) or not (`false`).
displayMode:
type: string
description: Defines the mannner SKUs are displayed.
dimensions:
type: array
description: Lists SKU specifications.
items:
type: string
description: Name of the SKU specification.
dimensionsInputType:
type: object
description: 'Lists SKU specifications and their Field type, in the following format: `"{specificationName}":"{fieldType}"`.'
dimensionsMap:
type: object
description: Lists SKU specifications and their possible values inside arrays.
skus:
type: array
description: Array containing information about the product's SKUs.
items:
type: object
description: Object containing information about a specific SKU.
properties:
sku:
type: integer
description: SKU ID.
skuname:
type: string
description: SKU Name.
dimensions:
type: object
description: Lists SKU specifications and their respective values.
available:
type: boolean
description: Defines if the SKU is available (`true`) or not (`false`).
availablequantity:
type: integer
description: Available quantity of the SKU in stock.
cacheVersionUsedToCallCheckout:
type: string
description: Cache version used to call Checkout.
nullable: true
listPriceFormated:
type: string
description: List price formatted according to the valid currency.
listPrice:
type: integer
description: List price.
taxFormated:
type: string
description: Tax value formatted according to the valid currency.
taxAsInt:
type: integer
description: Tax value.
bestPriceFormated:
type: string
description: Best price formatted according to the valid currency.
bestPrice:
type: integer
description: Best price.
spotPrice:
type: integer
description: Spot price.
installments:
type: integer
description: Number of installments.
installmentsValue:
type: integer
description: Value of installments.
installmentsInsterestRate:
type: integer
description: Interest rate of installments.
nullable: true
image:
type: string
description: SKU image URL.
sellerId:
type: string
description: Seller ID.
measures:
type: object
description: SKU measures.
properties:
cubicweight:
type: number
description: Cubic weight.
height:
type: number
description: Height.
length:
type: number
description: Length.
weight:
type: number
description: Weight.
width:
type: number
description: Width.
unitMultiplier:
type: number
description: SKU Unit Multiplier.
rewardValue:
type: integer
description: Credit that the customer receives when finalizing an order that includes the SKU. By filling this field out with `1`, the customer receives credit on the site in the selected currency, e.g. U$ 1.
deprecated: false
/api/addon/pvt/review/GetProductRate/{productId}:
get:
tags:
- Product
summary: VTex Get product review rate by product ID
description: "Retrieves the review rate of a product given the product's ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Catalog | Content | **Reviews list** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
parameters:
- $ref: '#/components/parameters/Content-Type_2'
- $ref: '#/components/parameters/Accept_2'
- name: productId
in: path
description: Product's unique numerical identifier.
required: true
style: simple
schema:
type: integer
example: 1
responses:
'200':
description: OK
content:
application/json:
schema:
type: number
description: Review rate number.
example: 3.0
deprecated: false
/api/catalog/pvt/product:
post:
tags:
- Product
summary: VTex Create product with category and brand
description: "This endpoint allows two types of request:\r\n\r\n**Type 1:** Creating a new product as well as a new category path (including subcategories) and a new brand by using `CategoryPath` and `BrandName` parameters.\r\n\r\n**Type 2:** Creating a new product given an existing `BrandId` and an existing `CategoryId`.\r\n\r\nWhen creating a product, regardless of the type of request, if there is a need to create a new product with a specific custom product ID, specify the `Id` (integer) in the request body. Otherwise, VTEX will generate the ID automatically.\r\n> \U0001F4D8 Onboarding guide \r\n>\r\n> Check the new [Catalog onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/catalog-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Catalog | Content | **Product and SKU Management** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
parameters:
- $ref: '#/components/parameters/Content-Type_2'
- $ref: '#/components/parameters/Accept_2'
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
description: Request type that creates a new product as well as a new category path (including subcategories) and a new brand by using `CategoryPath` and `BrandName` parameters.
title: New category and brand
required:
- Name
properties:
Id:
type: integer
description: Product's unique numerical identifier. If not informed, it will be automatically generated by VTEX.
example: 42
Name:
type: string
description: Product's name. Limited to 150 characters.
example: Zoom Stefan Janoski Canvas RM SB Varsity Red
CategoryPath:
type: string
description: Path of categories associated with this product, from the highest level of category to the lowest level, separated by `/`. It is mandatory to use either this field or the `CategoryId` field.
example: Mens/Clothing/T-Shirts
DepartmentId:
type: integer
description: Department ID according to the product's category.
example: 1
BrandName:
type: string
description: Name of the brand that will be associated with this product. It is mandatory to use either this field or the `BrandId` field. If you wish to create a new brand, that is, in case the brand does not exist yet, use this field instead of `BrandId`.
example: Sample brand
LinkId:
type: string
description: Slug that will be used to build the product page URL. If it not informed, it will be generated according to the product's name replacing spaces and special characters by hyphens (`-`).
example: stefan-janoski-canvas-varsity-red
RefId:
type: string
description: Product Reference Code.
example: sr_1_90
IsVisible:
type: boolean
description: Shows (`true`) or hides (`false`) the product in search result and product pages, but the product can still be added to the shopping cart. Usually applicable for gifts.
example: true
Description:
type: string
description: Product description.
example: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
ReleaseDate:
type: string
description: Used to assist in the ordering of the search result of the site. Using the `O=OrderByReleaseDateDESC` query string, you can pull this value and show the display order by release date. This attribute is also used as a condition for dynamic collections.
example: '2019-01-01T00:00:00'
Title:
type: string
description: Product's Title tag. Limited to 150 characters. It is presented in the browser tab and corresponds to the title of the product page. This field is important for SEO.
example: Zoom Stefan Janoski Canvas RM SB Varsity Red
IsActive:
type: boolean
description: Activate (`true`) or inactivate (`false`) product.
example: true
TaxCode:
type: string
description: Product tax code, used for tax calculation. This field is important for SEO. Limited to 150 characters.
example: '12345'
MetaTagDescription:
type: string
description: Brief description of the product for SEO. It is recommended not to exceed 150 characters.
example: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
ShowWithoutStock:
type: boolean
description: If `true`, activates the [Notify Me](https://help.vtex.com/en/tutorial/setting-up-the-notify-me-option--2VqVifQuf6Co2KG048Yu6e) option when the product is out of stock.
example: true
LomadeeCampaignCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
example: null
nullable: true
Score:
type: integer
description: Value used to set the priority on the search result page.
example: 1
- type: object
description: Request type that creates a new product given an existing `BrandId` and an existing `CategoryId`.
title: Associating it to an existing category and brand
required:
- Name
properties:
Id:
type: integer
description: Product's unique numerical identifier. If not informed, it will be automatically generated by VTEX.
example: 42
Name:
type: string
description: Product's name. Limited to 150 characters.
example: Zoom Stefan Janoski Canvas RM SB Varsity Red
DepartmentId:
type: integer
description: Department ID according to the product's category.
example: 1
CategoryId:
type: integer
description: ID of an existing category that will be associated with this product. It is mandatory to use either this field or the `CategoryPath` field.
example: 2000090
BrandId:
type: integer
description: ID of an existing brand that will be associated with this product. It is mandatory to use either this field or the `BrandName` field.
example: 12121219
LinkId:
type: string
description: Slug that will be used to build the product page URL. If it not informed, it will be generated according to the product's name replacing spaces and special characters by hyphens (`-`).
example: stefan-janoski-canvas-varsity-red
RefId:
type: string
description: Product Reference Code.
example: sr_1_90
IsVisible:
type: boolean
description: Shows (`true`) or hides (`false`) the product in search result and product pages, but the product can still be added to the shopping cart. Usually applicable for gifts.
example: true
Description:
type: string
description: Product description.
example: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
DescriptionShort:
type: string
description: "Short product description. This information can be displayed on both the product page and the shelf, using the following controls:\r\n Store Framework: `$product.DescriptionShort`.\r\n Legacy CMS Portal: ``."
example: The Nike Zoom Stefan Janoski is made with a premium leather.
ReleaseDate:
type: string
description: Used to assist in the ordering of the search result of the site. Using the `O=OrderByReleaseDateDESC` query string, you can pull this value and show the display order by release date. This attribute is also used as a condition for dynamic collections.
example: '2019-01-01T00:00:00'
KeyWords:
type: string
description: "Store Framework: Deprecated. \r\nLegacy CMS Portal: Keywords or synonyms related to the product, separated by comma (`,`). \"Television\", for example, can have a substitute word like \"TV\". This field is important to make your searches more comprehensive."
example: Zoom,Stefan,Janoski
Title:
type: string
description: Product's Title tag. Limited to 150 characters. It is presented in the browser tab and corresponds to the title of the product page. This field is important for SEO.
example: Zoom Stefan Janoski Canvas RM SB Varsity Red
IsActive:
type: boolean
description: Activate (`true`) or inactivate (`false`) product.
example: true
TaxCode:
type: string
description: Product tax code, used for tax calculation. This field is important for SEO. Limited to 150 characters.
example: '12345'
MetaTagDescription:
type: string
description: Brief description of the product for SEO. It is recommended not to exceed 150 characters.
example: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
SupplierId:
type: integer
description: Deprecated field.
example: null
deprecated: true
nullable: true
ShowWithoutStock:
type: boolean
description: If `true`, activates the [Notify Me](https://help.vtex.com/en/tutorial/setting-up-the-notify-me-option--2VqVifQuf6Co2KG048Yu6e) option when the product is out of stock.
example: true
AdWordsRemarketingCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
nullable: true
example: null
LomadeeCampaignCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
nullable: true
example: null
Score:
type: integer
description: Value used to set the priority on the search result page.
example: 1
examples:
New category and brand:
value:
Id: 42
Name: Black T-Shirt
CategoryPath: Mens/Clothing/T-Shirts
DepartmentId: 1
BrandName: Nike
RefId: '31011706925'
Title: Black T-Shirt
LinkId: tshirt-black
Description: This is a cool Tshirt
ReleaseDate: '2022-01-01T00:00:00'
IsVisible: true
IsActive: true
TaxCode: '12345'
MetaTagDescription: tshirt black
ShowWithoutStock: true
LomadeeCampaignCode: null
Score: 1
Associating it to an existing category and brand:
value:
Id: 42
Name: Black T-Shirt
DepartmentId: 1
CategoryId: 2
BrandId: 2000000
LinkId: insert-product-test
RefId: '310117869'
IsVisible: true
Description: texto de descrição
DescriptionShort: Utilize o CEP 04548-005 para frete grátis
ReleaseDate: '2019-01-01T00:00:00'
KeyWords: teste,teste2
Title: product de teste
IsActive: true
TaxCode: '12345'
MetaTagDescription: tag test
SupplierId: null
ShowWithoutStock: true
AdWordsRemarketingCode: null
LomadeeCampaignCode: null
Score: 1
responses:
'200':
description: OK
content:
application/json:
example:
Id: 42
Name: Zoom Stefan Janoski Canvas RM SB Varsity Red
DepartmentId: 2000089
CategoryId: 2000090
BrandId: 12121219
LinkId: stefan-janoski-canvas-varsity-red
RefId: sr_1_90
IsVisible: true
Description: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
DescriptionShort: The Nike Zoom Stefan Janoski is made with a premium leather.
ReleaseDate: '2020-01-01T00:00:00'
KeyWords: Zoom,Stefan,Janoski
Title: Zoom Stefan Janoski Canvas RM SB Varsity Re
IsActive: true
TaxCode: ''
MetaTagDescription: The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.
SupplierId: 1
ShowWithoutStock: true
AdWordsRemarketingCode: ''
LomadeeCampaignCode: ''
Score: 1
schema:
type: object
properties:
Id:
type: integer
description: Product's unique numerical identifier.
Name:
type: string
description: Product's name. Limited to 150 characters.
DepartmentId:
type: integer
description: Department ID according to the product's category.
CategoryId:
type: integer
description: Category ID associated with this product.
BrandId:
type: integer
description: Brand ID associated with this product.
LinkId:
type: string
description: Slug that will be used to build the product page URL. If it not informed, it will be generated according to the product's name replacing spaces and special characters by hyphens (`-`).
RefId:
type: string
description: Product Reference Code.
IsVisible:
type: boolean
description: Shows (`true`) or hides (`false`) the product in search result and product pages, but the product can still be added to the shopping cart. Usually applicable for gifts.
Description:
type: string
description: Product description.
DescriptionShort:
type: string
description: "Short product description. This information can be displayed on both the product page and the shelf, using the following controls:\r\n Store Framework: `$product.DescriptionShort`.\r\n Legacy CMS Portal: ``."
ReleaseDate:
type: string
description: Used to assist in the ordering of the search result of the site. Using the `O=OrderByReleaseDateDESC` query string, you can pull this value and show the display order by release date. This attribute is also used as a condition for dynamic collections.
KeyWords:
type: string
description: "Store Framework: Deprecated. \r\nLegacy CMS Portal: Keywords or synonyms related to the product, separated by comma (`,`). \"Television\", for example, can have a substitute word like \"TV\". This field is important to make your searches more comprehensive."
Title:
type: string
description: Product's title tag, which corresponds to the title of the product page, presented in the browser tab. This field is important for SEO. Limited to 150 characters.
IsActive:
type: boolean
description: Activate (`true`) or inactivate (`false`) product.
TaxCode:
type: string
description: Product tax code, used for tax calculation.
MetaTagDescription:
type: string
description: Brief description of the product for SEO. It's recommended that you don't exceed 150 characters.
SupplierId:
type: integer
deprecated: true
nullable: true
ShowWithoutStock:
type: boolean
description: If `true`, activates the [Notify Me](https://help.vtex.com/en/tutorial/setting-up-the-notify-me-option--2VqVifQuf6Co2KG048Yu6e) option when the product is out of stock.
AdWordsRemarketingCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
LomadeeCampaignCode:
type: string
description: This is a legacy field. Do not take this information into consideration.
deprecated: true
Score:
type: integer
description: Value used to set the priority on the search result page.
components:
parameters:
Accept:
name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
Content-Type:
name: Content-Type
in: header
description: Type of the content being sent.
required: true
style: simple
schema:
type: string
example: application/json
Accept_2:
name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
default: application/json
Content-Type_2:
name: Content-Type
in: header
description: Type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
securitySchemes:
VtexIdclientAutCookie:
type: apiKey
in: header
name: VtexIdclientAutCookie
description: '[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours.'