{ "openapi": "3.0.0", "info": { "title": "Promotions & Taxes API", "description": "\r\n> Check the new [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Promotions and is organized by focusing on the developer's journey.\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 ## Index\r\n\r\n ### Coupons \r\n- `POST` [Create multiple coupons](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#post-/api/rnb/pvt/multiple-coupons) \r\n- `POST` [Create coupon](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#post-/api/rnb/pvt/coupon/) \r\n- `GET` [Get coupon by coupon code](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/coupon/-couponCode-) \r\n- `GET` [Get archived coupon by coupon code](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/archive/coupon/-couponCode-) \r\n- `POST` [Archive coupon by coupon code](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#post-/api/rnb/pvt/archive/coupon/-couponCode-) \r\n- `POST` [Update coupon](https://developers.vtex.com/vtex-rest-api/reference/update) \r\n- `GET` [Get all coupons](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/coupon) \r\n- `POST` [Coupon Massive Generation](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#post-/api/rnb/pvt/coupons) \r\n- `GET` [Get coupon usage](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/coupon/usage/-couponCode-) \r\n- `POST` [Unarchive coupon by coupon code](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#post-/api/rnb/pvt/unarchive/coupon/-couponCode-) \r\n\r\n### Promotions and Taxes \r\n- `GET` [Get All Promotions](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/benefits/calculatorconfiguration) \r\n- `GET` [Search promotions by name](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/benefits/calculatorconfiguration/search) \r\n- `GET` [Get All Taxes](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/taxes/calculatorconfiguration) \r\n- `GET` [Get Promotion or Tax By ID](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/calculatorconfiguration/-idCalculatorConfiguration-) \r\n- `POST` [Create or Update Promotion or Tax](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#post-/api/rnb/pvt/calculatorconfiguration) \r\n- `POST` [Create Multiple SKU Promotion](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#post-/api/rnb/pvt/import/calculatorConfiguration) \r\n- `PUT` [Update Multiple SKU Promotion](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#put-/api/rnb/pvt/import/calculatorConfiguration/-promotionId-) \r\n- `POST` [Archive Promotion or Tax](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#post-/api/rnb/pvt/archive/calculatorConfiguration/-idCalculatorConfiguration-) \r\n- `POST` [Unarchive Promotion or Tax](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#post-/api/rnb/pvt/unarchive/calculatorConfiguration/-idCalculatorConfiguration-) \r\n- `GET` [List archived Promotions](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/archive/benefits/calculatorConfiguration) \r\n- `GET` [List archived Taxes](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/archive/taxes/calculatorConfiguration) \r\n\r\n\r\n### Campaign Audiences \r\n- `GET` [Get campaign audience configuration](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/campaignConfiguration/-campaignId-) \r\n- `POST` [Create campaign audience](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#post-/api/rnb/pvt/campaignConfiguration)", "contact": {}, "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": "{accountName}" }, "environment": { "description": "Environment to use. Used as part of the URL.", "default": "{environment}" } } } ], "paths": { "/api/rnb/pvt/multiple-coupons": { "post": { "tags": [ "Coupons" ], "summary": "Create multiple coupons", "description": "Creates multiple coupons with different coupon codes. This endpoint has a throttling of 60 requests per minute.", "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", "title": "", "items": { "required": [ "quantity", "couponConfiguration" ], "properties": { "quantity": { "type": "integer", "title": "quantity", "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", "title": "couponConfiguration", "description": "Object that contains all coupon configuration.", "example": { "utmSource": "coupon3", "utmCampaign": "", "couponCode": "test", "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00" }, "required": [ "utmSource", "utmCampaign", "couponCode", "maxItemsPerClient", "expirationIntervalPerUse" ], "properties": { "utmSource": { "type": "string", "title": "utmSource", "description": "utmSource code.", "example": "coupon3" }, "utmCampaign": { "type": "string", "title": "utmCampaign", "description": "utmCampaign code.", "example": "" }, "couponCode": { "type": "string", "title": "couponCode", "description": "Coupon code.", "example": "test" }, "isArchived": { "type": "boolean", "title": "isArchived", "description": "Defines if the coupon is archived (`true`) or not (`false`).", "example": false }, "maxItemsPerClient": { "type": "integer", "title": "maxItemsPerClient", "description": "Maximum items per client that the coupon can be applied.", "example": 10 }, "expirationIntervalPerUse": { "type": "string", "title": "expirationIntervalPerUse", "description": "Coupon expiration interval per use.", "example": "00:00:00" } } } } } }, "example": [ { "quantity": 1, "couponConfiguration": { "utmSource": "fb", "utmCampaign": "bf", "couponCode": "promobf4", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00" } } ] } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ "promobf" ], "schema": { "type": "array", "description": "Array with the coupon codes that were created.", "items": { "type": "string", "title": "items", "description": "Coupon code.", "example": "promobf" } } } } } } } }, "/api/rnb/pvt/coupon/": { "post": { "tags": [ "Coupons" ], "summary": "Create coupon", "description": "Creates a single new coupon.", "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", "title": "", "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" }, "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" } } } } } }, "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" }, "schema": { "title": "", "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." } } } } } } } } }, "/api/rnb/pvt/coupon/{couponCode}": { "get": { "tags": [ "Coupons" ], "summary": "Get coupon by coupon code", "description": "Retrieves a specific coupon by its coupon code.", "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" }, "schema": { "title": "", "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." } } } } } } } } }, "/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.", "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" }, "schema": { "title": "", "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." } } } } } } } }, "post": { "tags": [ "Coupons" ], "summary": "Archive coupon by coupon code", "description": "Archives a specifc coupon by its coupon code.", "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": { "title": "couponCode", "type": "string", "description": "Coupon code of the archived coupon." }, "example": "promo10" } } } } } }, "/api/rnb/pvt/coupon": { "post": { "tags": [ "Coupons" ], "summary": "Update coupon", "description": "Updates information of a specific coupon.", "operationId": "Update", "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": { "description": "", "content": { "application/json": { "schema": { "title": "", "type": "object", "required": [ "utmSource", "utmCampaign", "couponCode", "isArchived", "maxItemsPerClient", "expirationIntervalPerUse" ], "properties": { "utmSource": { "type": "string", "description": "UTM source code.", "example": "coupon3" }, "utmCampaign": { "type": "string", "description": "UTM campaign code.", "example": "coupon3" }, "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" } } } } }, "required": true }, "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" }, "schema": { "type": "object", "title": "", "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." } } } } } } } }, "get": { "tags": [ "Coupons" ], "summary": "Get all coupons", "description": "\r\n> Check the new [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Promotions and is organized by focusing on the developer's journey.\r\n\r\n Retrieves all coupons from an account.", "operationId": "Getall", "parameters": [ { "name": "Content-Type", "in": "header", "description": "", "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" } ], "schema": { "type": "array", "title": "", "items": { "type": "object", "title": "", "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." } } } } } } } } } }, "/api/rnb/pvt/coupons": { "post": { "tags": [ "Coupons" ], "summary": "Coupon Massive Generation", "description": "Generates a massive amount of coupons", "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": "Quantity of coupons to generate", "required": true, "style": "form", "explode": true, "schema": { "type": "integer", "example": 10 } } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "title": "", "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": "Defines if the coupon is archived (`true`) or not (`false`).", "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", "title": "", "description": "Array with the generated coupon codes.", "items": { "type": "string", "title": "couponCode", "description": "Coupon code." } } } } } } } }, "/api/rnb/pvt/coupon/usage/{couponCode}": { "get": { "tags": [ "Coupons" ], "summary": "Get coupon usage", "description": "Retrieves information about the coupon usage.", "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", "title": "", "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.", "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", "title": "couponCode", "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> 📘 Onboarding guide \r\n>\r\n> Check the new [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about the Promotions and is organized by focusing on the developer's journey.\r\n\r\n", "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": "2009-12-31T02:00:00Z", "isActive": true, "description": "", "type": "progressive", "utmSource": "", "utmCampain": "", "utmiCampaign": "", "status": "active", "percentualTax": 0.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", "title": "", "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." }, "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.", "example": "item" } } } } } } } } }, "/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> 📘 Onboarding guide \r\n>\r\n> Check the new [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about the Promotions and is organized by focusing on the developer's journey.\r\n\r\n", "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": [] }, "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.0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": true, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [], "itemMaxPrice": 0.0, "itemMinPrice": 0.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.", "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": [] }, "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.0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": true, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [], "itemMaxPrice": 0.0, "itemMinPrice": 0.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": [] }, "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 }, "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 }, "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.", "example": "item" }, "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 }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion." }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true }, "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": "string", "description": "Collection ID." } }, "collections2BuyTogether": { "type": "array", "deprecated": true }, "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": "SKU first list for the promotion **Buy Together**." }, "listSku2BuyTogether": { "type": "array", "description": "SKU second list for the promotion **Buy Together**." }, "coupon": { "type": "array", "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 }, "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 }, "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", "title": "", "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 }, "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 }, "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 }, "paymentsRules": { "type": "array", "deprecated": true }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true }, "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.", "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", "title": "", "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.", "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": "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, "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": [], "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": [], "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": [] }, "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 }, "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 }, "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.", "example": "item" }, "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 }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion." }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true }, "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": "string", "description": "Collection ID." } }, "collections2BuyTogether": { "type": "array", "deprecated": true }, "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": "SKU first list for the promotion **Buy Together**." }, "listSku2BuyTogether": { "type": "array", "description": "SKU second list for the promotion **Buy Together**." }, "coupon": { "type": "array", "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 }, "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 }, "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", "title": "", "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 }, "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 }, "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" } }, "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 }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true }, "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." } } } } } } } }, "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.", "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": { "description": "", "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": [], "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": [] }, "schema": { "type": "object", "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 }, "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.0 }, "maxPricesPerItems": { "type": "array", "deprecated": true }, "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.0 }, "absoluteShippingDiscountValue": { "type": "number", "description": "Maximum shipping value.", "example": 0.0 }, "nominalDiscountValue": { "type": "number", "description": "Exact discount to be applied for the total purchase value.", "example": 10.0 }, "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.0 }, "percentualDiscountValue": { "type": "number", "description": "Percentage discount to be applied for total purchase value.", "example": 10.0 }, "rebatePercentualDiscountValue": { "type": "number", "description": "Percentual Shipping Discount Value.", "example": 0.0 }, "percentualShippingDiscountValue": { "type": "number", "description": "Percentage discount to be applied for shipping value.", "example": 0.0 }, "percentualTax": { "type": "number", "description": "Percentual Tax over purchase total value.", "example": 0.0 }, "shippingPercentualTax": { "type": "number", "description": "Shipping Percentual Tax over purchase total value.", "example": 0.0 }, "percentualDiscountValueList1": { "type": "number", "description": "Valid discounts for the SKUs in `listSku1BuyTogether`, discount list used for Buy Together Promotions.", "example": 0.0 }, "percentualDiscountValueList2": { "type": "number", "description": "Equivalent to `percentualDiscountValueList1`.", "example": 0.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.", "example": [ "SKU" ] } } }, "nominalRewardValue": { "type": "number", "description": "Nominal value for rewards program.", "example": 0.0 }, "percentualRewardValue": { "type": "number", "description": "Percentage value for rewards program.", "example": 0.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": "The maximum number of affected items by group key for a promotion.", "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.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 }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this Promotion or Tax.", "example": [ "Campaign Audience test" ] }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID.", "example": "1" } }, "storesAreInclusive": { "type": "boolean", "deprecated": true }, "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**, **Buy One Get One**.", "items": { "type": "string", "description": "Collection ID.", "example": "1" } }, "collections2BuyTogether": { "type": "array", "deprecated": true }, "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.", "example": [ { "id": "2", "name": "gustaBT" } ], "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.", "example": { "id": "2", "name": "gustaBT" }, "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion.", "example": "2" }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion.", "example": "gustaBT" } } } }, "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.", "example": [ { "id": "2", "name": "gustaBT" } ], "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.", "example": { "id": "2", "name": "gustaBT" }, "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion.", "example": "2" }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion.", "example": "gustaBT" } } } }, "coupon": { "type": "array", "deprecated": true }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to activate the Promotion or Tax.", "example": 0.0 }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to activate the Promotion or Tax.", "example": 0.0 }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true }, "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 }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to activate the Promotion or Tax.", "example": 0.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": "Zip code that applies the promotion.", "properties": { "inclusive": { "type": "boolean", "description": "Defines if the zip code applies the promotion.", "example": false } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item.", "example": 0.0 }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item.", "example": 0.0 }, "installment": { "type": "integer", "deprecated": true }, "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 }, "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 }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type.", "example": "Gift SKU" } }, "productsSpecifications": { "type": "array", "deprecated": true }, "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.0 } } } } } }, "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.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": [], "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": [] }, "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 }, "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 }, "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": "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 }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion." }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true }, "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": "string", "description": "Collection ID." } }, "collections2BuyTogether": { "type": "array", "deprecated": true }, "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": "SKU first list for the promotion **Buy Together**." }, "listSku2BuyTogether": { "type": "array", "description": "SKU second list for the promotion **Buy Together**." }, "coupon": { "type": "array", "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 }, "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 }, "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": {} }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true }, "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 }, "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 }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true }, "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." } } } } } } } }, "deprecated": false } }, "/api/rnb/pvt/import/calculatorConfiguration": { "post": { "tags": [ "Promotions and Taxes" ], "summary": "Create Multiple SKU Promotion", "description": "Creates a Multiple SKU Promotion. This scenario allows to create a single promotion for multiples SKUs with the Percentage Effect. \r\n> ⚠️ \r\n>\r\n> The limit of SKUs on a Multiple Effects promotion is 400.", "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" ], "summary": "Update Multiple SKU Promotion", "description": "Updates information from a Multiple SKU Promotion. This scenario allows to create a single promotion for multiples SKUs with the Percentage Effect. \r\n> ⚠️ \r\n>\r\n> The limit of SKUs on a Multiple Effects promotion is 400.", "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.", "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.", "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.", "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": "", "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", "title": "", "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.", "example": "item" } } } } } } }, "deprecated": false } }, "/api/rnb/pvt/archive/taxes/calculatorConfiguration": { "get": { "tags": [ "Promotions and Taxes" ], "operationId": "GetArchivedTaxes", "summary": "List Archived Taxes", "description": "Lists all archived taxes.", "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", "title": "", "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": "Price by 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)", "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": "", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } }, { "name": "skuId", "in": "path", "description": "", "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" } } } ] }, "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)", "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": "", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } }, { "name": "skuId", "in": "path", "description": "", "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)", "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": "", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } }, { "name": "page", "in": "path", "description": "", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "pageSize", "in": "path", "description": "", "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)", "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": "", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PricebycontextRequest" }, "example": { "id": 6324, "itemId": 2390148, "salesChannel": 1, "sellerId": "1", "validFrom": "1900-01-01T00:00:00", "validTo": "4000-01-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)", "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": "", "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": "", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "tradePolicy", "in": "path", "description": "", "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": { "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)", "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": "", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SavepriceRequest" }, "description": "" }, "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", "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": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Calculatediscountsandtaxes_Bundles_Request" }, "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.", "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": [], "coupon": [], "totalValueFloor": 0.0, "totalValueCeling": 0.0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": true, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0.0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "inclusive": true } ], "itemMaxPrice": 0.0, "itemMinPrice": 0.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", "title": "", "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 }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion." }, "storesAreInclusive": { "type": "boolean", "deprecated": true }, "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": "string", "description": "Collection ID." } }, "collections2BuyTogether": { "type": "array", "deprecated": true }, "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": "SKU first list for the promotion **Buy Together**." }, "listSku2BuyTogether": { "type": "array", "description": "SKU second list for the promotion **Buy Together**." }, "listBrand1BuyTogether": { "type": "array", "description": "Brand first list for the promotion **Buy Together." }, "listCategory1BuyTogether": { "type": "array", "description": "Category first list for the promotion **Buy Together**." }, "coupon": { "type": "array", "deprecated": true }, "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 }, "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 }, "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 campaign audience.", "items": { "type": "object", "description": "Zip code that applies the campaign audience.", "properties": { "inclusive": { "type": "boolean", "description": "Defines if the zip code applies the campaign audience." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true }, "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 }, "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 }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true }, "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.", "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": [], "coupon": [], "totalValueFloor": 0.0, "totalValueCeling": 0.0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": true, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0.0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "inclusive": true } ], "itemMaxPrice": 0.0, "itemMinPrice": 0.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", "title": "", "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 }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion." }, "storesAreInclusive": { "type": "boolean", "deprecated": true }, "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": "string", "description": "Collection ID." } }, "collections2BuyTogether": { "type": "array", "deprecated": true }, "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": "SKU first list for the promotion **Buy Together**." }, "listSku2BuyTogether": { "type": "array", "description": "SKU second list for the promotion **Buy Together**." }, "listBrand1BuyTogether": { "type": "array", "description": "Brand first list for the promotion **Buy Together." }, "listCategory1BuyTogether": { "type": "array", "description": "Category first list for the promotion **Buy Together**." }, "coupon": { "type": "array", "deprecated": true }, "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 }, "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 }, "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 campaign audience.", "items": { "type": "object", "description": "Zip code that applies the campaign audience.", "properties": { "inclusive": { "type": "boolean", "description": "Defines if the zip code applies the campaign audience." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true }, "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 }, "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 }, "paymentsRules": { "type": "array", "deprecated": true }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true }, "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.", "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": { "description": "", "content": { "application/json": { "schema": { "type": "object", "title": "", "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 }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "example": [] }, "storesAreInclusive": { "type": "boolean", "deprecated": true }, "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": "string", "description": "Collection ID.", "example": "1" } }, "collections2BuyTogether": { "type": "array", "deprecated": true }, "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": "SKU first list for the promotion **Buy Together**.", "example": [] }, "listSku2BuyTogether": { "type": "array", "description": "SKU second list for the promotion **Buy Together**.", "example": [] }, "listBrand1BuyTogether": { "type": "array", "description": "Brand first list for the promotion **Buy Together.", "example": [] }, "listCategory1BuyTogether": { "type": "array", "description": "Category first list for the promotion **Buy Together**.", "items": { "type": "object", "title": "", "properties": { "id": { "type": "string", "description": "Category ID.", "example": "1" }, "name": { "type": "string", "description": "Category name.", "example": "Vinhos Tintos (1)" } } } }, "coupon": { "type": "array", "deprecated": true }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to active the campaign audience.", "example": 40.0 }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to active the campaign audience.", "example": 0.0 }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true }, "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 }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the campaign audience.", "example": 0.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 campaign audience.", "items": { "type": "object", "description": "Zip code that applies the campaign audience.", "properties": { "inclusive": { "type": "boolean", "description": "Defines if the zip code applies the campaign audience.", "example": false } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item.", "example": 0.0 }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item.", "example": 0.0 }, "installment": { "type": "integer", "deprecated": true }, "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 }, "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 }, "paymentsRules": { "type": "array", "deprecated": true }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type.", "example": "Wishlist" } }, "productsSpecifications": { "type": "array", "deprecated": true }, "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.0 } } } } } } } } }, "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": [], "coupon": [], "totalValueFloor": 0.0, "totalValueCeling": 0.0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": true, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0.0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "inclusive": true } ], "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, "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [] } ] }, "schema": { "type": "object", "title": "", "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 }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion." }, "storesAreInclusive": { "type": "boolean", "deprecated": true }, "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": "string", "description": "Collection ID." } }, "collections2BuyTogether": { "type": "array", "deprecated": true }, "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": "SKU first list for the promotion **Buy Together**." }, "listSku2BuyTogether": { "type": "array", "description": "SKU second list for the promotion **Buy Together**." }, "listBrand1BuyTogether": { "type": "array", "description": "Brand first list for the promotion **Buy Together." }, "listCategory1BuyTogether": { "type": "array", "description": "Category first list for the promotion **Buy Together**." }, "coupon": { "type": "array", "deprecated": true }, "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 }, "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 }, "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 campaign audience.", "items": { "type": "object", "description": "Zip code that applies the campaign audience.", "properties": { "inclusive": { "type": "boolean", "description": "Defines if the zip code applies the campaign audience." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true }, "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 }, "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 }, "paymentsRules": { "type": "array", "deprecated": true }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true }, "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/pub/notifications": { "post": { "tags": [ "Notifications" ], "summary": "Usage notification", "description": "Usage notification", "operationId": "Usagenotification", "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": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UsagenotificationRequest" }, "example": { "orderId": "vbbbbbb-1", "profileId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "accountId": "ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj", "calculatorIds": [ "discount_basetestqa_1" ], "used": true, "coupon": "cupom", "itemsCount": 4 } } }, "required": true }, "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "http://example.com/.{environment}.com.br/api/rnb", "variables": { "environment": { "default": "exampleParameterValue" } } } ] } } }, "components": { "schemas": { "GetPromotions": { "title": "items", "type": "array", "description": "Array with promotions.", "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": { "title": "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": "Array with campaign audiences that activate this promotion.", "type": "array", "items": { "type": "string", "description": "Campaign Audience.", "example": "Campaign Audience example" } }, "activateGiftsMultiplier": { "description": "If set as `true`, it activates gifts Multiplier.", "type": "boolean", "example": false }, "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", "example": false }, "skus": { "description": "Quantity of SKUs which activate or deactivate the promotion.", "type": "number", "example": 1 }, "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", "example": true }, "products": { "description": "Quantity of products which activate or deactivate the promotion.", "type": "number", "example": 1 }, "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", "example": true }, "collections": { "description": "Quantity of collections which activate or deactivate the promotion.", "type": "number", "example": 1 }, "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", "example": true }, "categories": { "description": "Quantity of categories which activate or deactivate the promotion.", "type": "number", "example": 1 }, "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.", "example": true }, "brands": { "description": "Quantity of brands which activate or deactivate the promotion.", "type": "number", "example": 1 }, "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", "example": true }, "sellers": { "description": "Quantity of sellers which activate or deactivate the promotion.", "type": "number", "example": 0 }, "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", "example": false } } }, "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": { "title": "items", "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": { "title": "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": { "description": "Array with campaign audiences that activate this tax.", "type": "array", "items": { "type": "string", "description": "Campaign Audience.", "example": "Campaign Audience example" } }, "activateGiftsMultiplier": { "description": "If set as `true`, it activates gifts Multiplier.", "type": "boolean", "example": false }, "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", "example": false }, "skus": { "description": "Quantity of SKUs which activate or deactivate the tax.", "type": "number", "example": 1 }, "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", "example": true }, "products": { "description": "Quantity of products which activate or deactivate the tax.", "type": "number", "example": 1 }, "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", "example": true }, "collections": { "description": "Quantity of collections which activate or deactivate the tax.", "type": "number", "example": 1 }, "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", "example": true }, "categories": { "description": "Quantity of categories which activate or deactivate the tax.", "type": "number", "example": 1 }, "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.", "example": true }, "brands": { "description": "Quantity of brands which activate or deactivate the tax.", "type": "number", "example": 1 }, "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", "example": true }, "sellers": { "description": "Quantity of sellers which activate or deactivate the tax.", "type": "number", "example": 0 }, "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", "example": false } } }, "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." } } } }, "PricebycontextRequest": { "title": "PricebycontextRequest", "required": [ "id", "itemId", "salesChannel", "sellerId", "validFrom", "validTo" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "itemId": { "type": "integer", "format": "int32" }, "salesChannel": { "type": "integer", "format": "int32" }, "sellerId": { "type": "string" }, "validFrom": { "type": "string" }, "validTo": { "type": "string" } }, "example": { "id": 6324, "itemId": 2390148, "salesChannel": 1, "sellerId": "1", "validFrom": "1900-01-01T00:00:00", "validTo": "4000-01-01T00:00:00" } }, "SavepriceRequest": { "title": "SavepriceRequest", "required": [ "itemId", "salesChannel", "sellerId", "price", "listPrice", "validFrom", "validTo" ], "type": "object", "properties": { "itemId": { "type": "integer", "format": "int32" }, "salesChannel": { "type": "integer", "format": "int32" }, "sellerId": { "type": "integer", "format": "int32" }, "price": { "type": "integer", "format": "int32" }, "listPrice": { "type": "integer", "format": "int32" }, "validFrom": { "type": "string" }, "validTo": { "type": "string" } }, "example": { "itemId": 2390148, "salesChannel": 1, "sellerId": 1, "price": 1, "listPrice": 1, "validFrom": "2016-01-01T02:00:00Z", "validTo": "2017-01-01T02:00:00Z" } }, "Calculatediscountsandtaxes_Bundles_Request": { "title": "Calculatediscountsandtaxes(Bundles)Request", "required": [ "isShoppingCart", "origin", "salesChannel", "profileId", "items", "params" ], "type": "object", "properties": { "isShoppingCart": { "type": "boolean" }, "origin": { "type": "string" }, "salesChannel": { "type": "string" }, "profileId": { "type": "string" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/Item" }, "description": "" }, "params": { "type": "array", "items": { "$ref": "#/components/schemas/Param" }, "description": "" } }, "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" } ] } }, "Item": { "title": "Item", "required": [ "index", "id", "quantity", "isGift", "measurementUnit", "unitMultiplier", "priceTags", "params", "priceSheet", "logisticsInfos", "sellerId", "productSpecifications" ], "type": "object", "properties": { "index": { "type": "integer", "format": "int32" }, "id": { "type": "string" }, "quantity": { "type": "integer", "format": "int32" }, "isGift": { "type": "boolean" }, "measurementUnit": { "type": "string" }, "unitMultiplier": { "type": "integer", "format": "int32" }, "priceTags": { "type": "array", "items": { "type": "string" }, "description": "" }, "params": { "type": "array", "items": { "$ref": "#/components/schemas/Param" }, "description": "" }, "priceSheet": { "type": "array", "items": { "type": "string" }, "description": "" }, "logisticsInfos": { "type": "array", "items": { "type": "string" }, "description": "" }, "sellerId": { "type": "string" }, "productSpecifications": { "type": "array", "items": { "type": "string" }, "description": "" } }, "example": { "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": [] } }, "Param": { "title": "Param", "required": [ "name", "value" ], "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "example": { "name": "Seller@CatalogSystem", "value": "1" } }, "ZipCodeRange": { "title": "ZipCodeRange", "required": [ "inclusive" ], "type": "object", "properties": { "inclusive": { "type": "boolean" } }, "example": { "inclusive": true } }, "UsagenotificationRequest": { "title": "UsagenotificationRequest", "required": [ "orderId", "profileId", "accountId", "calculatorIds", "used", "coupon", "itemsCount" ], "type": "object", "properties": { "orderId": { "type": "string" }, "profileId": { "type": "string" }, "accountId": { "type": "string" }, "calculatorIds": { "type": "array", "items": { "type": "string" }, "description": "" }, "used": { "type": "boolean" }, "coupon": { "type": "string" }, "itemsCount": { "type": "integer", "format": "int32" } }, "example": { "orderId": "vbbbbbb-1", "profileId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "accountId": "ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj", "calculatorIds": [ "discount_basetestqa_1" ], "used": true, "coupon": "cupom", "itemsCount": 4 } } }, "securitySchemes": { "appKey": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppKey" }, "appToken": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppToken" } } }, "tags": [ { "name": "Promotions and Taxes" }, { "name": "Coupons" }, { "name": "Campaign Audiences" }, { "name": "Notifications" }, { "name": "Bundles" }, { "name": "Prices (Legacy - v1)" } ], "security": [ { "appKey": [], "appToken": [] } ] }