{ "openapi": "3.0.0", "info": { "title": "Promotions & Taxes API", "description": "Check the [Promotions onboarding guide](https:\/\/developers.vtex.com\/vtex-rest-api\/docs\/promotions-overview) for a journey-based overview of the Promotions documentation available in the Developer Portal.\r\n\r\n The Promotions & Taxes API allows you to manage and retrieve all promotions, coupons and tax rules from your VTEX store.\r\n\r\n\r\n## Common parameters in the documentation\r\n\r\n| Parameter name | Description |\r\n| - | - |\r\n| `{{accountName}}`| Name of the VTEX account. Used as part of the URL. |\r\n| `{{environment}}`| Name of the VTEX account. Used as part of the URL. |\r\n| `{{X-VTEX-API-AppKey}}` | Unique identifier of the [API key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-api-keys). |\r\n| `{{X-VTEX-API-AppToken}}` | Secret token of the [API key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-api-keys).", "version": "1.0" }, "servers": [ { "url": "https://{accountName}.{environment}.com.br", "variables": { "accountName": { "description": "Name of the VTEX account. Used as part of the URL.", "default": "apiexamples" }, "environment": { "description": "Environment to use. Used as part of the URL.", "enum": [ "vtexcommercestable" ], "default": "vtexcommercestable" } } } ], "paths": { "/api/rnb/pvt/multiple-coupons": { "post": { "tags": [ "Coupons" ], "operationId": "CreateMultipleCoupons", "summary": "Create multiple coupons", "description": "Creates multiple coupons with different coupon codes. This endpoint has a throttling of 60 requests per minute.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "array", "description": "List of coupons.", "items": { "type": "object", "description": "Object containing information about the coupons.", "required": [ "quantity", "couponConfiguration" ], "properties": { "quantity": { "type": "integer", "description": "Quantity of coupons created. The value must be a minimum of `1` and at maximum `1000`. If the amount is `1`, the coupon code will be the value of the `couponCode` parameter. If the value is greater than `1`, the coupon code will receive a random suffix.", "example": 1 }, "couponConfiguration": { "type": "object", "description": "Object that contains all coupon configuration.", "required": [ "utmSource", "utmCampaign", "couponCode", "maxItemsPerClient", "expirationIntervalPerUse" ], "properties": { "utmSource": { "type": "string", "description": "utmSource code.", "example": "coupon3" }, "utmCampaign": { "type": "string", "description": "utmCampaign code.", "example": "xfbf1" }, "couponCode": { "type": "string", "description": "Coupon code.", "example": "test" }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`).", "example": false }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied.", "example": 10 }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use.", "example": "00:00:00" }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used.", "example": 1 } } } } } }, "example": [ { "quantity": 1, "couponConfiguration": { "utmSource": "fb", "utmCampaign": "bf", "couponCode": "promobf4", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 1 } } ] } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ "promobf" ], "schema": { "type": "array", "description": "Array with the coupon codes that were created.", "items": { "type": "string", "description": "Coupon code." } } } } } } } }, "/api/rnb/pvt/coupon": { "post": { "tags": [ "Coupons" ], "operationId": "CreateOrUpdateCoupon", "summary": "Create or update coupon", "description": "Creates a new single coupon or updates an existing coupon.\r\n\r\nTo update an existing coupon, first make a [Get coupon by coupon code](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/coupon/-couponCode-) request, copy the response body and apply the desired changes. Then, use the complete edited body as a request body in this update call.\r\n\r\n>⚠️ When updating a coupon, don't change the original `couponCode`, or a new coupon will be created instead of the existing coupon being updated.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "utmSource", "couponCode", "maxItemsPerClient", "expirationIntervalPerUse" ], "properties": { "utmSource": { "type": "string", "description": "UTM source code.", "example": "email" }, "utmCampaign": { "type": "string", "description": "UTM campaign code.", "example": "summer" }, "couponCode": { "type": "string", "description": "Coupon code.", "example": "summersale10" }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`).", "example": false }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied.", "example": 10 }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use.", "example": "00:00:00" }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used.", "example": 1 } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "example": { "lastModifiedUtc": "2021-11-10T14:24:39.3683694Z", "utmSource": "email", "utmCampaign": "summer", "couponCode": "summersale10", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 1 }, "schema": { "type": "object", "properties": { "lastModifiedUtc": { "type": "string", "description": "Date and time of the last update of the coupon in UTC format." }, "utmSource": { "type": "string", "description": "UTM source code." }, "utmCampaign": { "type": "string", "description": "UTM campaign code." }, "couponCode": { "type": "string", "description": "Coupon code." }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`)." }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied." }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use." }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used." } } } } } }, "200": { "description": "OK", "content": { "application/json": { "example": { "lastModifiedUtc": "2021-11-10T14:24:39.3683694Z", "utmSource": "email", "utmCampaign": "summer", "couponCode": "summersale10", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 1 }, "schema": { "type": "object", "properties": { "lastModifiedUtc": { "type": "string", "description": "Date and time of the last update of the coupon in UTC format." }, "utmSource": { "type": "string", "description": "UTM source code." }, "utmCampaign": { "type": "string", "description": "UTM campaign code." }, "couponCode": { "type": "string", "description": "Coupon code." }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`)." }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied." }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use." }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used." } } } } } } } }, "get": { "tags": [ "Coupons" ], "summary": "Get all coupons", "description": "Check the [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview) for a journey-based overview of the Promotions documentation available in the Developer Portal.\r\n\r\n Retrieves all coupons from an account.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getall", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Indicate the media type of the resource.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ { "lastModifiedUtc": "2021-11-10T14:24:39.3683694Z", "utmSource": "coupon3", "utmCampaign": "coupon3", "couponCode": "test", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00" }, { "lastModifiedUtc": "2020-06-22T18:25:24.4583474Z", "utmSource": "cupom3", "couponCode": "test-lucian2", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 3 } ], "schema": { "type": "array", "description": "List of coupons.", "items": { "type": "object", "description": "Object with information about the coupon.", "properties": { "lastModifiedUtc": { "type": "string", "description": "Date and time of the last update of the coupon in UTC format." }, "utmSource": { "type": "string", "description": "UTM source code." }, "utmCampaign": { "type": "string", "description": "UTM campaign code." }, "couponCode": { "type": "string", "description": "Coupon code." }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`)." }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied." }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use." }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used." }, "groupingKey": { "type": "string", "description": "If the coupon was created as a [multiple coupon](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/multiple-coupons) or using [Generate coupons in bulk](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/coupons), this field returns the original `couponCode` informed." } } } } } } } } } }, "/api/rnb/pvt/coupon/{couponCode}": { "get": { "tags": [ "Coupons" ], "summary": "Get coupon by coupon code", "description": "Retrieves a specific coupon by its coupon code.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getbycouponcode", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "couponCode", "in": "path", "description": "Coupon Code", "required": true, "style": "simple", "schema": { "type": "string", "example": "promo10" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "lastModifiedUtc": "2021-11-10T14:24:39.3683694Z", "utmSource": "coupon3", "couponCode": "test", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 1 }, "schema": { "type": "object", "properties": { "lastModifiedUtc": { "type": "string", "description": "Date and time of the last update of the coupon in UTC format." }, "utmSource": { "type": "string", "description": "UTM source code." }, "utmCampaign": { "type": "string", "description": "UTM campaign code." }, "couponCode": { "type": "string", "description": "Coupon code." }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`)." }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied." }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use." }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used." }, "groupingKey": { "type": "string", "description": "If the coupon was created as a [multiple coupon](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/multiple-coupons) or using [Generate coupons in bulk](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/coupons), this field returns the original `couponCode` informed." } } } } } } } } }, "/api/rnb/pvt/archive/coupon/{couponCode}": { "get": { "tags": [ "Coupons" ], "summary": "Get archived coupon by coupon code", "description": "Retrieves a specific archived coupon by its coupon code.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getarchivedbycouponcode", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "couponCode", "in": "path", "description": "Coupon Code", "required": true, "style": "simple", "schema": { "type": "string", "example": "promo10" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "lastModifiedUtc": "2021-11-10T14:24:39.3683694Z", "utmSource": "coupon3", "couponCode": "test", "isArchived": true, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 1 }, "schema": { "type": "object", "properties": { "lastModifiedUtc": { "type": "string", "description": "Date and time of the last update of the coupon in UTC format." }, "utmSource": { "type": "string", "description": "UTM source code." }, "utmCampaign": { "type": "string", "description": "UTM campaign code." }, "couponCode": { "type": "string", "description": "Coupon code." }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`)." }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied." }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use." }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used." }, "groupingKey": { "type": "string", "description": "If the coupon was created as a [multiple coupon](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/multiple-coupons) or using [Generate coupons in bulk](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/coupons), this field returns the original `couponCode` informed." } } } } } } } }, "post": { "tags": [ "Coupons" ], "summary": "Archive coupon by coupon code", "description": "Archives a specific coupon by its coupon code.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Archivebycouponcode", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "couponCode", "in": "path", "description": "Coupon Code", "required": true, "style": "simple", "schema": { "type": "string", "example": "test" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "string", "description": "Coupon code of the archived coupon." }, "example": "promo10" } } } } } }, "/api/rnb/pvt/coupons": { "post": { "tags": [ "Coupons" ], "summary": "Generate coupons in bulk", "description": "Generates a massive amount of coupons.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "MassiveGeneration", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "quantity", "in": "query", "description": "Number of coupons to create, which can be from `1` to `1000`. For a single coupon (`1`), the code will be the `couponCode` value. For multiple coupons (more than `1`), codes will be the `couponCode` value with a random suffix.", "required": true, "style": "form", "explode": true, "schema": { "type": "integer", "example": 10 } } ], "requestBody": { "content": { "application/json": { "schema": { "required": [ "utmSource", "utmCampaign", "couponCode", "maxItemsPerClient", "expirationIntervalPerUse" ], "type": "object", "properties": { "utmSource": { "type": "string", "description": "UTM source code.", "example": "cupom3" }, "utmCampaign": { "type": "string", "description": "UTM campaign code.", "example": "cupom3" }, "couponCode": { "type": "string", "description": "Coupon code.", "example": "ctest" }, "maxItemsPerClient": { "type": "integer", "description": "Maximum number of items a coupon can be applied to per client.", "example": 1 }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use.", "example": "00:00:00" } } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ "ctest-7DLKU492HR4MANV", "ctest-QUM3U4HUGJ54301", "ctest-0KYBWQUKR3WXV4C", "ctest-971CX1N55WZSEBY", "ctest-9FCQ0UX80F6K4A7", "ctest-HWZEJ7D0D9MP3O7", "ctest-7PI34QVEERM8A70", "ctest-RT47PC2A116O9QO", "ctest-F4T3IQBAGQWRVW7", "ctest-8C3MS3U594EPQB8" ], "schema": { "type": "array", "description": "Array with the generated coupon codes.", "items": { "type": "string", "description": "Coupon code." } } } } } } } }, "/api/rnb/pvt/coupon/usage/{couponCode}": { "get": { "tags": [ "Coupons" ], "summary": "Get coupon usage", "description": "Retrieves information about the coupon usage.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getusage", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "couponCode", "in": "path", "description": "Coupon Code", "required": true, "style": "simple", "schema": { "type": "string", "example": "test" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "hostName": "account", "couponCode": "test", "profileUsages": { "23fa76cd-14e1-43ee-93af-0c04c9f6cfd7": { "orderUsage": [ { "orderId": "11636716780563-01", "usageDateUtc": "2021-11-03T23:27:54.8305115Z" } ] } } }, "schema": { "type": "object", "properties": { "hostName": { "type": "string", "description": "Name of the store." }, "couponCode": { "type": "string", "description": "Coupon code." }, "profileUsages": { "type": "object", "description": "Object with information where and when the coupon was used.", "properties": { "profileId": { "type": "object", "description": "Profile ID.", "properties": { "orderUsage": { "type": "array", "description": "Array with all the orders that the coupon was used.", "items": { "type": "object", "description": "Object with information about the order that the coupon was used.", "properties": { "orderId": { "type": "string", "description": "Order ID." }, "usageDateUtc": { "type": "string", "description": "Date and time when the coupon was used in the order in UTC format." } } } } } } } } } } } } } } } }, "/api/rnb/pvt/unarchive/coupon/{couponCode}": { "post": { "tags": [ "Coupons" ], "summary": "Unarchive coupon by coupon code", "description": "Unarchives a specifc coupon by its coupon code.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Unarchivebycouponcode", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "couponCode", "in": "path", "description": "Coupon Code", "required": true, "style": "simple", "schema": { "type": "string", "example": "test" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": "test", "schema": { "type": "string", "description": "Coupon code." } } } } } } }, "/api/rnb/pvt/benefits/calculatorconfiguration": { "get": { "tags": [ "Promotions and taxes" ], "summary": "Get all promotions", "description": "Retrieves all promotions from an account. \r\n\r\n> Check the [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview) for a journey-based overview of the Promotions documentation available in the Developer Portal.\r\n\r\n\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetAllBenefits", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "limitConfigurationMaxPrice": { "activesCount": 0, "limit": 10 }, "limitConfiguration": { "activesCount": 4, "limit": 100 }, "items": [ { "idCalculatorConfiguration": "d8a1cd2e-b667-4054-b3ae-b79124c7218e", "lastModifiedUtc": "2021-09-17T18:13:16.2896414Z", "name": "Promotion Social Seller", "description": "Promotion for Social Seller", "type": "regular", "utmSource": "georgeSource", "utmCampain": "georgeTest", "utmiCampaign": "", "status": "active", "isActive": true, "isArchived": false, "hasMaxPricePerItem": false, "isTax": false, "Campaigns": [], "conditionsIds": [ "372e1868-2c0e-4437-be45-1ef8c9cab735" ], "activateGiftsMultiplier": false, "scope": { "allCatalog": true, "skus": 0, "skusAreInclusive": true, "products": 0, "productsAreInclusive": false, "collections": 0, "collectionsAreInclusive": false, "categories": 0, "categoriesAreInclusive": false, "brands": 0, "brandsAreInclusive": false, "sellers": 0, "sellersAreInclusive": false }, "maxUsage": 0, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false }, { "idCalculatorConfiguration": "7c946926-7815-4446-9428-83bd577a9135", "lastModifiedUtc": "2021-11-12T16:58:30.2553053Z", "name": "Progressive Discount", "beginDate": "2021-04-15T03:00:00Z", "endDate": "2021-04-16T02:30:00Z", "isActive": false, "description": "The progressive discount.", "type": "progressive", "utmSource": "", "utmCampain": "", "utmiCampaign": "", "nominalDiscountType": "item", "status": "inactive", "percentualTax": 0, "isArchived": false, "hasMaxPricePerItem": false, "isTax": false, "Campaigns": [], "activateGiftsMultiplier": false, "scope": { "allCatalog": true, "skus": 0, "skusAreInclusive": true, "products": 0, "productsAreInclusive": true, "collections": 0, "collectionsAreInclusive": true, "categories": 0, "categoriesAreInclusive": true, "brands": 0, "brandsAreInclusive": true, "sellers": 0, "sellersAreInclusive": true }, "maxUsage": 0, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false } ], "disabledItems": [], "archivedItems": [] }, "schema": { "type": "object", "properties": { "limitConfigurationMaxPrice": { "type": "object", "description": "Limit configuration max price.", "properties": { "activesCount": { "type": "integer", "description": "Actives count." }, "limit": { "type": "integer", "description": "Limit." } } }, "limitConfiguration": { "type": "object", "description": "Limit configuration.", "properties": { "activesCount": { "type": "integer", "description": "Actives count." }, "limit": { "type": "integer", "description": "Limit." } } }, "items": { "$ref": "#/components/schemas/GetPromotions" }, "disabledItems": { "type": "array", "description": "Disabled items.", "items": { "type": "string", "description": "Disabled item." } }, "archivedItems": { "type": "array", "description": "Archived items.", "items": { "type": "string", "description": "Archived item." } }, "nominalDiscountType": { "type": "string", "description": "Controls the behavior of the `NominalDiscount` effect. This field only accepts two string values:\n\n -`item`: applies the intended nominal discount on every item present on the cart. \n\n -`cart`: keeps the behavior as it currently is: the whole order/cart receives a nominal discount that is distributed among the items." } } } } } } } } }, "/api/rnb/pvt/benefits/calculatorconfiguration/search": { "get": { "tags": [ "Promotions and taxes" ], "summary": "Search promotion by name", "description": "Retrieves all promotions whose name contains the searched term. \r\n\r\n> Check the [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview) for a journey-based overview of the Promotions documentation available in the Developer Portal.\r\n\r\n\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "SearchPromotion", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "byName", "in": "query", "description": "Search term used to find a promotion by name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "shirt" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ { "idCalculatorConfiguration": "5ee78a73-a77e-4f84-b54e-d0c75a4b101a", "name": "Black shirt", "beginDateUtc": "2021-11-09T03:00:00Z", "endDateUtc": "2021-11-26T02:30:00Z", "lastModified": "2021-11-16T22:09:55.071735Z", "daysAgoOfPurchases": 0, "isActive": true, "isArchived": false, "isFeatured": false, "disableDeal": false, "activeDaysOfWeek": [], "offset": -3, "activateGiftsMultiplier": false, "newOffset": -3.0, "maxPricesPerItems": [], "cumulative": false, "nominalShippingDiscountValue": 0.0, "absoluteShippingDiscountValue": 0.0, "nominalDiscountValue": 1.0, "nominalDiscountType": "cart", "maximumUnitPriceDiscount": 0.0, "percentualDiscountValue": 0.0, "rebatePercentualDiscountValue": 0.0, "percentualShippingDiscountValue": 0.0, "percentualTax": 0.0, "shippingPercentualTax": 0.0, "percentualDiscountValueList1": 0.0, "percentualDiscountValueList2": 0.0, "skusGift": { "quantitySelectable": 1, "gifts": 1 }, "nominalRewardValue": 0.0, "percentualRewardValue": 0.0, "orderStatusRewardValue": "invoiced", "maxNumberOfAffectedItems": 0, "maxNumberOfAffectedItemsGroupKey": "perCart", "applyToAllShippings": false, "nominalTax": 0.0, "origin": "Marketplace", "idSellerIsInclusive": true, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [], "marketingTagsAreNotInclusive": false, "paymentsMethods": [], "stores": [], "campaigns": [], "storesAreInclusive": true, "categories": [], "categoriesAreInclusive": true, "brands": [], "brandsAreInclusive": true, "products": [ { "id": "1", "name": "Pricing QA Test Product 1 (Produto 1)" }, { "id": "3", "name": "Pricing QA Test Product 3 (Produto 3)" } ], "productsAreInclusive": true, "skus": [], "skusAreInclusive": true, "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 0, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "coupon": [], "totalValueFloor": 0.0, "totalValueCeling": 0.0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": true, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": true, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "clusterOperator": "all", "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "accumulateWithManualPrice": false, "type": "regular", "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [] } ], "schema": { "type": "array", "description": "List of promotions whose name matches the search.", "items": { "type": "object", "description": "Object with information about a promotion.", "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Promotion ID." }, "name": { "type": "string", "description": "Promotion Name." }, "description": { "type": "string", "description": "Promotion internal description." }, "beginDateUtc": { "type": "string", "description": "Promotion Begin Date (UTC)." }, "endDateUtc": { "type": "string", "description": "Promotion End Date (UTC)." }, "lastModified": { "type": "string", "description": "When the Promotion was last modified." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "isActive": { "type": "boolean", "description": "If set as `true` the Promotion is activated. If set as `false` the Promotion is deactivated." }, "isArchived": { "type": "boolean", "description": "If set as `true` the Promotion is archived. If set as `false` the Promotion is not archived." }, "isFeatured": { "type": "boolean", "description": "Insert a flag with the promotion name used in the product's window display and page." }, "disableDeal": { "type": "boolean", "deprecated": true, "description": "Indicates whether a deal is disabled (`true`) or not (`false`)." }, "activeDaysOfWeek": { "type": "array", "description": "Defines which days of the week the promotion will applied.", "items": { "type": "string", "description": "Day of the week that the promotion will be valid." } }, "offset": { "type": "integer", "description": "Time offset from UTC in seconds." }, "activateGiftsMultiplier": { "type": "boolean", "description": "If set as `true`, it activates gifts Multiplier." }, "newOffset": { "type": "number", "description": "New time offset from UTC in seconds." }, "maxPricesPerItems": { "type": "array", "deprecated": true, "description": "List of prices per items.", "items": { "type": "string", "description": "Price." } }, "cumulative": { "type": "boolean", "description": "Defines if a promotion can accumulate with another one. (`true`) or not (`false`)." }, "effectType": { "type": "string", "description": "The type of effect that will apply to the promotion." }, "discountType": { "type": "string", "description": "The type of discount that will apply to the promotion." }, "nominalShippingDiscountValue": { "type": "number", "description": "Exact discount to be applied for the shipping value." }, "absoluteShippingDiscountValue": { "type": "number", "description": "Maximum value for the shipping." }, "nominalDiscountValue": { "type": "number", "description": "Exact discount to be applied for the total purchase value." }, "nominalDiscountType": { "type": "string", "description": "Controls the behavior of the `NominalDiscount` effect. This field only accepts two string values:\r\n-`item`: applies the intended nominal discount on every item present on the cart. \r\n-`cart`: keeps the behavior as it currently is: the whole order/cart receives a nominal discount that is distributed among the items." }, "maximumUnitPriceDiscount": { "type": "number", "description": "The maximum price for each item of the purchase will be the price set up." }, "percentualDiscountValue": { "type": "number", "description": "Percentage discount to be applied for total purchase value." }, "rebatePercentualDiscountValue": { "type": "number", "description": "Percentual Shipping Discount Value." }, "percentualShippingDiscountValue": { "type": "number", "description": "Percentage discount to be applied for shipping value." }, "percentualTax": { "type": "number", "description": "Percentual tax over purchase total value." }, "shippingPercentualTax": { "type": "number", "description": "Shipping Percentual tax over purchase total value." }, "percentualDiscountValueList1": { "type": "number", "description": "Valid discounts for the SKUs in `listSku1BuyTogether`, discount list used for Buy Together Promotions." }, "percentualDiscountValueList2": { "type": "number", "description": "Equivalent to `percentualDiscountValueList1`." }, "skusGift": { "type": "object", "description": "SKU Gift Object. Total discount on the product value set as a gift.", "properties": { "quantitySelectable": { "type": "integer", "description": "Quantity of SKU Gifts." }, "gifts": { "type": "integer", "description": "Array with SKU Gifts IDs." } } }, "nominalRewardValue": { "type": "number", "description": "Nominal value for rewards program." }, "percentualRewardValue": { "type": "number", "description": "Percentage value for rewards program." }, "orderStatusRewardValue": { "type": "string", "description": "Order status reward value." }, "maxNumberOfAffectedItems": { "type": "integer", "description": "The maximum number of affected items for a promotion." }, "maxNumberOfAffectedItemsGroupKey": { "type": "string", "description": "The maximum number of affected items by group key for a promotion." }, "applyToAllShippings": { "type": "boolean", "description": "Promotion will be applied to all kind of shipping." }, "nominalTax": { "type": "number", "description": "Nominal tax." }, "origin": { "type": "string", "description": "Origin of the promotion, `marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSeller": { "type": "string", "description": "Seller Name." }, "idSellerIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any seller present on the idSeller field. If set to `false`, sellers present on that field will make this promotion not to be applied." }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this promotion.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this promotion not to be applied." }, "marketingTags": { "type": "array", "description": "Promotion Marketing tags.", "items": { "type": "string", "description": "Promotion Marketing tag." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any marketing tag present on the `marketingTags` field. If set to `true`, marketing tags present on that field will make this promotion not to be applied." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience." } }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this promotion not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this promotion not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this promotion not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID." }, "name": { "type": "string", "description": "SKU Name." } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this promotion not to be applied." }, "utmSource": { "type": "string", "description": "Coupon utmSource code." }, "utmCampaign": { "type": "string", "description": "Coupon utmCampaign code." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount** or **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "deprecated": true, "description": "Coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to activate the promotion." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to activate the promotion." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "If products that already are receiving a promotion, will be considered on the chart total value. There are three options available: `IncludeMatchedItems`, `ExcludeMatchedItems`, `AllItems`." }, "collections": { "type": "array", "description": "Array composed by the collections that will be activated or deactivated the promotion.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this promotion not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the promotion." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the promotion only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the promotion will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "clusterOperator": { "type": "string", "deprecated": true, "description": "Cluster operator." }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the promotion can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the promotion can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the promotion can be used multiple times per client." }, "accumulateWithManualPrice": { "type": "boolean", "description": "Allows the promotion to apply to products whose prices have been manually added by a call center operator." }, "type": { "type": "string", "description": "Defines what is the type of the promotion or indicates if it is a tax. Possible values: `regular` ([Regular Promotion](https://help.vtex.com/tutorial/regular-promotion--tutorials_327)), `combo` ([Buy Together](https://help.vtex.com/en/tutorial/buy-together--tutorials_323)), `forThePriceOf` ([More for Less](https://help.vtex.com/en/tutorial/creating-a-more-for-less-promotion--tutorials_325)), `progressive` ([Progressive Discount](https://help.vtex.com/en/tutorial/progressive-discount--tutorials_324)), `buyAndWin` ([Buy One Get One](https://help.vtex.com/en/tutorial/buy-one-get-one--tutorials_322)), `maxPricePerItem` (Deprecated), `campaign` ([Campaign Promotion](https://help.vtex.com/en/tutorial/campaign-promotion--1ChYXhK2AQGuS6wAqS8Ume)), `tax` (Tax), `multipleEffects` (Multiple Effects)." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } } } } } } } } } } }, "/api/rnb/pvt/taxes/calculatorconfiguration": { "get": { "tags": [ "Promotions and taxes" ], "summary": "Get all taxes", "description": "Retrieves all taxes from an account.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetAllTaxes", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "limitConfiguration": { "activesCount": 1, "limit": 100 }, "items": [ { "idCalculatorConfiguration": "90f4affc-fea0-424c-a7a7-c69aec7bbdc8", "lastModifiedUtc": "2022-05-10T02:42:52.4493897Z", "name": "Government tax", "beginDate": "2022-05-09T03:00:00Z", "endDate": "2022-06-01T02:30:00Z", "isActive": true, "description": "Tax applied by the government", "type": "tax", "utmSource": "", "utmCampain": "", "utmiCampaign": "", "status": "active", "percentualTax": 10.0, "isArchived": false, "hasMaxPricePerItem": false, "isTax": true, "Campaigns": [], "activateGiftsMultiplier": false, "scope": { "allCatalog": false, "skus": 1, "skusAreInclusive": true, "products": 1, "productsAreInclusive": true, "collections": 1, "collectionsAreInclusive": true, "categories": 1, "categoriesAreInclusive": true, "brands": 1, "brandsAreInclusive": true, "sellers": 0, "sellersAreInclusive": false }, "maxUsage": 0, "idsSalesChannel": [ "1" ], "areSalesChannelIdsExclusive": false } ], "disabledItems": [], "archivedItems": [] }, "schema": { "type": "object", "properties": { "limitConfiguration": { "type": "object", "description": "Limit configuration.", "properties": { "activesCount": { "type": "integer", "description": "Actives count." }, "limit": { "type": "integer", "description": "Limit." } } }, "items": { "$ref": "#/components/schemas/GetTaxes" }, "disabledItems": { "type": "array", "description": "Disabled items.", "items": { "type": "string", "description": "Disabled item." } }, "archivedItems": { "type": "array", "description": "Archived items.", "items": { "type": "string", "description": "Archived item." } } } } } } } }, "deprecated": false } }, "/api/rnb/pvt/calculatorconfiguration/{idCalculatorConfiguration}": { "get": { "tags": [ "Promotions and taxes" ], "summary": "Get promotion or tax by ID", "description": "Retrieves a specific promotion by its Promotion ID or a specific tax by its tax ID.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetCalculatorConfigurationById", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "idCalculatorConfiguration", "in": "path", "description": "Promotion ID or tax ID.", "required": true, "style": "simple", "schema": { "type": "string", "example": "d8a1cd2e-b667-4054-b3ae-b79124c7218e" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "idCalculatorConfiguration": "d8a1cd2e-b667-4054-b3ae-b79124c7218e", "name": "Social Seller Promotion", "beginDateUtc": "2020-05-01T18:47:15.89Z", "lastModified": "2021-02-23T20:58:38.7963862Z", "daysAgoOfPurchases": 0, "isActive": true, "isArchived": false, "isFeatured": false, "disableDeal": false, "activeDaysOfWeek": [], "offset": -3, "activateGiftsMultiplier": false, "newOffset": -3.0, "maxPricesPerItems": [], "cumulative": false, "discountType": "percentual", "nominalShippingDiscountValue": 0.0, "absoluteShippingDiscountValue": 0.0, "nominalDiscountValue": 0.0, "nominalDiscountType": "item", "maximumUnitPriceDiscount": 0.0, "percentualDiscountValue": 10.0, "rebatePercentualDiscountValue": 0.0, "percentualShippingDiscountValue": 0.0, "percentualTax": 0.0, "shippingPercentualTax": 0.0, "percentualDiscountValueList1": 0.0, "percentualDiscountValueList2": 0.0, "skusGift": { "quantitySelectable": 0 }, "nominalRewardValue": 0.0, "percentualRewardValue": 0.0, "orderStatusRewardValue": "invoiced", "maxNumberOfAffectedItems": 0, "maxNumberOfAffectedItemsGroupKey": "perCart", "applyToAllShippings": false, "nominalTax": 0.0, "origin": "marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [], "marketingTagsAreNotInclusive": false, "paymentsMethods": [ { "id": "202", "name": "Dinheiro (202)" }, { "id": "2", "name": "Visa (2)" } ], "stores": [], "campaigns": [], "conditionsIds": [ "372e1868-2c0e-4437-be45-1ef8c9cab735" ], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": false, "brands": [], "brandsAreInclusive": false, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "utmSource": "georgeSource", "utmCampaign": "georgeTest", "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 0, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [ { "id": "2", "name": "gustaBT" }, { "id": "5", "name": "exampleSKU" } ], "listSku2BuyTogether": [ { "id": "3", "name": "anotherSKU" }, { "id": "6", "name": "exampleProduct" } ], "coupon": [], "totalValueFloor": 0, "totalValueCeling": 0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": false, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "countries": [ "BRA" ], "itemMaxPrice": 0.0, "itemMinPrice": 0.0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "accumulateWithManualPrice": false, "type": "regular", "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [], "optIn": { "sellers": [ "seller-id-1", "seller-id-2" ] } }, "schema": { "type": "object", "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Promotion ID." }, "name": { "type": "string", "description": "Promotion Name." }, "description": { "type": "string", "description": "Promotion internal description." }, "beginDateUtc": { "type": "string", "description": "Promotion Begin Date (UTC)." }, "endDateUtc": { "type": "string", "description": "Promotion End Date (UTC)." }, "lastModified": { "type": "string", "description": "When the Promotion was last modified." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "isActive": { "type": "boolean", "description": "If set as `true` the Promotion is activated. If set as `false` the Promotion is deactivated." }, "isArchived": { "type": "boolean", "description": "If set as `true` the Promotion is archived. If set as `false` the Promotion is not archived." }, "isFeatured": { "type": "boolean", "description": "Insert a flag with the promotion name used in the product's window display and page." }, "disableDeal": { "type": "boolean", "deprecated": true, "description": "Indicates whether a deal is disabled (`true`) or not (`false`)." }, "activeDaysOfWeek": { "type": "array", "description": "Defines which days of the week the promotion will applied.", "items": { "type": "string", "description": "Day of the week that the promotion will be valid." } }, "offset": { "type": "integer", "description": "Time offset from UTC in seconds." }, "activateGiftsMultiplier": { "type": "boolean", "description": "If set as `true`, it activates gifts Multiplier." }, "newOffset": { "type": "number", "description": "New time offset from UTC in seconds." }, "maxPricesPerItems": { "type": "array", "deprecated": true, "description": "List of max price per items.", "items": { "type": "string", "description": "Max price." } }, "cumulative": { "type": "boolean", "description": "Defines if a promotion can accumulate with another one. (`true`) or not (`false`)." }, "discountType": { "type": "string", "description": "The type of discount that will apply to the promotion." }, "nominalShippingDiscountValue": { "type": "number", "description": "Exact discount to be applied for the shipping value." }, "absoluteShippingDiscountValue": { "type": "number", "description": "Maximum value for the shipping." }, "nominalDiscountValue": { "type": "number", "description": "Exact discount to be applied for the total purchase value." }, "nominalDiscountType": { "type": "string", "description": "Controls the behavior of the `NominalDiscount` effect. This field only accepts two string values:\n\n -`item`: applies the intended nominal discount on every item present on the cart. \n\n -`cart`: keeps the behavior as it currently is: the whole order/cart receives a nominal discount that is distributed among the items." }, "maximumUnitPriceDiscount": { "type": "number", "description": "The maximum price for each item of the purchase will be the price set up." }, "percentualDiscountValue": { "type": "number", "description": "Percentage discount to be applied for total purchase value." }, "rebatePercentualDiscountValue": { "type": "number", "description": "Percentual Shipping Discount Value." }, "percentualShippingDiscountValue": { "type": "number", "description": "Percentage discount to be applied for shipping value." }, "percentualTax": { "type": "number", "description": "Percentual tax over purchase total value." }, "shippingPercentualTax": { "type": "number", "description": "Shipping Percentual tax over purchase total value." }, "percentualDiscountValueList1": { "type": "number", "description": "Valid discounts for the SKUs in `listSku1BuyTogether`, discount list used for Buy Together Promotions." }, "percentualDiscountValueList2": { "type": "number", "description": "Equivalent to `percentualDiscountValueList1`." }, "skusGift": { "type": "object", "description": "SKU Gift Object. Total discount on the product value set as a gift.", "properties": { "quantitySelectable": { "type": "integer", "description": "Quantity of SKU Gifts." }, "gifts": { "type": "integer", "description": "Array with SKU Gifts IDs." } } }, "nominalRewardValue": { "type": "number", "description": "Nominal value for rewards program." }, "percentualRewardValue": { "type": "number", "description": "Percentage value for rewards program." }, "orderStatusRewardValue": { "type": "string", "description": "Order status reward value." }, "maxNumberOfAffectedItems": { "type": "integer", "description": "The maximum number of affected items for a promotion." }, "maxNumberOfAffectedItemsGroupKey": { "type": "string", "description": "The maximum number of affected items by group key for a promotion." }, "applyToAllShippings": { "type": "boolean", "description": "Promotion will be applied to all kind of shipping." }, "nominalTax": { "type": "number", "description": "Nominal tax." }, "origin": { "type": "string", "description": "Origin of the promotion, `marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSeller": { "type": "string", "description": "Seller Name." }, "idSellerIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any seller present on the idSeller field. If set to `false`, sellers present on that field will make this promotion not to be applied." }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this promotion.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this promotion not to be applied." }, "marketingTags": { "type": "array", "description": "Promotion Marketing tags.", "items": { "type": "string", "description": "Promotion Marketing tag." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any marketing tag present on the `marketingTags` field. If set to `true`, marketing tags present on that field will make this promotion not to be applied." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience." } }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this promotion not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this promotion not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this promotion not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the promotion.", "items": { "type": "object", "required": [ "id", "name" ], "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID.", "nullable": false }, "name": { "type": "string", "description": "SKU Name.", "nullable": false } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this promotion not to be applied." }, "utmSource": { "type": "string", "description": "Coupon utmSource code." }, "utmCampaign": { "type": "string", "description": "Coupon utmCampaign code." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount** or **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "description": "Coupon code.", "deprecated": true } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to activate the promotion." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to activate the promotion." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "If products that already are receiving a promotion, will be considered on the chart total value. There are three options available: `IncludeMatchedItems`, `ExcludeMatchedItems`, `AllItems`." }, "collections": { "type": "array", "description": "Array composed by the collections that will be activated or deactivated the promotion.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this promotion not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the promotion." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the promotion only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code.", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "countries": { "type": "array", "description": "List of countries that are activated for this promotion.", "items": { "type": "string", "description": "Three-digit country code." } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the promotion will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "multipleSkusCause": { "type": "object", "description": "Object composed by a list of SKUs on a Multiple Effects promotion. Structure: `\"{SkuId}\": {PercentageDiscount}`. There is a limit of 400 SKUs for this type of promotion.", "additionalProperties": { "type": "string", "description": "SKU ID." } }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the promotion can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the promotion can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the promotion can be used multiple times per client." }, "accumulateWithManualPrice": { "type": "boolean", "description": "Allows the promotion to apply to products whose prices have been manually added by a call center operator." }, "type": { "type": "string", "description": "Defines what is the type of the promotion or indicates if it is a tax. Possible values: `regular` ([Regular Promotion](https://help.vtex.com/tutorial/regular-promotion--tutorials_327)), `combo` ([Buy Together](https://help.vtex.com/en/tutorial/buy-together--tutorials_323)), `forThePriceOf` ([More for Less](https://help.vtex.com/en/tutorial/creating-a-more-for-less-promotion--tutorials_325)), `progressive` ([Progressive Discount](https://help.vtex.com/en/tutorial/progressive-discount--tutorials_324)), `buyAndWin` ([Buy One Get One](https://help.vtex.com/en/tutorial/buy-one-get-one--tutorials_322)), `maxPricePerItem` (Deprecated), `campaign` ([Campaign Promotion](https://help.vtex.com/en/tutorial/campaign-promotion--1ChYXhK2AQGuS6wAqS8Ume)), `tax` (Tax), `multipleEffects` (Multiple Effects)." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } }, "optIn": { "type": "object", "description": "Object defining the sellers that opted in to participate in the promotion. If `null`, the promotion is not restricted by seller opt-in.", "nullable": true, "properties": { "sellers": { "type": "array", "description": "List of seller IDs that opted in to the promotion.", "items": { "type": "string", "description": "Seller ID." } } } } } } } } } } } }, "/api/rnb/pvt/calculatorconfiguration/{promotionId}/seller-opt": { "post": { "tags": [ "Promotions and taxes" ], "summary": "Seller opt-in or opt-out", "description": "Adds or removes one or more sellers to or from a specified promotion.\r\n\r\n>⚠️ When the first seller opts in to an inactive promotion, it's activated, and when the last seller opts out, it's deactivated.\r\n\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 `401` error. These are the applicable resources for this endpoint\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| ----------------------- | ----------------------------- | ------------------------------------- |\r\n| Rates and Benefits | Manage external seller promos | **External_Seller_Promotions** |", "operationId": "OptSellerInOrOutOfPromotion", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "promotionId", "in": "path", "description": "The ID of the promotion.", "required": true, "schema": { "type": "string", "example": "d8a10358-cbb7-42ae-b020-91e104d997e7" } }, { "name": "an", "in": "query", "description": "The VTEX account name that owns the promotion.", "required": true, "schema": { "type": "string", "example": "mystore" } }, { "name": "if-Match", "in": "header", "description": "Must match the current `lastModified` value of the promotion.", "required": true, "schema": { "type": "string", "example": "2025-05-27T14:05:41.7706903Z" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "sellerIds", "operation" ], "properties": { "sellerIds": { "type": "array", "description": "List of seller IDs that opted in or out to the promotion.", "items": { "description": "Seller ID.", "type": "string", "example": "seller-id-1" } }, "operation": { "type": "string", "description": "Operation to perform: `OptIn` or `OptOut`.", "enum": [ "OptIn", "OptOut" ], "example": "OptIn" } } }, "example": { "sellerIds": [ "seller-id-1", "seller-id-2" ], "operation": "OptIn" } } } }, "responses": { "200": { "description": "Opt-in or opt-out executed successfully.", "content": { "application/json": { "schema": { "type": "object", "properties": { "lastModified": { "type": "string", "description": "Timestamp of the promotion's last modification (UTC)." } } }, "example": { "lastModified": "2025-05-27T14:05:41.7706903Z" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "type": "string", "description": "Error message." }, "example": "The promotion's `IdSellerIsInclusive` field is false, or the promotion is archived/inactive without any opt-in sellers." } } }, "401": { "description": "Unauthorized", "content": { "text/plain": { "schema": { "type": "string", "description": "Error message." }, "example": "The user or app key does not have the Manage External Seller Promotions role." } } }, "412": { "description": "Precondition Failed", "content": { "text/plain": { "schema": { "type": "string", "description": "Error message." }, "example": "The `If-Match` header does not match the promotion's current `lastModified`." } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "type": "string", "description": "Error message." }, "example": "No unarchived promotion exists with the provided ID." } } } }, "deprecated": false } }, "/api/rnb/pvt/calculatorconfiguration": { "post": { "tags": [ "Promotions and taxes" ], "summary": "Create or update promotion or tax", "description": "Creates or updates a specific Promotion by its Promotion ID or a specific tax by its tax ID.\r\n\r\n>\u26A0\uFE0F You should always include both the `id` and `name` when registering objects in the request body.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "CreateOrUpdateCalculatorConfiguration", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } } ], "requestBody": { "content": { "application/json": { "example": { "idCalculatorConfiguration": "d8a1cd2e-b667-4054-b3ae-b79124c7218e", "name": "Promotion Social Seller", "description": "Promotion for Social Seller", "beginDateUtc": "2020-05-01T18:47:15.89Z", "lastModified": "2021-09-17T18:13:16.2896414Z", "daysAgoOfPurchases": 0, "isActive": true, "isArchived": false, "isFeatured": false, "disableDeal": false, "activeDaysOfWeek": [], "offset": -3, "activateGiftsMultiplier": false, "newOffset": -3.0, "maxPricesPerItems": [], "cumulative": false, "discountType": "percentual", "nominalShippingDiscountValue": 0.0, "absoluteShippingDiscountValue": 0.0, "nominalDiscountValue": 10.0, "nominalDiscountType": "item", "maximumUnitPriceDiscount": 0.0, "percentualDiscountValue": 10.0, "rebatePercentualDiscountValue": 0.0, "percentualShippingDiscountValue": 0.0, "percentualTax": 0.0, "shippingPercentualTax": 0.0, "percentualDiscountValueList1": 0.0, "percentualDiscountValueList2": 0.0, "skusGift": { "quantitySelectable": 0 }, "nominalRewardValue": 0.0, "percentualRewardValue": 0.0, "orderStatusRewardValue": "invoiced", "maxNumberOfAffectedItems": 0, "maxNumberOfAffectedItemsGroupKey": "perCart", "applyToAllShippings": false, "nominalTax": 0.0, "origin": "marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [], "marketingTagsAreNotInclusive": false, "paymentsMethods": [], "stores": [], "campaigns": [], "conditionsIds": [ "372e1868-2c0e-4437-be45-1ef8c9cab735" ], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": false, "brands": [], "brandsAreInclusive": false, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "utmSource": "georgeSource", "utmCampaign": "georgeTest", "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 0, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "coupon": [], "totalValueFloor": 0.0, "totalValueCeling": 0.0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": false, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0.0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "accumulateWithManualPrice": false, "type": "regular", "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [], "optIn": { "sellers": [ "seller-id-1", "seller-id-2" ] } }, "schema": { "type": "object", "required": [ "type", "isActive", "origin", "beginDateUtc", "percentualShippingDiscountValue" ], "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Promotion ID or tax ID.", "example": "ba087fa9-8587-44b3-8ef1-ade8d053e9e9" }, "name": { "type": "string", "description": "Promotion name or tax name.", "example": "Promoção Social Seller" }, "description": { "type": "string", "description": "Internal description of the promotion or tax.", "example": "Description of the promotion." }, "beginDateUtc": { "type": "string", "description": "Promotion or tax Begin Date (UTC).", "example": "2020-05-01T18:47:15.89Z" }, "endDateUtc": { "type": "string", "description": "Promotion or tax End Date (UTC).", "example": "2020-05-01T18:47:15.89Z" }, "lastModified": { "type": "string", "description": "Date when the promotion or tax was last modified.", "example": "2021-02-23T20:58:38.7963862Z" }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history.", "example": 0 }, "isActive": { "type": "boolean", "description": "If set as `true` the promotion or tax is activated. If set as `false` the promotion or tax is deactivated.", "example": true }, "isArchived": { "type": "boolean", "description": "If set as `true` the promotion or tax is archived. If set as `false` the promotion or tax is not archived.", "example": false }, "isFeatured": { "type": "boolean", "description": "Insert a flag with the promotion name used in the product's window display and page.", "example": true }, "disableDeal": { "type": "boolean", "deprecated": true, "description": "Indicates whether a deal is disabled (`true`) or not (`false`).", "example": false }, "activeDaysOfWeek": { "type": "array", "description": "Defines which days of the week the promotion or tax will applied.", "items": { "type": "string", "description": "Day of the week that the promotion or tax will be valid.", "example": "Monday" } }, "offset": { "type": "integer", "description": "Time offset from UTC in seconds.", "example": -3 }, "activateGiftsMultiplier": { "type": "boolean", "description": "If set as `true`, it activates gifts Multiplier.", "example": false }, "newOffset": { "type": "number", "description": "New time offset from UTC in seconds.", "example": -3 }, "maxPricesPerItems": { "type": "array", "deprecated": true, "description": "List of max price per items.", "items": { "type": "string", "description": "Max price.", "example": "100" } }, "cumulative": { "type": "boolean", "description": "Defines if a promotion or tax can accumulate with another one. (`true`) or not (`false`).", "example": false }, "discountType": { "type": "string", "description": "The type of discount that will apply to the promotion.", "example": "percentual" }, "nominalShippingDiscountValue": { "type": "number", "description": "Exact discount to be applied for the shipping value.", "example": 0 }, "absoluteShippingDiscountValue": { "type": "number", "description": "Maximum shipping value.", "example": 0 }, "nominalDiscountValue": { "type": "number", "description": "Exact discount to be applied for the total purchase value.", "example": 10 }, "nominalDiscountType": { "type": "string", "description": "Controls the behavior of the `NominalDiscount` effect. This field only accepts two string values:\n\n -`item`: applies the intended nominal discount on every item present on the cart. \n\n -`cart`: keeps the behavior as it currently is: the whole order/cart receives a nominal discount that is distributed among the items.", "example": "item" }, "maximumUnitPriceDiscount": { "type": "number", "description": "The maximum price for each item of the purchase will be the price set up.", "example": 0 }, "percentualDiscountValue": { "type": "number", "description": "Percentage discount to be applied for total purchase value.", "example": 10 }, "rebatePercentualDiscountValue": { "type": "number", "description": "Percentual Shipping Discount Value.", "example": 0 }, "percentualShippingDiscountValue": { "type": "number", "description": "Percentage discount to be applied for shipping value.", "example": 0 }, "percentualTax": { "type": "number", "description": "Percentual tax over purchase total value.", "example": 0 }, "shippingPercentualTax": { "type": "number", "description": "Shipping Percentual tax over purchase total value.", "example": 0 }, "percentualDiscountValueList1": { "type": "number", "description": "Valid discounts for the SKUs in `listSku1BuyTogether`, discount list used for Buy Together Promotions.", "example": 0 }, "percentualDiscountValueList2": { "type": "number", "description": "Equivalent to `percentualDiscountValueList1`.", "example": 0 }, "skusGift": { "type": "object", "description": "SKU Gift Object. Total discount on the product value set as a gift.", "properties": { "quantitySelectable": { "type": "integer", "description": "Quantity of SKU Gifts.", "example": 0 }, "gifts": { "type": "array", "description": "Array with SKU Gifts IDs.", "items": { "type": "string", "description": "SKU gift ID.", "example": "123" } } } }, "nominalRewardValue": { "type": "number", "description": "Nominal value for rewards program.", "example": 0 }, "percentualRewardValue": { "type": "number", "description": "Percentage value for rewards program.", "example": 0 }, "orderStatusRewardValue": { "type": "string", "description": "Order status reward value.", "example": "invoiced" }, "maxNumberOfAffectedItems": { "type": "integer", "description": "The maximum number of affected items for a promotion.", "example": 0 }, "maxNumberOfAffectedItemsGroupKey": { "type": "string", "description": "Defines the maximum number of affected items by group key for a promotion. Possible values: \r\n- `perProductId`: Maximum items per product\r\n- `perCart`: Maximum items per cart\r\n- `perSku`: Maximum items per SKU", "enum": [ "perProductId", "perCart", "perSku" ], "example": "perCart" }, "applyToAllShippings": { "type": "boolean", "description": "Promotion or tax will be applied to all kind of shipping.", "example": false }, "nominalTax": { "type": "number", "description": "Nominal tax.", "example": 0 }, "origin": { "type": "string", "description": "Origin of the promotion or tax, `marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information.", "example": "marketplace" }, "idSeller": { "type": "string", "description": "Seller Name.", "example": "1" }, "idSellerIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any seller present on the `idSeller` field. If set to `false`, sellers present on that field will make this promotion or tax not to be applied.", "example": false }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this promotion or tax.", "items": { "type": "string", "description": "Trade policy ID.", "example": "Principal" } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this promotion or tax will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this promotion or tax not to be applied.", "example": false }, "marketingTags": { "type": "array", "description": "Promotion or tax Marketing tags.", "items": { "type": "string", "description": "Promotion or tax Marketing tag.", "example": "MKT1" } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "If set to `false`, this promotion or tax will be applied to any marketing tag present on the `marketingTags` field. If set to `true`, marketing tags present on that field will make this promotion or tax not to be applied.", "example": false }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods that activate this promotion or tax.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID.", "example": "2" }, "name": { "type": "string", "description": "Payment Method Name.", "example": "Visa (2)" } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store.", "example": "store" } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience.", "example": "campaign" } }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID.", "example": "1" } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied.", "example": false }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the promotion or tax.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID.", "example": "1" }, "name": { "type": "string", "description": "Category Name.", "example": "Vinhos Tintos (1)" } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this promotion or tax not to be applied.", "example": true }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the promotion or tax.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID.", "example": "1" }, "name": { "type": "string", "description": "Brand Name.", "example": "Brand (1)" } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this promotion or tax not to be applied.", "example": true }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the promotion or tax.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID.", "example": "1" }, "name": { "type": "string", "description": "Product Name.", "example": "Vinho (1)" } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this promotion or tax not to be applied.", "example": true }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the promotion or tax.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID.", "example": "1" }, "name": { "type": "string", "description": "SKU Name.", "example": "Vinho tinto (1)" } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this promotion or tax not to be applied.", "example": true }, "utmSource": { "type": "string", "description": "Coupon utmSource code.", "example": "testSource" }, "utmCampaign": { "type": "string", "description": "Coupon utmCampaign code.", "example": "testSource" }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount** or **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion.", "example": "157" }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion.", "example": "Inverno (157)" } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion.", "example": "157" }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion.", "example": "Inverno (157)" } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion.", "example": 0 }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion.", "example": 0 }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU.", "example": false }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion.", "example": "White Shirt" } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion.", "example": "White Shirt" } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "deprecated": true, "description": "Coupon.", "example": "12345" } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to activate the promotion or tax.", "example": 0 }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to activate the promotion or tax.", "example": 0 }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total vale including all items.", "example": false }, "totalValueMode": { "type": "string", "description": "Defines if products that already are receiving a promotion will be considered on the chart total value. There are three options available: `IncludeMatchedItems`, `ExcludeMatchedItems`, `AllItems`.", "example": "IncludeMatchedItems" }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the promotion or tax.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID.", "example": "1" }, "name": { "type": "string", "description": "Collection Name.", "example": "Collection (1)" } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this promotion or tax not to be applied.", "example": false }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN.", "example": "1234" } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer.", "example": "issuer" } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to activate the promotion or tax.", "example": 0 }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method.", "example": "Express" } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer.", "example": false }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy.", "example": false }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged.", "example": false }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same.", "example": false }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the promotion or tax only if the list price and price is different.", "example": false }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code.", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code.", "example": "20000-000" }, "zipCodeTo": { "type": "string", "description": "Final Zip Code.", "example": "20000-100" }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion.", "example": true } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item.", "example": 0 }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item.", "example": 0 }, "installment": { "type": "integer", "deprecated": true, "description": "Installment.", "example": 1 }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the promotion or tax will be applied considering a minimum and maximum values for installments.", "example": false }, "minInstallment": { "type": "integer", "description": "Minimum value for installment.", "example": 0 }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment.", "example": 0 }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant.", "example": "merchant" } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression.", "example": "email contains user@mail.com" } }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule.", "example": "rules" } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type.", "example": "Gift SKU" } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification.", "example": "spec" } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID.", "example": "1" }, "name": { "type": "string", "description": "Affiliate Name.", "example": "Amazon" } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the promotion or tax can be used.", "example": 0 }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the promotion can be used multiple times per client.", "example": 0 }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items.", "example": false }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the promotion can be used multiple times per client.", "example": false }, "accumulateWithManualPrice": { "type": "boolean", "description": "Allows the promotion to apply to products whose prices have been manually added by a call-center operator.", "example": false }, "type": { "type": "string", "description": "Defines what is the type of the promotion or indicates if it is a tax. Possible values: `regular` ([Regular Promotion](https://help.vtex.com/tutorial/regular-promotion--tutorials_327)), `combo` ([Buy Together](https://help.vtex.com/en/tutorial/buy-together--tutorials_323)), `forThePriceOf` ([More for Less](https://help.vtex.com/en/tutorial/creating-a-more-for-less-promotion--tutorials_325)), `progressive` ([Progressive Discount](https://help.vtex.com/en/tutorial/progressive-discount--tutorials_324)), `buyAndWin` ([Buy One Get One](https://help.vtex.com/en/tutorial/buy-one-get-one--tutorials_322)), `maxPricePerItem` (Deprecated), `campaign` ([Campaign Promotion](https://help.vtex.com/en/tutorial/campaign-promotion--1ChYXhK2AQGuS6wAqS8Ume)), `tax` (Tax), `multipleEffects` (Multiple Effects).", "example": "regular" }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm.", "example": false }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value.", "example": 10 } }, "optIn": { "type": "object", "description": "Object defining the sellers that opted in to participate in the promotion. If null, the promotion is not restricted by seller opt-in.", "nullable": true, "properties": { "sellers": { "type": "array", "description": "List of seller IDs that opted in to the promotion.", "items": { "type": "string", "description": "Seller ID.", "example": "seller-id-1" } } } } } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "idCalculatorConfiguration": "d8a1cd2e-b667-4054-b3ae-b79124c7218e", "name": "Promoção Social Seller", "beginDateUtc": "2020-05-01T18:47:15.89Z", "lastModified": "2021-02-23T20:58:38.7963862Z", "daysAgoOfPurchases": 0, "isActive": true, "isArchived": false, "isFeatured": false, "disableDeal": false, "activeDaysOfWeek": [], "offset": -3, "activateGiftsMultiplier": false, "newOffset": -3.0, "maxPricesPerItems": [], "cumulative": false, "discountType": "percentual", "nominalShippingDiscountValue": 0.0, "absoluteShippingDiscountValue": 0.0, "nominalDiscountValue": 0.0, "maximumUnitPriceDiscount": 0.0, "percentualDiscountValue": 10.0, "rebatePercentualDiscountValue": 0.0, "percentualShippingDiscountValue": 0.0, "percentualTax": 0.0, "shippingPercentualTax": 0.0, "percentualDiscountValueList1": 0.0, "percentualDiscountValueList2": 0.0, "skusGift": { "quantitySelectable": 0 }, "nominalRewardValue": 0.0, "percentualRewardValue": 0.0, "orderStatusRewardValue": "invoiced", "maxNumberOfAffectedItems": 0, "maxNumberOfAffectedItemsGroupKey": "perCart", "applyToAllShippings": false, "nominalTax": 0.0, "origin": "marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [], "marketingTagsAreNotInclusive": false, "paymentsMethods": [ { "id": "202", "name": "Dinheiro (202)" }, { "id": "2", "name": "Visa (2)" } ], "stores": [], "campaigns": [], "conditionsIds": [ "372e1868-2c0e-4437-be45-1ef8c9cab735" ], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": false, "brands": [], "brandsAreInclusive": false, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "utmSource": "georgeSource", "utmCampaign": "georgeTest", "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 0, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "coupon": [], "totalValueFloor": 0, "totalValueCeling": 0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": false, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "accumulateWithManualPrice": false, "type": "regular", "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [], "optIn": { "sellers": [ "seller-id-1", "seller-id-2" ] } }, "schema": { "type": "object", "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Promotion ID." }, "name": { "type": "string", "description": "Promotion Name." }, "description": { "type": "string", "description": "Promotion internal description." }, "beginDateUtc": { "type": "string", "description": "Promotion Begin Date (UTC)." }, "endDateUtc": { "type": "string", "description": "Promotion End Date (UTC)." }, "lastModified": { "type": "string", "description": "When the Promotion was last modified." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "isActive": { "type": "boolean", "description": "If set as `true` the Promotion is activated. If set as `false` the Promotion is deactivated." }, "isArchived": { "type": "boolean", "description": "If set as `true` the Promotion is archived. If set as `false` the Promotion is not archived." }, "isFeatured": { "type": "boolean", "description": "Insert a flag with the promotion name used in the product's window display and page." }, "disableDeal": { "type": "boolean", "deprecated": true, "description": "Indicates whether a deal is disabled (`true`) or not (`false`)." }, "activeDaysOfWeek": { "type": "array", "description": "Defines which days of the week the promotion will applied.", "items": { "type": "string", "description": "Day of the week that the promotion will be valid." } }, "offset": { "type": "integer", "description": "Time offset from UTC in seconds." }, "activateGiftsMultiplier": { "type": "boolean", "description": "If set as `true`, it activates gifts Multiplier." }, "newOffset": { "type": "number", "description": "New time offset from UTC in seconds." }, "maxPricesPerItems": { "type": "array", "deprecated": true, "description": "List of max price per items.", "items": { "type": "string", "description": "Max price." } }, "cumulative": { "type": "boolean", "description": "Defines if a promotion can accumulate with another one. (`true`) or not (`false`)." }, "discountType": { "type": "string", "description": "The type of discount that will apply to the promotion." }, "nominalShippingDiscountValue": { "type": "number", "description": "Exact discount to be applied for the shipping value." }, "absoluteShippingDiscountValue": { "type": "number", "description": "Maximum shipping value." }, "nominalDiscountValue": { "type": "number", "description": "Exact discount to be applied for the total purchase value." }, "maximumUnitPriceDiscount": { "type": "number", "description": "The maximum price for each item of the purchase will be the price set up." }, "percentualDiscountValue": { "type": "number", "description": "Percentage discount to be applied for total purchase value." }, "rebatePercentualDiscountValue": { "type": "number", "description": "Percentual Shipping Discount Value." }, "percentualShippingDiscountValue": { "type": "number", "description": "Percentage discount to be applied for shipping value." }, "percentualTax": { "type": "number", "description": "Percentual tax over purchase total value." }, "shippingPercentualTax": { "type": "number", "description": "Shipping Percentual tax over purchase total value." }, "percentualDiscountValueList1": { "type": "number", "description": "Valid discounts for the SKUs in `listSku1BuyTogether`, discount list used for Buy Together Promotions." }, "percentualDiscountValueList2": { "type": "number", "description": "Equivalent to `percentualDiscountValueList1`." }, "skusGift": { "type": "object", "description": "SKU Gift Object. Total discount on the product value set as a gift.", "properties": { "quantitySelectable": { "type": "integer", "description": "Quantity of SKU Gifts." }, "gifts": { "type": "integer", "description": "Array with SKU Gifts IDs." } } }, "nominalRewardValue": { "type": "number", "description": "Nominal value for rewards program." }, "percentualRewardValue": { "type": "number", "description": "Percentage value for rewards program." }, "orderStatusRewardValue": { "type": "string", "description": "Order status reward value." }, "maxNumberOfAffectedItems": { "type": "integer", "description": "The maximum number of affected items for a promotion." }, "maxNumberOfAffectedItemsGroupKey": { "type": "string", "description": "Defines the maximum number of affected items by group key for a promotion. Possible values: \r\n- `perProductId`: Maximum items per product\r\n- `perCart`: Maximum items per cart\r\n- `perSku`: Maximum items per SKU", "enum": [ "perProductId", "perCart", "perSku" ] }, "applyToAllShippings": { "type": "boolean", "description": "Promotion will be applied to all kind of shipping." }, "nominalTax": { "type": "number", "description": "Nominal tax." }, "origin": { "type": "string", "description": "Origin of the promotion, `marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSeller": { "type": "string", "description": "Seller Name." }, "idSellerIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any seller present on the `idSeller` field. If set to `false`, sellers present on that field will make this promotion not to be applied." }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this promotion.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this promotion not to be applied." }, "marketingTags": { "type": "array", "description": "Promotion Marketing tags.", "items": { "type": "string", "description": "Promotion Marketing tag." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any marketing tag present on the `marketingTags` field. If set to `true`, marketing tags present on that field will make this promotion not to be applied." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience." } }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this promotion not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this promotion not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this promotion not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID." }, "name": { "type": "string", "description": "SKU Name." } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this promotion not to be applied." }, "utmSource": { "type": "string", "description": "Coupon utmSource code." }, "utmCampaign": { "type": "string", "description": "Coupon utmCampaign code." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "deprecated": true, "description": "Coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to activate the promotion." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to activate the promotion." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "Defines if products that already are receiving a promotion will be considered on the chart total value. There are three options available: `IncludeMatchedItems`, `ExcludeMatchedItems`, `AllItems`." }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this promotion not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the promotion." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the promotion only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code.", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the promotion will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the promotion can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the promotion can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the promotion can be used multiple times per client." }, "accumulateWithManualPrice": { "type": "boolean", "description": "Allows the promotion to apply to products whose prices have been manually added by a call-center operator." }, "type": { "type": "string", "description": "Defines what is the type of the promotion or indicates if it is a tax. Possible values: `regular` ([Regular Promotion](https://help.vtex.com/tutorial/regular-promotion--tutorials_327)), `combo` ([Buy Together](https://help.vtex.com/en/tutorial/buy-together--tutorials_323)), `forThePriceOf` ([More for Less](https://help.vtex.com/en/tutorial/creating-a-more-for-less-promotion--tutorials_325)), `progressive` ([Progressive Discount](https://help.vtex.com/en/tutorial/progressive-discount--tutorials_324)), `buyAndWin` ([Buy One Get One](https://help.vtex.com/en/tutorial/buy-one-get-one--tutorials_322)), `maxPricePerItem` (Deprecated), `campaign` ([Campaign Promotion](https://help.vtex.com/en/tutorial/campaign-promotion--1ChYXhK2AQGuS6wAqS8Ume)), `tax` (Tax), `multipleEffects` (Multiple Effects)." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } }, "optIn": { "type": "object", "description": "Object defining the sellers that opted in to participate in the promotion. If `null`, the promotion is not restricted by seller opt-in.", "nullable": true, "properties": { "sellers": { "type": "array", "description": "List of seller IDs that opted in to the promotion.", "items": { "type": "string", "description": "Seller ID." } } } } } } } } }, "400": { "description": "Bad request.", "content": { "application/json": { "schema": { "type": "object", "properties": { "errors": { "type": "object", "description": "Object with errors.", "additionalProperties": { "type": "array", "description": "Array with error messages.", "items": { "type": "string", "description": "Error message.\n\nThe error message can vary as follows:\n- The `skus` object needs to have a valid `id` attribute.\n- The `products` object needs to have a valid `id` attribute.\n- The `brands` object needs to have a valid `id` attribute.\n- The `categories` object needs to have a valid `id` attribute.\n- The `paymentsMethods` object needs to have a valid `id` attribute." } } }, "status": { "type": "integer", "description": "Status code." }, "title": { "type": "string", "description": "Error title." }, "type": { "type": "string", "description": "Error detail." } } }, "example": { "error": { "": [ "The `skus` object needs to have a valid `id` attribute." ] }, "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "One or more validation errors occurred.", "status": 400 } } } } }, "deprecated": false } }, "/api/rnb/pvt/import/calculatorConfiguration": { "post": { "tags": [ "Promotions and taxes" ], "operationId": "CreateMultipleSkuPromotion", "summary": "Create multiple SKU promotion", "description": "Creates a Multiple SKU promotion. This scenario allows the creation of a single promotion for multiples SKUs with the Percentage Effect. \r\n>⚠️ The limit of SKUs on a Multiple Effects promotion is 400.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "example": "text/csv" } }, { "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" } }, { "name": "X-VTEX-calculator-name", "in": "header", "description": "Promotion Name.", "required": true, "style": "simple", "schema": { "type": "string", "example": "Test" } }, { "name": "X-VTEX-cumulative", "in": "header", "description": "Defines if the Promotion is cumulative with other promotions.", "required": false, "style": "simple", "schema": { "type": "boolean", "example": false } }, { "name": "X-VTEX-cluster-operator", "in": "header", "description": "This header allows implementing the Promotion in multiples client clusters. You can set the value as `all` - the Promotion will be valid to all the clusters - or `any` - the Promotion will be valid to any of the clusters.", "required": false, "style": "simple", "schema": { "type": "string", "example": "any" } }, { "name": "X-VTEX-cluster-expression", "in": "header", "description": "Cluster that will be included in the Promotion. To add multiple clusters, create a header for each one of them.", "required": false, "style": "simple", "schema": { "type": "string", "example": "cluster_name=true" } }, { "name": "X-VTEX-start-date", "in": "header", "description": "Promotion start date.", "required": true, "style": "simple", "schema": { "type": "string", "example": "2020-08-18T16:00:00+3:00" } }, { "name": "X-VTEX-end-date", "in": "header", "description": "Promotion end date.", "required": true, "style": "simple", "schema": { "type": "string", "example": "2020-08-18T16:30:00+3:00" } }, { "name": "X-VTEX-accumulate-with-manual-prices", "in": "header", "description": "Condition that will accumulate the Promotion with manual prices or not.", "required": true, "style": "simple", "schema": { "type": "boolean", "example": false } } ], "responses": { "200": { "description": "OK" } }, "requestBody": { "content": { "text/csv": { "schema": { "type": "string", "format": "binary", "description": "The file must contain the SKU ID and the percentage of the discount. The first line must have the headers `sku` and `effect`. The next lines must be the SKU ID and the percentage, without any spaces. For decimal values, use `.` as in `10.5`. This should be sent as a raw text on the request body.", "example": "sku,effect\r\n1,10.5" } } } } } }, "/api/rnb/pvt/import/calculatorConfiguration/{promotionId}": { "put": { "tags": [ "Promotions and taxes" ], "operationId": "UpdateMultipleSkuPromotion", "summary": "Update multiple SKU promotion", "description": "Updates information from a Multiple SKU promotion. This scenario allows the creation of a single promotion for multiple SKUs with the Percentage Effect. \r\n>⚠️ The limit of SKUs on a Multiple Effects promotion is 400.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "example": "text/csv" } }, { "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" } }, { "name": "X-VTEX-calculator-name", "in": "header", "description": "Promotion Name.", "required": true, "style": "simple", "schema": { "type": "string", "example": "Test" } }, { "name": "X-VTEX-cumulative", "in": "header", "description": "Defines if the Promotion is cumulative with other promotions.", "required": false, "style": "simple", "schema": { "type": "boolean", "example": false } }, { "name": "X-VTEX-cluster-operator", "in": "header", "description": "This header allows implementing the Promotion in multiples client clusters. You can set the value as `all` - the Promotion will be valid to all the clusters - or `any` - the Promotion will be valid to any of the clusters.", "required": false, "style": "simple", "schema": { "type": "string", "example": "any" } }, { "name": "X-VTEX-cluster-expression", "in": "header", "description": "Cluster that will be included in the Promotion. To add multiple clusters, create a header for each one of them.", "required": false, "style": "simple", "schema": { "type": "string", "example": "cluster_name=true" } }, { "name": "X-VTEX-start-date", "in": "header", "description": "Promotion start date.", "required": true, "style": "simple", "schema": { "type": "string", "example": "2020-08-18T16:00:00+3:00" } }, { "name": "X-VTEX-end-date", "in": "header", "description": "Promotion end date.", "required": true, "style": "simple", "schema": { "type": "string", "example": "2020-08-18T16:30:00+3:00" } }, { "name": "X-VTEX-accumulate-with-manual-prices", "in": "header", "description": "Condition that will accumulate the Promotion with manual prices or not.", "required": true, "style": "simple", "schema": { "type": "boolean", "example": false } }, { "name": "promotionId", "in": "path", "required": true, "description": "Promotion unique identifier.", "schema": { "type": "string", "example": "dc6b6f59-ec2b-4a13-8490-0d1e0c53ddf9" } } ], "responses": { "202": { "description": "Accepted" } }, "requestBody": { "content": { "text/csv": { "schema": { "type": "string", "format": "binary", "description": "The file must contain the SKU ID and the percentage of the discount. The first line must have the headers `sku` and `effect`. The next lines must be the SKU ID and the percentage, without any spaces. For decimal values, use `.` as in `10.5`. This should be sent as a raw text on the request body.", "example": "sku,effect\r\n1,10.5" } } } } } }, "/api/rnb/pvt/archive/calculatorConfiguration/{idCalculatorConfiguration}": { "post": { "tags": [ "Promotions and taxes" ], "operationId": "ArchivePromotion", "summary": "Archive promotion or tax", "description": "Archives a promotion or tax by its ID.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "idCalculatorConfiguration", "in": "path", "description": "Promotion ID or tax ID.", "required": true, "style": "simple", "schema": { "type": "string", "example": "d8a1cd2e-b667-4054-b3ae-b79124c7218e" } } ], "responses": { "204": { "description": "No Content" } } } }, "/api/rnb/pvt/unarchive/calculatorConfiguration/{idCalculatorConfiguration}": { "post": { "tags": [ "Promotions and taxes" ], "operationId": "UnarchivePromotion", "summary": "Unarchive promotion or tax", "description": "Unarchives a promotion or tax by its ID.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "idCalculatorConfiguration", "in": "path", "description": "Promotion ID or tax ID.", "required": true, "style": "simple", "schema": { "type": "string", "example": "d8a1cd2e-b667-4054-b3ae-b79124c7218e" } } ], "responses": { "204": { "description": "No Content" } } } }, "/api/rnb/pvt/archive/benefits/calculatorConfiguration": { "get": { "tags": [ "Promotions and taxes" ], "operationId": "GetArchivedPromotions", "summary": "List archived promotions", "description": "Lists all archived promotions.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "items": [ { "idCalculatorConfiguration": "05558233-b415-4f2e-9822-ebdb3918623b", "lastModifiedUtc": "2021-04-30T17:56:29.7157634Z", "name": "Promoção Progressiva", "beginDate": "2021-04-15T03:00:00Z", "endDate": "2021-04-16T02:30:00Z", "isActive": false, "description": "Progressive discount promotion.", "type": "progressive", "utmSource": "", "utmCampain": "", "utmiCampaign": "", "nominalDiscountType": "item", "status": "inactive", "percentualTax": 0.0, "isArchived": true, "hasMaxPricePerItem": false, "isTax": false, "Campaigns": [], "activateGiftsMultiplier": false, "scope": { "allCatalog": true, "skus": 0, "skusAreInclusive": true, "products": 0, "productsAreInclusive": true, "collections": 0, "collectionsAreInclusive": true, "categories": 0, "categoriesAreInclusive": true, "brands": 0, "brandsAreInclusive": true, "sellers": 0, "sellersAreInclusive": true }, "maxUsage": 0, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false } ] }, "schema": { "type": "object", "description": "Response object.", "properties": { "items": { "$ref": "#/components/schemas/GetPromotions" }, "nominalDiscountType": { "type": "string", "description": "Controls the behavior of the `NominalDiscount` effect. This field only accepts two string values:\n\n -`item`: applies the intended nominal discount on every item present on the cart. \n\n -`cart`: keeps the behavior as it currently is: the whole order/cart receives a nominal discount that is distributed among the items." } } } } } } }, "deprecated": false } }, "/api/rnb/pvt/archive/taxes/calculatorConfiguration": { "get": { "tags": [ "Promotions and taxes" ], "operationId": "GetArchivedTaxes", "summary": "List archived taxes", "description": "Lists all archived taxes.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "items": [ { "idCalculatorConfiguration": "90f4affc-fea0-424c-a7a7-c69aec7bbdc8", "lastModifiedUtc": "2022-05-16T19:43:06.1801742Z", "name": "Test Tax", "beginDate": "2022-05-09T03:00:00Z", "endDate": "2022-06-01T02:30:00Z", "isActive": false, "description": "My description", "type": "tax", "utmSource": "", "utmCampain": "", "utmiCampaign": "", "status": "inactive", "percentualTax": 10.0, "isArchived": true, "hasMaxPricePerItem": false, "isTax": true, "Campaigns": [], "activateGiftsMultiplier": false, "scope": { "allCatalog": false, "skus": 1, "skusAreInclusive": true, "products": 1, "productsAreInclusive": true, "collections": 1, "collectionsAreInclusive": true, "categories": 1, "categoriesAreInclusive": true, "brands": 1, "brandsAreInclusive": true, "sellers": 0, "sellersAreInclusive": false }, "maxUsage": 0, "idsSalesChannel": [ "1" ], "areSalesChannelIdsExclusive": false } ] }, "schema": { "type": "object", "description": "Response object.", "properties": { "items": { "$ref": "#/components/schemas/GetTaxes" } } } } } } }, "deprecated": false } }, "/price-sheet/{skuId}": { "get": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Get price by SKU ID", "description": "Retrieve price given an SKU ID.\n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://developers.vtex.com/docs/api-reference/pricing-api)\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "PricebyskuId", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "an", "in": "query", "description": "VTEX account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } }, { "name": "skuId", "in": "path", "description": "SKU ID.", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ { "id": 100006808, "itemId": 100006808, "salesChannel": 0, "sellerId": "1", "price": 10.0, "listPrice": 10.0, "validFrom": "2023-01-01T03:00:00", "validTo": "2025-01-01T03:00:00", "lastUpdate": "2023-12-20T10:58:55.2417", "hash": "1000068081000068081101001/01/1900 03:00:0001/01/4000 03:00:0012/20/2023 10:58:55" } ], "schema": { "type": "array", "description": "List of prices.", "items": { "description": "Object containing information about prices.", "type": "object", "properties": { "id": { "type": "integer", "description": "Product ID." }, "itemId": { "type": "integer", "description": "Item ID." }, "salesChannel": { "type": "integer", "description": "Sales channel." }, "sellerId": { "type": "string", "description": "Seller ID." }, "price": { "type": "number", "description": "Item price." }, "listPrice": { "type": "number", "description": "Item list price." }, "ValidFrom": { "type": "string", "description": "Indicates the date and time when the fixed price will start to be valid." }, "ValidTo": { "type": "string", "description": "Indicates the date and time from whic the fixed price will no longer be valid." }, "lastUpdate": { "type": "string", "description": "Indicates the date and time on wich the price was last updated." }, "hash": { "type": "string", "description": "hash." } } } } } } } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "vtexcommercestable" } } } ] }, "delete": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Delete price by SKU ID", "description": "Delete all prices from an SKU. \n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://documenter.getpostman.com/view/101975/vtex-pricing-api/6YsWxKT) \n\n> If you are still using Pricing v1, please [check if your store is able to migrate to take advantage of many more features](https://help.vtex.com/en/faq/how-to-migrate-a-store-to-pricing-v2)\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "DeletebyskuId", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "an", "in": "query", "description": "VTEX account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } }, { "name": "skuId", "in": "path", "description": "SKU ID.", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "exampleParameterValue" } } } ] } }, "/price-sheet/all/{page}/{pageSize}": { "get": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Get all paged prices", "description": "Get all paged prices. \n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://documenter.getpostman.com/view/101975/vtex-pricing-api/6YsWxKT) \n\n> If you are still using Pricing v1, please [check if your store is able to migrate to take advantage of many more features](https://help.vtex.com/en/faq/how-to-migrate-a-store-to-pricing-v2)\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getallpaged", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "an", "in": "query", "description": "VTEX account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } }, { "name": "page", "in": "path", "description": "Page number for pagination.", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "pageSize", "in": "path", "description": "Size of each page for pagination.", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "vtexcommercestable" } } } ] } }, "/price-sheet/context": { "post": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Get price by context", "description": "Get price by context. \n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://documenter.getpostman.com/view/101975/vtex-pricing-api/6YsWxKT) \n\n> If you are still using Pricing v1, please [check if your store is able to migrate to take advantage of many more features](https://help.vtex.com/en/faq/how-to-migrate-a-store-to-pricing-v2)\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Pricebycontext", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "an", "in": "query", "description": "VTEX account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } } ], "requestBody": { "content": { "application/json": { "schema": { "required": [ "id", "itemId", "salesChannel", "sellerId", "validFrom", "validTo" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32", "description": "Price ID.", "example": 6324 }, "itemId": { "type": "integer", "format": "int32", "description": "Item ID.", "example": 2390148 }, "salesChannel": { "type": "integer", "format": "int32", "description": "Sales channel.", "example": 1 }, "sellerId": { "type": "string", "description": "Seller ID.", "example": "1" }, "validFrom": { "type": "string", "description": "Valid from.", "example": "2000-01-01T00:00:00" }, "validTo": { "type": "string", "description": "Valid to.", "example": "2000-02-01T00:00:00" } } }, "example": { "id": 6324, "itemId": 2390148, "salesChannel": 1, "sellerId": "1", "validFrom": "2000-01-01T00:00:00", "validTo": "2000-02-01T00:00:00" } } }, "required": true }, "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "vtexcommercestable" } } } ] } }, "/price-sheet/{skuId}/{tradePolicy}": { "get": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Get price by SKU ID and trade policy", "description": "Retrieve price by SKU ID and trade policy. \n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://documenter.getpostman.com/view/101975/vtex-pricing-api/6YsWxKT) \n\n> If you are still using Pricing v1, please [check if your store is able to migrate to take advantage of many more features](https://help.vtex.com/en/faq/how-to-migrate-a-store-to-pricing-v2)\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "PricebyskuIdandtradePolicy", "parameters": [ { "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" } }, { "name": "an", "in": "query", "description": "Account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } }, { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "skuId", "in": "path", "description": "SKU ID.", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "tradePolicy", "in": "path", "description": "Trade policy name.", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ { "id": 100006808, "itemId": 100006808, "salesChannel": 0, "sellerId": "1", "price": 10.0, "listPrice": 10.0, "validFrom": "2023-01-01T03:00:00", "validTo": "2025-01-01T03:00:00", "lastUpdate": "2023-12-20T10:58:55.2417", "hash": "1000068081000068081101001/01/1900 03:00:0001/01/4000 03:00:0012/20/2023 10:58:55" } ], "schema": { "type": "array", "description": "List of prices.", "items": { "description": "Object containing information about prices.", "type": "object", "properties": { "id": { "type": "integer", "description": "Product ID." }, "itemId": { "type": "integer", "description": "Item ID." }, "salesChannel": { "type": "integer", "description": "Sales channel." }, "sellerId": { "type": "string", "description": "Seller ID." }, "price": { "type": "number", "description": "Item price." }, "listPrice": { "type": "number", "description": "Item list price." }, "ValidFrom": { "type": "string", "description": "Indicates the date and time when the fixed price will start to be valid." }, "ValidTo": { "type": "string", "description": "Indicates the date and time from whic the fixed price will no longer be valid." }, "lastUpdate": { "type": "string", "description": "Indicates the date and time on wich the price was last updated." }, "hash": { "type": "string", "description": "hash." } } } } } } } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "vtexcommercestable" } } } ] } }, "/price-sheet": { "post": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Save price", "description": "Save price. \n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://documenter.getpostman.com/view/101975/vtex-pricing-api/6YsWxKT) \n\n> If you are still using Pricing v1, please [check if your store is able to migrate to take advantage of many more features](https://help.vtex.com/en/faq/how-to-migrate-a-store-to-pricing-v2)\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Promotions | **Manage benefits and rates** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Saveprice", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "an", "in": "query", "description": "VTEX account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "array", "description": "List of prices.", "items": { "description": "Object containing information about the prices.", "required": [ "itemId", "salesChannel", "sellerId", "price", "listPrice", "validFrom", "validTo" ], "type": "object", "properties": { "itemId": { "type": "integer", "format": "int32", "example": 2390148, "description": "Item ID." }, "salesChannel": { "type": "integer", "format": "int32", "example": 1, "description": "Sales channel." }, "sellerId": { "type": "integer", "format": "int32", "example": 1, "description": "Seller ID." }, "price": { "type": "integer", "format": "int32", "example": 1, "description": "Price." }, "listPrice": { "type": "integer", "format": "int32", "example": 1, "description": "List price." }, "validFrom": { "type": "string", "example": "2016-01-01T02:00:00Z", "description": "Valid from." }, "validTo": { "type": "string", "example": "2016-01-01T02:00:00Z", "description": "Valid to." } } } }, "example": [ { "itemId": 2390148, "salesChannel": 1, "sellerId": 1, "price": 1, "listPrice": 1, "validFrom": "2016-01-01T02:00:00Z", "validTo": "2017-01-01T02:00:00Z" } ] } }, "required": true }, "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "vtexcommercestable" } } } ] } }, "/pub/bundles": { "post": { "tags": [ "Bundles" ], "summary": "Calculate discounts and taxes bundles", "description": "Calculate discounts and taxes\r\n\r\n## Permissions\r\n\r\nThis endpoint is usually used internally for backend services and does not require user [permissions]((https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3)).", "operationId": "Calculatediscountsandtaxes(Bundles)", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } } ], "requestBody": { "content": { "application/json": { "schema": { "required": [ "isShoppingCart", "origin", "salesChannel", "profileId", "items", "params" ], "type": "object", "properties": { "isShoppingCart": { "type": "boolean", "description": "Indicates whether the item is a shopping cart.", "example": false }, "origin": { "type": "string", "description": "Origin.", "example": "origin" }, "salesChannel": { "type": "string", "description": "Sales channel.", "example": "channel" }, "profileId": { "type": "string", "description": "Profile ID.", "example": "1" }, "items": { "type": "array", "description": "List of items.", "items": { "description": "Object containing information about the items.", "required": [ "index", "id", "quantity", "isGift", "measurementUnit", "unitMultiplier", "priceTags", "params", "priceSheet", "logisticsInfos", "sellerId", "productSpecifications" ], "type": "object", "properties": { "index": { "type": "integer", "format": "int32", "description": "Index.", "example": 1 }, "id": { "type": "string", "description": "Item ID.", "example": "1" }, "quantity": { "type": "integer", "format": "int32", "description": "The quantity of the item.", "example": 1 }, "isGift": { "type": "boolean", "description": "Indicates whether the item is a gift.", "example": true }, "measurementUnit": { "type": "string", "description": "Measurement unit.", "example": "un" }, "unitMultiplier": { "type": "integer", "format": "int32", "description": "Unit multiplier.", "example": 1 }, "priceTags": { "type": "array", "description": "List of price tags.", "items": { "type": "string", "description": "Price tag.", "example": "tag" } }, "params": { "type": "array", "description": "List of parameters.", "items": { "description": "Object containing information about the parameters.", "required": [ "name", "value" ], "type": "object", "properties": { "name": { "type": "string", "example": "Seller@CatalogSystem", "description": "Name of the item." }, "value": { "type": "string", "example": "1", "description": "Value." } } } }, "priceSheet": { "type": "array", "description": "List of price sheet.", "items": { "type": "string", "description": "Price sheet.", "example": "pricesheet" } }, "logisticsInfos": { "type": "array", "description": "List of logistics information.", "items": { "type": "string", "description": "Logistic information.", "example": "logistic" } }, "sellerId": { "type": "string", "description": "Seller ID.", "example": "1" }, "productSpecifications": { "type": "array", "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification.", "example": "spefification" } } } } } } }, "example": { "isShoppingCart": true, "origin": "Marketplace", "salesChannel": "1", "profileId": "aa", "items": [ { "index": 0, "id": "160", "quantity": 3, "isGift": false, "measurementUnit": "un", "unitMultiplier": 1, "priceTags": [], "params": [ { "name": "Seller@CatalogSystem", "value": "1" }, { "name": "product@CatalogSystem", "value": "94" } ], "priceSheet": [], "logisticsInfos": [], "sellerId": "1", "productSpecifications": [] } ], "params": [ { "name": "product@CatalogSystem", "value": "2662" }, { "name": "couponCode@Marketing", "value": "coupon" } ] } } }, "required": true }, "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "http://example.com/.{environment}.com.br/api/rnb", "variables": { "environment": { "default": "vtexcommercestable" } } } ] } }, "/api/rnb/pvt/campaignConfiguration/{campaignId}": { "get": { "tags": [ "Campaign Audiences" ], "summary": "Get campaign audience configuration", "description": "Retrieves a specific campaign audience configuration by its ID. This API uses the campaign ID, not the campaign name.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getcampaignconfiguration", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } }, { "name": "campaignId", "in": "path", "description": "Campaign audience unique identifier.", "required": true, "style": "simple", "schema": { "type": "string", "example": "dd270d06-1ed1-47fc-b04e-a2431121b5a4" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "beginDateUtc": "2020-05-01T21:30:00Z", "endDateUtc": "2020-05-02T01:30:00Z", "id": "dd270d06-1ed1-47fc-b04e-a2431121b5a4", "name": "Interna", "isActive": true, "isAndOperator": false, "isArchived": false, "lastModified": { "dateUtc": "2020-05-01T21:22:01.807398Z", "user": "email@email.com" }, "targetConfigurations": [ { "featured": false, "id": "77ae1e4c-a216-4b15-a4a3-ae64ec298988", "name": "Social Sellers", "daysAgoOfPurchases": 0, "origin": "Marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [ "MKT1" ], "marketingTagsAreNotInclusive": false, "paymentsMethods": [], "stores": [], "campaigns": [], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": true, "brands": [], "brandsAreInclusive": true, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 1, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "listBrand1BuyTogether": [], "listCategory1BuyTogether": [ { "id": "1", "name": "Vinhos Tintos (1)" } ], "coupon": [], "totalValueFloor": 0, "totalValueCeling": 0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": true, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "clusterOperator": "all", "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [] } ] }, "schema": { "type": "object", "properties": { "beginDateUtc": { "type": "string", "description": "Start date of the campaign audience in UTC format." }, "endDateUtc": { "type": "string", "description": "End date of the campaign audience in UTC format." }, "id": { "type": "string", "description": "Campaign audience ID." }, "name": { "type": "string", "description": "Campaign audience name." }, "isActive": { "type": "boolean", "description": "Defines if the campaign audience is active (`true`) or not (`false`)." }, "isAndOperator": { "type": "boolean", "description": "When `true`, determines that all the `targetConfigurations` need to be valid for the campaign audience to be active. When `false`, determines that if at least one of the `targetConfigurations` is valid, the campaign audience will be active." }, "isArchived": { "type": "boolean", "description": "Defines if the campaign audience is archived (`true`) or not (`false`)." }, "lastModified": { "type": "object", "description": "Object with information about the most recent update of the campaign audience.", "properties": { "dateUtc": { "type": "string", "description": "Date of the most recent update in UTC format." }, "user": { "type": "string", "description": "Email of the user who updated the campaign audience for the latest time." } } }, "targetConfigurations": { "type": "array", "description": "Array that contains all target audience that the campaign audience will be valid.", "items": { "type": "object", "description": "Object with information about the target audience.", "properties": { "featured": { "type": "boolean", "description": "Defines if the target audience is featured (`true`) or not (`false`)." }, "id": { "type": "string", "description": "Target audience ID." }, "name": { "type": "string", "description": "Target audience name." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "origin": { "type": "string", "description": "Shows the campaign audience origin, `Marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSellerIsInclusive": { "type": "boolean", "description": "Defines if at least one of the sellers must be valid to active the campaign audience." }, "idsSalesChannel": { "type": "array", "description": "Array with all the trade policies that activate the campaign audience.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "Defines if the trade policy IDs are exclusive." }, "marketingTags": { "type": "array", "description": "Array with all the campaign audience's marketing tags.", "items": { "type": "string", "description": "Campaign audience marketing tags." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "Defines if marketing tags are not inclusive." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this campaign audience not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this campaign audience not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this campaign audience not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID." }, "name": { "type": "string", "description": "SKU Name." } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this campaign audience not to be applied." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "listBrand1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a brand to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the brand to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the brand to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the brand to be added to the first list of the **Buy Together** promotion." } } } }, "listCategory1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a category to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the category to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the category to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the category to be added to the first list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "deprecated": true, "description": "Coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to active the campaign audience." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to active the campaign audience." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "Total chart value to active the campaign audience." }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this campaign audience not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the campaign audience." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the campaign audience only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of zip codes that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code.", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the campaign audience will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the campaign audience can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the campaign audience can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the campaign audience can be used multiple times per client." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } } } } } } } } } } } } }, "/api/rnb/pvt/campaignConfiguration": { "get": { "tags": [ "Campaign Audiences" ], "summary": "Get all campaign audiences", "description": "Retrieves a list of all campaign audiences and their respective configurations.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getcampaignaudiences", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "example": "application/json" } }, { "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" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ { "beginDateUtc": "2020-05-01T21:30:00Z", "endDateUtc": "2020-05-02T01:30:00Z", "id": "dd270d06-1ed1-47fc-b04e-a2431121b5a4", "name": "Interna", "isActive": true, "isAndOperator": false, "isArchived": false, "lastModified": { "dateUtc": "2020-05-01T21:22:01.807398Z", "user": "email@email.com" }, "targetConfigurations": [ { "featured": false, "id": "77ae1e4c-a216-4b15-a4a3-ae64ec298988", "name": "Social Sellers", "daysAgoOfPurchases": 0, "origin": "Marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [ "MKT1" ], "marketingTagsAreNotInclusive": false, "paymentsMethods": [], "stores": [], "campaigns": [], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": true, "brands": [], "brandsAreInclusive": true, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 1, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "listBrand1BuyTogether": [], "listCategory1BuyTogether": [ { "id": "1", "name": "Vinhos Tintos (1)" } ], "coupon": [], "totalValueFloor": 0, "totalValueCeling": 0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": true, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "clusterOperator": "all", "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [] } ] } ], "schema": { "type": "array", "description": "Array of campaign audiences.", "items": { "type": "object", "description": "Object containing information about the campaign audience.", "properties": { "beginDateUtc": { "type": "string", "description": "Start date of the campaign audience in UTC format." }, "endDateUtc": { "type": "string", "description": "End date of the campaign audience in UTC format." }, "id": { "type": "string", "description": "Campaign audience ID." }, "name": { "type": "string", "description": "Campaign audience name." }, "isActive": { "type": "boolean", "description": "Defines if the campaign audience is active (`true`) or not (`false`)." }, "isAndOperator": { "type": "boolean", "description": "When `true`, determines that all the `targetConfigurations` need to be valid for the campaign audience to be active. When `false`, determines that if at least one of the `targetConfigurations` is valid, the campaign audience will be active." }, "isArchived": { "type": "boolean", "description": "Defines if the campaign audience is archived (`true`) or not (`false`)." }, "lastModified": { "type": "object", "description": "Object with information about the most recent update of the campaign audience.", "properties": { "dateUtc": { "type": "string", "description": "Date of the most recent update in UTC format." }, "user": { "type": "string", "description": "Email of the user who updated the campaign audience for the latest time." } } }, "targetConfigurations": { "type": "array", "description": "Array that contains all target audience that the campaign audience will be valid.", "items": { "type": "object", "description": "Object with information about the target audience.", "properties": { "featured": { "type": "boolean", "description": "Defines if the target audience is featured (`true`) or not (`false`)." }, "id": { "type": "string", "description": "Target audience ID." }, "name": { "type": "string", "description": "Target audience name." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "origin": { "type": "string", "description": "Shows the campaign audience origin, `Marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSellerIsInclusive": { "type": "boolean", "description": "Defines if at least one of the sellers must be valid to active the campaign audience." }, "idsSalesChannel": { "type": "array", "description": "Array with all the trade policies that activate the campaign audience.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "Defines if the trade policy IDs are exclusive." }, "marketingTags": { "type": "array", "description": "Array with all the campaign audience's marketing tags.", "items": { "type": "string", "description": "Campaign audience marketing tags." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "Defines if marketing tags are not inclusive." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this campaign audience not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this campaign audience not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this campaign audience not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID." }, "name": { "type": "string", "description": "SKU Name." } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this campaign audience not to be applied." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "listBrand1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a brand to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the brand to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the brand to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the brand to be added to the first list of the **Buy Together** promotion." } } } }, "listCategory1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a category to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the category to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the category to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the category to be added to the first list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "deprecated": true, "description": "Coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to active the campaign audience." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to active the campaign audience." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "Total chart value to active the campaign audience." }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this campaign audience not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the campaign audience." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the campaign audience only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of zip codes that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the campaign audience will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "clusterOperator": { "type": "string", "deprecated": true, "description": "Cluster operator." }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the campaign audience can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the campaign audience can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the campaign audience can be used multiple times per client." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } } } } } } } } } } } } }, "post": { "tags": [ "Campaign Audiences" ], "summary": "Create campaign audience", "description": "Creates a new campaign audience.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-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| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\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>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Setcampaignconfiguration", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "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" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "beginDateUtc": { "type": "string", "description": "Start date of the campaign audience in UTC format.", "example": "2020-05-01T21:30:00Z" }, "endDateUtc": { "type": "string", "description": "End date of the campaign audience in UTC format.", "example": "2020-05-02T01:30:00Z" }, "id": { "type": "string", "description": "Campaign audience ID.", "example": "dd270d06-1ed1-47fc-b04e-a2431121b5a4" }, "name": { "type": "string", "description": "Campaign audience name.", "example": "Interna" }, "isActive": { "type": "boolean", "description": "Defines if the campaign audience is active (`true`) or not (`false`).", "example": true }, "isAndOperator": { "type": "boolean", "description": "When `true`, determines that all the `targetConfigurations` need to be valid for the campaign audience to be active. When `false`, determines that if at least one of the `targetConfigurations` is valid, the campaign audience will be active.", "example": true }, "isArchived": { "type": "boolean", "description": "Defines if the campaign audience is archived (`true`) or not (`false`).", "example": false }, "lastModified": { "type": "object", "description": "Object with information about the last update of the campaign audience.", "properties": { "dateUtc": { "type": "string", "description": "Date of the last update in UTC format.", "example": "2020-05-01T21:22:01.807398Z" }, "user": { "type": "string", "description": "Email of the user who made the last update.", "example": "email@email.com" } } }, "targetConfigurations": { "type": "array", "description": "Array that contains all target audience that the campaign audience will be valid.", "items": { "type": "object", "description": "Object with information about the target audience.", "properties": { "featured": { "type": "boolean", "description": "Defines if the target audience is featured (`true`) or not (`false`).", "example": false }, "id": { "type": "string", "description": "Target audience ID.", "example": "77ae1e4c-a216-4b15-a4a3-ae64ec298988" }, "name": { "type": "string", "description": "Target audience name.", "example": "Social Sellers" }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history.", "example": 0 }, "origin": { "type": "string", "description": "Shows the campaign audience origin, `Marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information.", "example": "Marketplace" }, "idSellerIsInclusive": { "type": "boolean", "description": "Shows if at least one of the sellers must be valid to active the campaign audience.", "example": false }, "idsSalesChannel": { "type": "array", "description": "Shows the trade policies that active the campaign audience.", "items": { "type": "string", "description": "Trade policy ID.", "example": "Principal" } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "Shows if the trade policy IDs are exclusive.", "example": false }, "marketingTags": { "type": "array", "description": "Array with all campaign audience's marketing tags.", "items": { "type": "string", "description": "Campaign audience marketing tags.", "example": "MKT1" } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "Shows if marketing tags are not inclusive.", "example": false }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID.", "example": "2" }, "name": { "type": "string", "description": "Payment Method Name.", "example": "Visa (2)" } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store.", "example": "store" } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign.", "example": "campaign" } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied.", "example": false }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID.", "example": "1" }, "name": { "type": "string", "description": "Category Name.", "example": "Vinhos Tintos (1)" } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this campaign audience not to be applied.", "example": true }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID.", "example": "1" }, "name": { "type": "string", "description": "Brand Name.", "example": "Brand (1)" } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this campaign audience not to be applied.", "example": true }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID.", "example": "1" }, "name": { "type": "string", "description": "Product Name.", "example": "Vinho (1)" } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this campaign audience not to be applied.", "example": true }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID.", "example": "1" }, "name": { "type": "string", "description": "SKU Name.", "example": "Vinho tinto (1)" } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this campaign audience not to be applied.", "example": true }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion.", "example": "157" }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion.", "example": "Inverno (157)" } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion.", "example": "157" }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion.", "example": "Inverno (157)" } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion.", "example": 1 }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion.", "example": 0 }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU.", "example": false }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion.", "example": "Vinho" } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion.", "example": "Vinho" } } } }, "listBrand1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a brand to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the brand to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the brand to be added to the first list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the brand to be added to the first list of the **Buy Together** promotion.", "example": "Malbec" } } } }, "listCategory1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a category to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the category to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the category to be added to the first list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the category to be added to the first list of the **Buy Together** promotion.", "example": "Vinhos Tintos" } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "deprecated": true, "description": "Coupon.", "example": "coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to active the campaign audience.", "example": 40 }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to active the campaign audience.", "example": 0 }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items.", "example": false }, "totalValueMode": { "type": "string", "description": "Total chart value to active the campaign audience.", "example": "IncludeMatchedItems" }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID.", "example": "1" }, "name": { "type": "string", "description": "Collection Name.", "example": "Collection (1)" } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this campaign audience not to be applied.", "example": true }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN.", "example": "1234" } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer.", "example": "issuer" } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the campaign audience.", "example": 0 }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method.", "example": "Express" } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer.", "example": false }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy.", "example": false }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged.", "example": false }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same.", "example": false }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the campaign audience only if the list price and price is different.", "example": false }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code.", "example": "20000-000" }, "zipCodeTo": { "type": "string", "description": "Final Zip Code.", "example": "20000-100" }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion.", "example": true } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item.", "example": 0 }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item.", "example": 0 }, "installment": { "type": "integer", "deprecated": true, "description": "Installment.", "example": 1 }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the campaign audience will be applied considering a minimum and maximum values for installments.", "example": false }, "minInstallment": { "type": "integer", "description": "Minimum value for installment.", "example": 0 }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment.", "example": 0 }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant.", "example": "merchant" } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression.", "example": "email contains user@mail.com" } }, "clusterOperator": { "type": "string", "deprecated": true, "description": "Cluster operator.", "example": "operator" }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule.", "example": "rule1" } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type.", "example": "Wishlist" } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification.", "example": "spec" } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID.", "example": "1" }, "name": { "type": "string", "description": "Affiliate Name.", "example": "Amazon" } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the campaign audience can be used.", "example": 0 }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the campaign audience can be used multiple times per client.", "example": 0 }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items.", "example": false }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the campaign audience can be used multiple times per client.", "example": false }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm.", "example": false }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value.", "example": 0 } }, "type": { "type": "string", "description": "Defines the type of promotion. Possible values are:\r\n- `regular`: Regular promotion\r\n- `combo`: Buy Together promotion\r\n- `forThePriceOf`: More for Less promotion\r\n- `progressive`: Progressive discount promotion\r\n- `buyAndWin`: Buy One Get One promotion\r\n- `campaign`: Campaign promotion\r\n- `tax`: Tax (reverse promotion, increases the price)", "enum": [ "regular", "combo", "forThePriceOf", "progressive", "buyAndWin", "campaign", "tax" ], "example": "campaign" }, "idTypeDiscountBuyTogether": { "type": "integer", "description": "Defines the ID type related to `type` field. Possible values are:\r\n- `1`: Buy Together promotion\r\n- `2`: Progressive promotion\r\n- `3`: More for Less promotion\r\n- `4`: Buy One Get One promotion\r\n- `5`: Campaign promotion", "enum": [ 1, 2, 3, 4, 5 ], "example": 5 } } } } } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "beginDateUtc": "2020-05-01T21:30:00Z", "endDateUtc": "2020-05-02T01:30:00Z", "id": "dd270d06-1ed1-47fc-b04e-a2431121b5a4", "name": "Interna", "isActive": true, "isAndOperator": false, "isArchived": false, "lastModified": { "dateUtc": "2020-05-01T21:22:01.807398Z", "user": "email@email.com" }, "targetConfigurations": [ { "featured": false, "id": "77ae1e4c-a216-4b15-a4a3-ae64ec298988", "name": "Social Sellers", "daysAgoOfPurchases": 0, "origin": "Marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [ "MKT1" ], "marketingTagsAreNotInclusive": false, "paymentsMethods": [], "stores": [], "campaigns": [], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": true, "brands": [], "brandsAreInclusive": true, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 1, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "listBrand1BuyTogether": [], "listCategory1BuyTogether": [ { "id": "1", "name": "Vinhos Tintos (1)" } ], "coupon": [], "totalValueFloor": 0, "totalValueCeling": 0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": true, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [], "type": "campaign", "idTypeDiscountBuyTogether": 5 } ] }, "schema": { "type": "object", "properties": { "beginDateUtc": { "type": "string", "description": "Start date of the campaign audience in UTC format." }, "endDateUtc": { "type": "string", "description": "End date of the campaign audience in UTC format." }, "id": { "type": "string", "description": "Campaign audience ID." }, "name": { "type": "string", "description": "Campaign audience name." }, "isActive": { "type": "boolean", "description": "Defines if the campaign audience is active (`true`) or not (`false`)." }, "isAndOperator": { "type": "boolean", "description": "When `true`, determines that all the `targetConfigurations` need to be valid for the campaign audience to be active. When `false`, determines that if at least one of the `targetConfigurations` is valid, the campaign audience will be active." }, "isArchived": { "type": "boolean", "description": "Defines if the campaign audience is archived (`true`) or not (`false`)." }, "lastModified": { "type": "object", "description": "Object with information about the most recent update of the campaign audience.", "properties": { "dateUtc": { "type": "string", "description": "Date of the most recent update in UTC format." }, "user": { "type": "string", "description": "Email of the user who updated the campaign audience for the latest time." } } }, "targetConfigurations": { "type": "array", "description": "Array that contains all target audience that the campaign audience will be valid.", "items": { "type": "object", "description": "Object with information about the target audience.", "properties": { "featured": { "type": "boolean", "description": "Defines if the target audience is feature (`true`) or not (`false`)." }, "id": { "type": "string", "description": "Target audience ID." }, "name": { "type": "string", "description": "Target audience name." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "origin": { "type": "string", "description": "Shows the campaign audience origin, `Marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSellerIsInclusive": { "type": "boolean", "description": "Defines if at least one of the sellers must be valid to active the campaign audience." }, "idsSalesChannel": { "type": "array", "description": "Array with all the trade policies that activate the campaign audience.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "Defines if the trade policy IDs are exclusive." }, "marketingTags": { "type": "array", "description": "Array with all the campaign audience's marketing tags.", "items": { "type": "string", "description": "Campaign audience marketing tags." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "Defines if marketing tags are not inclusive." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this campaign audience not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this campaign audience not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this campaign audience not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID." }, "name": { "type": "string", "description": "SKU Name." } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this campaign audience not to be applied." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "listBrand1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a brand to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the brand to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the brand to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the brand to be added to the first list of the **Buy Together** promotion." } } } }, "listCategory1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a category to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the category to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the category to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the category to be added to the first list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "deprecated": true, "description": "Coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to active the campaign audience." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to active the campaign audience." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "Total chart value to active the campaign audience." }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this campaign audience not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the campaign audience." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the campaign audience only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the campaign audience will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "clusterOperator": { "type": "string", "deprecated": true, "description": "Cluster operator." }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the campaign audience can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the campaign audience can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the campaign audience can be used multiple times per client." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } }, "type": { "type": "string", "description": "Defines the type of promotion. Possible values are:\r\n- `regular`: Regular promotion\r\n- `combo`: Buy Together promotion\r\n- `forThePriceOf`: More for Less promotion\r\n- `progressive`: Progressive discount promotion\r\n- `buyAndWin`: Buy One Get One promotion\r\n- `campaign`: Campaign promotion\r\n- `tax`: Tax (reverse promotion, increases the price)", "enum": [ "regular", "combo", "forThePriceOf", "progressive", "buyAndWin", "campaign", "tax" ] }, "idTypeDiscountBuyTogether": { "type": "integer", "description": "Defines the ID type related to `type` field. Possible values are:\r\n- `1`: Buy Together promotion\r\n- `2`: Progressive promotion\r\n- `3`: More for Less promotion\r\n- `4`: Buy One Get One promotion\r\n- `5`: Campaign promotion", "enum": [ 1, 2, 3, 4, 5 ] } } } } } } } } } } } } }, "components": { "schemas": { "GetPromotions": { "type": "array", "description": "Array with information about a promotion.", "items": { "type": "object", "description": "Object with information about a promotion.", "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Promotion ID." }, "lastModifiedUtc": { "type": "string", "description": "Date and time when the promotion was last modified (UTC)." }, "name": { "type": "string", "description": "Promotion Name." }, "beginDate": { "type": "string", "description": "Promotion Begin Date (UTC)." }, "endDate": { "type": "string", "description": "Promotion End Date (UTC)." }, "isActive": { "type": "boolean", "description": "If set as `true` the promotion is activated. If set as `false` the promotion is deactivated." }, "description": { "type": "string", "description": "Promotion internal description." }, "type": { "description": "Defines the type of promotion.", "type": "string" }, "utmSource": { "type": "string", "description": "utmSource code." }, "utmCampain": { "type": "string", "description": "utmCampaign code." }, "utmiCampaign": { "type": "string", "description": "utmiCampaign code." }, "status": { "type": "string", "description": "Status of the promotion." }, "percentualTax": { "type": "number", "description": "Percentual tax applied." }, "isArchived": { "type": "boolean", "description": "If set as `true` the Promotion is archived. If set as `false` the Promotion is not archived." }, "hasMaxPricePerItem": { "description": "Defines if there is a maximum price per item.", "type": "boolean" }, "isTax": { "description": "Defines if it is a tax.", "type": "boolean" }, "campaigns": { "description": "Campaign Audiences that activate this promotion.", "type": "array", "items": { "type": "string", "description": "Campaign Audience." } }, "activateGiftsMultiplier": { "description": "If set as `true`, it activates gifts Multiplier.", "type": "boolean" }, "scope": { "description": "Scope of the promotion.", "type": "object", "properties": { "allCatalog": { "description": "Determines if the promotion applies to all products in the Catalog (`true`) or not (`false`).", "type": "boolean" }, "skus": { "description": "Quantity of SKUs which activate or deactivate the promotion.", "type": "number" }, "skusAreInclusive": { "description": "If set to `true`, this promotion will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this promotion not to be applied.", "type": "boolean" }, "products": { "description": "Quantity of products which activate or deactivate the promotion.", "type": "number" }, "productsAreInclusive": { "description": "If set to `true`, this promotion will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this promotion not to be applied.", "type": "boolean" }, "collections": { "description": "Quantity of collections which activate or deactivate the promotion.", "type": "number" }, "collectionsAreInclusive": { "description": "If set to `true`, this promotion will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this promotion not to be applied.", "type": "boolean" }, "categories": { "description": "Quantity of categories which activate or deactivate the promotion.", "type": "number" }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this promotion not to be applied." }, "brands": { "description": "Quantity of brands which activate or deactivate the promotion.", "type": "number" }, "brandsAreInclusive": { "description": "If set to `true`, this promotion will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this promotion not to be applied.", "type": "boolean" }, "sellers": { "description": "Quantity of sellers which activate or deactivate the promotion.", "type": "number" }, "sellersAreInclusive": { "description": "If set to `true`, this promotion will be applied to any seller present on the `sellers` field. If set to `false`, sellers present on that field will make this promotion not to be applied.", "type": "boolean" } } }, "maxUsage": { "type": "number", "description": "Defines how many times the promotion can be used." }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this promotion.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this promotion not to be applied." } } } }, "GetTaxes": { "type": "array", "description": "Array with taxes.", "items": { "type": "object", "description": "Object with information about a tax.", "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Tax ID." }, "lastModifiedUtc": { "type": "string", "description": "Date and time when the tax was last modified (UTC)." }, "name": { "type": "string", "description": "Tax name." }, "beginDate": { "type": "string", "description": "Tax start date (UTC)." }, "endDate": { "type": "string", "description": "Tax end date (UTC)." }, "isActive": { "type": "boolean", "description": "If set as `true` the tax is activated. If set as `false` the tax is deactivated." }, "description": { "type": "string", "description": "Tax internal description." }, "type": { "description": "Defines the type of tax.", "type": "string" }, "utmSource": { "type": "string", "description": "utmSource code." }, "utmCampain": { "type": "string", "description": "utmCampaign code." }, "utmiCampaign": { "type": "string", "description": "utmiCampaign code." }, "status": { "type": "string", "description": "Status of the tax." }, "percentualTax": { "type": "number", "description": "Percentual tax applied." }, "isArchived": { "type": "boolean", "description": "If set as `true` the tax is archived. If set as `false` the tax is not archived." }, "hasMaxPricePerItem": { "description": "Defines if there is a maximum price per item.", "type": "boolean" }, "isTax": { "description": "Defines if it is a tax.", "type": "boolean" }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign." } }, "activateGiftsMultiplier": { "description": "If set as `true`, it activates gifts Multiplier.", "type": "boolean" }, "scope": { "description": "Scope of the tax.", "type": "object", "properties": { "allCatalog": { "description": "Determines if the tax applies to all products in the Catalog (`true`) or not (`false`).", "type": "boolean" }, "skus": { "description": "Quantity of SKUs which activate or deactivate the tax.", "type": "number" }, "skusAreInclusive": { "description": "If set to `true`, this tax will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this tax not to be applied.", "type": "boolean" }, "products": { "description": "Quantity of products which activate or deactivate the tax.", "type": "number" }, "productsAreInclusive": { "description": "If set to `true`, this tax will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this tax not to be applied.", "type": "boolean" }, "collections": { "description": "Quantity of collections which activate or deactivate the tax.", "type": "number" }, "collectionsAreInclusive": { "description": "If set to `true`, this tax will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this tax not to be applied.", "type": "boolean" }, "categories": { "description": "Quantity of categories which activate or deactivate the tax.", "type": "number" }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this tax will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this tax not to be applied." }, "brands": { "description": "Quantity of brands which activate or deactivate the tax.", "type": "number" }, "brandsAreInclusive": { "description": "If set to `true`, this tax will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this tax not to be applied.", "type": "boolean" }, "sellers": { "description": "Quantity of sellers which activate or deactivate the tax.", "type": "number" }, "sellersAreInclusive": { "description": "If set to `true`, this tax will be applied to any seller present on the `sellers` field. If set to `false`, sellers present on that field will make this tax not to be applied.", "type": "boolean" } } }, "maxUsage": { "type": "number", "description": "Defines how many times the tax can be used." }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this tax.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this tax will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this tax not to be applied." } } } } }, "securitySchemes": { "appKey": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppKey", "description": "Unique identifier of the [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys)." }, "appToken": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppToken", "description": "Secret token of the [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys)." }, "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." } } }, "tags": [ { "name": "Promotions and taxes" }, { "name": "Coupons" }, { "name": "Campaign Audiences" }, { "name": "Notifications" }, { "name": "Bundles" }, { "name": "Prices (Legacy - v1)" } ], "security": [ { "appKey": [], "appToken": [] }, { "VtexIdclientAutCookie": [] } ] }