diff --git a/VTEX - Orders API PII version.json b/VTEX - Orders API PII version.json new file mode 100644 index 000000000..d4ff1357a --- /dev/null +++ b/VTEX - Orders API PII version.json @@ -0,0 +1,6345 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Orders API - PII data architecture", + "description": "VTEX stores using the [PII data architecture](https://developers.vtex.com/docs/guides/pii-data-architecture-specifications) from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus) must use this adapted version of the Orders API. Learn more about the modified behavior at [Changes in VTEX features behavior to handle PII data](https://developers.vtex.com/docs/guides/changes-in-vtex-features-behavior-to-handle-pii-data).\r\n\r\n>⚠️ The **Orders API - PII data architecture** is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in selected regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Index\r\n\r\n### Orders\r\n\r\n- `GET` [Get order](https://developers.vtex.com/docs/api-reference/orders-api-pii-version#get-/api/orders/pvt/document/-orderId-)\r\n- `POST` [List orders](https://developers.vtex.com/docs/api-reference/orders-api-pii-version#post-/api/orders/extendsearch/orders)\r\n- `POST` [Start handling order](https://developers.vtex.com/docs/api-reference/orders-api-pii-version#post-/api/orders/pvt/document/-orderId-/actions/start-handling)\r\n- `POST` [Cancel order](https://developers.vtex.com/docs/api-reference/orders-api-pii-version#post-/api/orders/pvt/document/-orderId-/cancel)\r\n\r\n### Invoice\r\n\r\n- `POST` [Order invoice notification](https://developers.vtex.com/docs/api-reference/orders-api-pii-version#post-/api/orders/pvt/document/-orderId-/invoices)\r\n\r\n### Payment\r\n\r\n- `POST` [Send payment notification](https://developers.vtex.com/docs/api-reference/orders-api-pii-version#post-/api/orders/pvt/document/-orderId-/payment/-paymentId-/notify-payment)", + "contact": {}, + "version": "1.0" + }, + "servers": [ + { + "url": "https://{accountName}.{environment}.com.br", + "description": "VTEX server URL.", + "variables": { + "accountName": { + "description": "Name of the VTEX account. Used as part of the URL.", + "default": "apiexamples" + }, + "environment": { + "description": "Environment to use. Used as part of the URL.", + "enum": [ + "vtexcommercestable" + ], + "default": "vtexcommercestable" + } + } + } + ], + "paths": { + "/api/orders/pvt/document/{orderId}": { + "get": { + "tags": [ + "Orders" + ], + "summary": "Get order", + "description": "Retrieves order details by searching by order ID.\r\n\r\nIf you wish to retrieve unmasked data, use the `reason` query parameter.\r\n\r\n>⚠️ Throttling: Each VTEX account can make up to 6000 requests per minute.\r\n\r\n> You can only access information from orders created in the last two years, and that same period is valid for customers through [My Account](https://help.vtex.com/en/tutorial/how-my-account-works--2BQ3GiqhqGJTXsWVuio3Xh).\r\n\r\n> Check the [Orders onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/orders-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Orders and is organized by focusing on the developer's journey.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| OMS | OMS access | **View order** |\r\n| Checkout | CheckoutResources | **Orders Full Access** |\r\n\r\nYou can [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) with that resource or use one of the following [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy):\r\n\r\n| **Role** | **Resource** | \r\n| --------------- | ----------------- | \r\n| OMS - Full access | View order |\r\n| Checkout Admin | View order |\r\n| IntegrationProfile - Fulfillment Oms | View order |\r\n| OMS - Full access | Orders Full Access |\r\n| Checkout Admin | Orders Full Access |\r\n| IntegrationProfile - Fulfillment Oms | Orders Full Access |\r\n\r\n>❗ Assigning a [predefined role](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) to users or application keys usually grants permission to multiple [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3). If some of these permissions are not necessary, consider creating a custom role instead. For more information regarding security, see [Best practices for using application keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "operationId": "GetOrder2", + "parameters": [ + { + "$ref": "#/components/parameters/Content-Type" + }, + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/orderId" + }, + { + "$ref": "#/components/parameters/reason" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Order ID." + }, + "sellerOrderId": { + "type": "string", + "description": "Seller order ID." + }, + "orderFormId": { + "type": "string", + "description": "ID of the shopping cart from which the order was created." + }, + "origin": { + "type": "string", + "description": "Order's [origin in the order flow](https://help.vtex.com/en/tutorial/order-flow-and-status--tutorials_196).", + "enum": [ + "Marketplace", + "Fulfillment", + "Chain" + ] + }, + "orderGroup": { + "type": "string", + "description": "Order group ID." + }, + "items": { + "type": "array", + "description": "Information on order items.", + "items": { + "type": "object", + "description": "Information on each order item.", + "properties": { + "productCategories": { + "type": "object", + "description": "Object containing product categories with the structure: `{CategoryID}: {CategoryName}`.", + "properties": { + "additionalProperties": { + "type": "string", + "description": "Product category corresponding to the ID in the field key." + } + } + }, + "uniqueId": { + "type": "string", + "description": "Order item unique ID." + }, + "id": { + "type": "string", + "description": "Item ID." + }, + "productId": { + "type": "string", + "description": "Product ID." + }, + "lockId": { + "type": "string", + "description": "[Reservation](https://help.vtex.com/en/tutorial/how-does-reservation-work--tutorials_92) ID.", + "nullable": true + }, + "ean": { + "type": "string", + "description": "European Article Number (EAN) of the item.", + "nullable": true + }, + "quantity": { + "type": "integer", + "description": "Item quantity." + }, + "seller": { + "type": "string", + "description": "Seller name. When the store acts both as marketplace and seller, this field corresponds to `1`, because every VTEX store is its own seller 1." + }, + "sellerSku": { + "type": "string", + "description": "Seller SKU ID." + }, + "priceValidUntil": { + "type": "string", + "description": "Item price expiration date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "name": { + "type": "string", + "description": "SKU name." + }, + "additionalInfo": { + "type": "object", + "description": "Item additional information.", + "properties": { + "brandName": { + "type": "string", + "description": "Item brand name." + }, + "brandId": { + "type": "string", + "description": "Item brand ID." + }, + "categoriesIds": { + "type": "string", + "description": "Categories IDs." + }, + "dimension": { + "type": "object", + "description": "Item dimensions.", + "properties": { + "cubicweight": { + "type": "number", + "description": "Item cubic weight." + }, + "height": { + "type": "number", + "description": "Item height." + }, + "length": { + "type": "number", + "description": "Item length." + }, + "weight": { + "type": "number", + "description": "Item weight." + }, + "width": { + "type": "number", + "description": "Item width." + } + } + }, + "productClusterId": { + "type": "string", + "description": "All product clusters related to the item." + }, + "commercialConditionId": { + "type": "string", + "description": "Commercial condition ID." + }, + "offeringInfo": { + "type": "string", + "description": "Offering information.", + "nullable": true + }, + "offeringType": { + "type": "string", + "description": "Offering type.", + "nullable": true + }, + "offeringTypeId": { + "type": "string", + "description": "Offering type ID.", + "nullable": true + }, + "categories": { + "type": "array", + "description": "Item [categories](https://help.vtex.com/tracks/catalog-101--5AF0XfnjfWeopIFBgs3LIQ/2gkZDjXRqfsq62TlAkj4uf) information.", + "items": { + "type": "object", + "description": "Information about a given category.", + "properties": { + "id": { + "type": "integer", + "description": "Category ID." + }, + "name": { + "type": "string", + "description": "Category name." + } + } + } + } + } + }, + "attachments": { + "type": "array", + "description": "Information on [attachments](https://help.vtex.com/en/tutorial/what-is-an-attachment--aGICk0RVbqKg6GYmQcWUm).", + "nullable": true, + "items": { + "type": "object", + "description": "Information about a given attachment.", + "properties": { + "name": { + "type": "string", + "description": "Attachment name.", + "nullable": true + }, + "content": { + "type": "object", + "description": "Custom field for attachment content.", + "nullable": true, + "additionalProperties": { + "type": "string", + "description": "Custom field information.", + "nullable": true + } + } + } + } + }, + "attachmentOfferings": { + "type": "array", + "description": "Array containing attachments details.", + "nullable": true, + "items": { + "type": "object", + "description": "Attachment details.", + "nullable": true, + "properties": { + "name": { + "type": "string", + "description": "Attachment name.", + "nullable": true + }, + "required": { + "type": "boolean", + "description": "Defines if the attachment is required (`true`) or not (`false`).", + "nullable": true + }, + "schema": { + "type": "object", + "description": "Schema of the content declared in the field `attachmentOfferings`.", + "nullable": true + } + } + } + }, + "assemblies": { + "type": "array", + "description": "Information about the item customization, when applicable.", + "nullable": true, + "items": { + "type": "string", + "description": "Customization information.", + "nullable": true + } + }, + "refId": { + "type": "string", + "description": "Ref ID." + }, + "shippingPrice": { + "type": "integer", + "description": "Item shipping price in cents. This value does not account for the order total shipping price.", + "nullable": true + }, + "price": { + "type": "integer", + "description": "Item price in cents." + }, + "sellingPrice": { + "type": "integer", + "description": "Selling price in cents. This field can present rounding discrepancies, so we recommend retrieving pricing information from the `priceDefinition` field." + }, + "listPrice": { + "type": "integer", + "description": "List price in cents." + }, + "manualPrice": { + "type": "integer", + "description": "[Manual price](https://help.vtex.com/en/tutorial/change-the-price-of-an-item-in-the-shopping-cart--7Cd37aCAmtL1qmoZJJvjNf) in cents.", + "nullable": true + }, + "tax": { + "type": "integer", + "description": "Tax value in cents." + }, + "rewardValue": { + "type": "integer", + "description": "Reward value in cents." + }, + "freightCommission": { + "type": "integer", + "description": "Freight commission value in cents." + }, + "commission": { + "type": "integer", + "description": "Commission value registered for the seller." + }, + "priceTags": { + "type": "array", + "description": "Information about price tags. A price tag is a price modifier, like s discount or a promotion applicable to the item in the order context.", + "items": { + "type": "object", + "description": "Information about a given price tag.", + "properties": { + "name": { + "type": "string", + "description": "Price tag name." + }, + "rawValue": { + "type": "number", + "description": "Price tag raw value." + }, + "isPercentual": { + "type": "boolean", + "description": "Indicates whether price tag value is applied through a percentage (`true`) or not (`false`)." + }, + "identifier": { + "type": "string", + "description": "Price tag identifier." + }, + "rate": { + "type": "integer", + "description": "Price tag value.", + "nullable": true + }, + "jurisCode": { + "type": "string", + "description": "Juris code.", + "nullable": true + }, + "jurisType": { + "type": "string", + "description": "Juris type.", + "nullable": true + }, + "jurisName": { + "type": "string", + "description": "Juris name.", + "nullable": true + } + } + } + }, + "imageUrl": { + "type": "string", + "description": "Image URL." + }, + "detailUrl": { + "type": "string", + "description": "Detail URL." + }, + "components": { + "type": "array", + "description": "Item components.", + "nullable": true, + "items": { + "type": "string", + "description": "Component name.", + "nullable": true + } + }, + "bundleItems": { + "type": "array", + "description": "Information about services sold with the item. For example, a gift package.", + "nullable": true, + "items": { + "type": "object", + "description": "Information about a given service.", + "properties": { + "type": { + "type": "string", + "description": "Service type." + }, + "id": { + "type": "integer", + "description": "Service ID." + }, + "name": { + "type": "string", + "description": "Service name." + }, + "price": { + "type": "integer", + "description": "Service price in cents." + } + } + } + }, + "offerings": { + "type": "array", + "description": "Information about offerings, which are services related to the item. For example, a warranty or installation.", + "nullable": true, + "items": { + "type": "string", + "description": "Name of the service related to the item. For example, warranty or installation.", + "nullable": true + } + }, + "preSaleDate": { + "type": "string", + "description": "Presale date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "isGift": { + "type": "boolean", + "description": "Defines it the item is a gift (`true`) or not (`false`)." + }, + "taxCode": { + "type": "string", + "description": " Item tax code.", + "nullable": true + }, + "measurementUnit": { + "type": "string", + "description": "Item measurement unit." + }, + "unitMultiplier": { + "type": "number", + "description": "Item unit multiplier." + }, + "marketingData": { + "type": "object", + "description": "Information about marketing and promotions, such as coupon code and [Urchin Tracking Module (UTM)](https://help.vtex.com/en/tutorial/what-are-utm-source-utm-campaign-and-utm-medium--2wTz7QJ8KUG6skGAoAQuii).", + "nullable": true, + "properties": { + "utmSource": { + "type": "string", + "description": "A UTM is an Urchin Tracking Module used to track traffic related to your store. This field is an UTM for tracking the traffic source, to know from which site, advertiser, or publication the customer came before reaching your site.", + "nullable": true + }, + "utmMedium": { + "type": "string", + "description": "UTM for tracking the advertising or marketing media used to reach your site, such as banners and newsletters." + }, + "utmCampaign": { + "type": "string", + "description": "UTM for tracking the marketing campaign context.", + "nullable": true + }, + "utmPartner": { + "type": "string", + "description": "UTM for tracking the partner.", + "nullable": true + }, + "utmipage": { + "type": "string", + "description": "A `utmi` is an internal Urchin Tracking Module (UTM) used to track traffic inside your site. This field is an internal UTM for tracking pages.", + "nullable": true + }, + "utmiPart": { + "type": "string", + "description": "Internal UTM for tracking the partner.", + "nullable": true + }, + "utmiCampaign": { + "type": "string", + "description": "Internal UTM for tracking the marketing campaign context.", + "nullable": true + }, + "coupon": { + "type": "string", + "description": "Coupon code used by the customer.", + "nullable": true + }, + "marketingTags": { + "type": "array", + "description": "List of marketing tags valid for the item.", + "items": { + "type": "string", + "description": "Marketing tag name." + } + } + } + }, + "parentAssemblyBinding": { + "type": "string", + "description": "When items are indexed in between each other, this field returns the assembly option ID. This response is `null` for items that are not [assembly options](https://help.vtex.com/en/tutorial/assembly-options--5x5FhNr4f5RUGDEGWzV1nH).", + "nullable": true + }, + "parentItemIndex": { + "type": "integer", + "description": "Ranking number that shows how related items are indexed in between each other. It starts at `0` as the primary item reference and counts up to `1`, `2`, and so on. For example, a customer bought sunglasses and hired a warranty service. Since the sunglasses are index `0`, the warranty service (the [assembly option](https://help.vtex.com/en/tutorial/assembly-options--5x5FhNr4f5RUGDEGWzV1nH)) is index `1` and has the `parentItemIndex` value `0`. This response is `null` for items that are not assembly options.", + "nullable": true + }, + "callCenterOperator": { + "type": "string", + "description": "Identification code of the call center operator that sold the item, when applicable.", + "nullable": true + }, + "priceDefinition": { + "type": "object", + "description": "Item price information.", + "properties": { + "calculatedSellingPrice": { + "type": "integer", + "description": "Item calculated selling price in cents." + }, + "total": { + "type": "integer", + "description": "Item total price in cents." + }, + "sellingPrices": { + "type": "array", + "description": "Item selling prices.", + "items": { + "type": "object", + "description": "Price value per quantity.", + "properties": { + "value": { + "type": "integer", + "description": "Item selling price value in cents." + }, + "quantity": { + "type": "integer", + "description": "Item quantity." + } + } + } + }, + "reason": { + "type": "string", + "description": "Item price definition reason.", + "nullable": true + } + } + }, + "costPrice": { + "type": "integer", + "description": "Item cost price in cents.", + "nullable": true + } + } + } + }, + "marketplaceItems": { + "type": "array", + "description": "Marketplace items.", + "nullable": true, + "items": { + "type": "string", + "description": "Marketplace item.", + "nullable": true + } + }, + "authorizedDate": { + "type": "string", + "description": "Order authorization date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "subscriptionData": { + "type": "object", + "description": "Information about [subscriptions](https://help.vtex.com/tutorial/how-subscriptions-work--frequentlyAskedQuestions_4453), when applicable.", + "nullable": true, + "properties": { + "subscriptionGroupId": { + "type": "string", + "description": "Subscription group ID. If this field returns `null` and the `executionCount` is `0`, the order is the first subscription order.", + "nullable": true + }, + "subscriptions": { + "type": "array", + "description": "List with subscriptions details.", + "nullable": true, + "items": { + "type": "object", + "description": "Subscription details.", + "properties": { + "executionCount": { + "type": "integer", + "description": "Position of the order in the subscription cycle. The first order will have the value `0`, the second will have the value `1`, and so on." + }, + "priceAtSubscriptionDate": { + "type": "number", + "description": "Value of the order when the customer subscribed. Subscriptions created via VTEX Admin or [Subscriptions API](https://developers.vtex.com/docs/api-reference/subscriptions-api-v3) do not have an original order, so this field returns `0.0`.", + "nullable": true, + "deprecated": true + }, + "itemIndex": { + "type": "integer", + "description": "Each item in the subscription order is identified by an index. The position starts in `0`, followed by `1`, `2`, and so on." + }, + "plan": { + "type": "object", + "description": "Information about the [subscription plan](https://help.vtex.com/en/tutorial/subscription-plans-beta--5kczKRqHEsrs1tYtRcY8wR).", + "properties": { + "type": { + "type": "string", + "description": "Plan type." + }, + "frequency": { + "type": "object", + "description": "Information about subscriptions' recurrence.", + "properties": { + "periodicity": { + "type": "string", + "description": "Defines the subscription recurrence period.", + "enum": [ + "DAILY", + "WEEKLY", + "MONTHLY", + "YEARLY" + ] + }, + "interval": { + "type": "integer", + "description": "Time interval configured between subscription orders, which depends on the frequency. For a `DAY` frequency, the value will be days, for `MONTH` it will be months, and so on." + } + } + }, + "validity": { + "type": "object", + "description": "Information about the period during which the subscription will be valid.", + "properties": { + "begin": { + "type": "string", + "description": "Subscription plan beginning date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "end": { + "type": "string", + "description": "Subscription plan ending date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + } + } + } + } + } + } + } + } + } + }, + "taxData": { + "type": "object", + "description": "Order taxes information.", + "required": [ + "areTaxesDesignatedByMarketplace", + "taxInfoCollection" + ], + "nullable": true, + "properties": { + "areTaxesDesignatedByMarketplace": { + "type": "boolean", + "description": "Defines if the taxes were applied by the marketplace (`true`) or not (`false`)." + }, + "taxInfoCollection": { + "type": "array", + "description": "Order taxes details.", + "items": { + "type": "object", + "description": "Information about a given tax.", + "required": [ + "itemIndex", + "sku", + "priceTags" + ], + "properties": { + "itemIndex": { + "type": "integer", + "description": "Item indexing number." + }, + "sku": { + "type": "string", + "description": "SKU ID." + }, + "priceTags": { + "type": "object", + "description": "Information about order taxes.", + "nullable": true, + "properties": { + "areTaxesDesignatedByMarketplace": { + "type": "boolean", + "description": "Defines if the taxes were designated by the marketplace (`true`) or not (`false`)." + }, + "taxInfoCollection": { + "type": "array", + "description": "Array with taxes' details.", + "items": { + "type": "object", + "description": "Details about a given tax.", + "properties": { + "itemIndex": { + "type": "integer", + "description": "Item index number." + }, + "sku": { + "type": "string", + "description": "Alphanumeric sequence that identifies a SKU." + }, + "priceTags": { + "type": "array", + "description": "Price tags information with the original taxes calculated at order placement.", + "items": { + "type": "object", + "description": "Information about a given price tag.", + "properties": { + "identifier": { + "type": "string", + "description": "Price tag identifier code." + }, + "isPercentual": { + "type": "boolean", + "description": "Indicates whether price tag value is applied through a percentage (`true`) or not (`false`)." + }, + "name": { + "type": "string", + "description": "Price tag name." + }, + "value": { + "type": "number", + "description": "Price tag value." + }, + "rawValue": { + "type": "number", + "description": "Price tag raw value that can contain up to five decimals, separated by a period." + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "invoicedDate": { + "type": "string", + "description": "Order invoice date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "marketplaceOrderId": { + "type": "string", + "description": "Order ID in the marketplace.", + "nullable": true + }, + "marketplaceServicesEndpoint": { + "type": "string", + "description": "Marketplace endpoint for post purchase communication.", + "nullable": true + }, + "clientProfileData": { + "$ref": "#/components/schemas/ClientProfileData" + }, + "giftRegistryData": { + "type": "object", + "description": "[Gift list](https://developers.vtex.com/docs/guides/creating-gift-lists) information.", + "nullable": true, + "properties": { + "giftRegistryId": { + "type": "string", + "description": "Gift list ID." + }, + "giftRegistryType": { + "type": "string", + "description": "[Gift list type](https://help.vtex.com/en/tutorial/creating-a-type-of-list)." + }, + "giftRegistryTypeName": { + "type": "string", + "description": "Gift list type name." + }, + "addressId": { + "type": "string", + "description": "Gift list shipping address ID." + }, + "description": { + "type": "string", + "description": "Gift list description." + } + } + }, + "emailTracked": { + "type": "string", + "description": "Customer email [tracked](https://help.vtex.com/en/tutorial/understanding-the-conversation-tracker--tutorials_195)." + }, + "isCheckedIn": { + "type": "boolean", + "description": "Defines if the order was placed via [VTEX Sales App](https://help.vtex.com/en/tracks/instore-getting-started-and-setting-up--zav76TFEZlAjnyBVL5tRc) (`true`) or not (`false`)." + }, + "approvedBy": { + "type": "string", + "description": "User who approved the order, in case of manual approval.", + "nullable": true + }, + "cancelledBy": { + "type": "string", + "description": "User that canceled the order.", + "nullable": true + }, + "canceledBy": { + "type": "string", + "description": "User that canceled the order.", + "nullable": true + }, + "cancelReason": { + "type": "string", + "description": "Order cancellation reason.", + "nullable": true + }, + "callCenterOperatorData": { + "type": "object", + "description": "Information about the call center operator responsible for the order.", + "nullable": true, + "properties": { + "id": { + "type": "string", + "description": "Call center operator identification code." + }, + "email": { + "type": "string", + "description": "Call center operator email." + }, + "userName": { + "type": "string", + "description": "Call center operator user name." + } + } + }, + "allowCancellation": { + "type": "boolean", + "description": "Defines if order cancellation is allowed (`true`) or not anymore (`false`)." + }, + "allowEdition": { + "type": "boolean", + "description": "Defines if the order can be edited (`true`) or not anymore (`false`)." + }, + "roundingError": { + "type": "integer", + "description": "Rounding error total amount in cents, when applicable. For example, in orders with a discount over non-integer multiplier items, the rounding price is performed per item, not after the sum of all items. That can cause a difference in the total discount amount, which is informed in this field." + }, + "salesChannel": { + "type": "string", + "description": "Sales channel (or [trade policy](https://help.vtex.com/tutorial/how-trade-policies-work--6Xef8PZiFm40kg2STrMkMV)) related to the order." + }, + "salesChannelData": { + "type": "object", + "description": "Sales channel (or [trade policy](https://help.vtex.com/tutorial/how-trade-policies-work--6Xef8PZiFm40kg2STrMkMV)) information.", + "properties": { + "countryCode": { + "type": "string", + "description": "Three-digit country code, in [ISO 3166 ALPHA-3](https://www.iban.com/country-codes) format.", + "nullable": true + }, + "currencyCode": { + "type": "string", + "description": "Currency code in [ISO 4217](https://www.iban.com/currency-codes) format.", + "nullable": true + }, + "currencyFormatInfo": { + "type": "object", + "description": "Currency format details.", + "nullable": true, + "properties": { + "CurrencyDecimalDigits": { + "type": "integer", + "description": "Quantity of currency decimal digits." + }, + "CurrencyDecimalSeparator": { + "type": "string", + "description": "Defines what currency decimal separator will be applied." + }, + "CurrencyGroupSeparator": { + "type": "string", + "description": "Defines what currency group separator will be applied." + }, + "CurrencyGroupSize": { + "type": "integer", + "description": "Defines how many characters will be grouped." + }, + "StartsWithCurrencySymbol": { + "type": "boolean", + "description": "Defines if all prices will be initiated with the currency symbol (`true`) or not (`false`)." + } + } + }, + "cultureInfo": { + "type": "string", + "description": "Information about the culture.", + "nullable": true + }, + "currencyLocale": { + "type": "integer", + "description": "Currency Locale Code in [LCID](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-oe376/6c085406-a698-4e12-9d4d-c3b0ee3dbc4a) format." + }, + "currencySymbol": { + "type": "string", + "description": "Currency symbol.", + "nullable": true + }, + "timeZone": { + "type": "string", + "description": "Time zone where the order was created.", + "nullable": true + }, + "id": { + "type": "string", + "description": "Sales channel (or [trade policy](https://help.vtex.com/tutorial/how-trade-policies-work--6Xef8PZiFm40kg2STrMkMV)) ID." + }, + "name": { + "type": "string", + "description": "Store name." + }, + "isActive": { + "type": "boolean", + "description": "Defines if the sales channel is active (`true`) or inactive (`false`)." + } + } + }, + "customData": { + "type": "object", + "description": "Customizable fields created by the store for the shopping cart. This field is useful for storing data not included in other fields. For example, a message for a gift or a name to be printed in a shirt.", + "nullable": true, + "properties": { + "customApps": { + "type": "array", + "description": "Customizable apps created by the store.", + "nullable": true, + "items": { + "type": "string", + "description": "Customizable apps details.", + "nullable": true + } + } + } + }, + "changesAttachment": { + "$ref": "#/components/schemas/ChangesAttachment" + }, + "commercialConditionData": { + "type": "string", + "description": "Commercial condition information.", + "nullable": true + }, + "shippingData": { + "$ref": "#/components/schemas/ShippingData" + }, + "packageAttachment": { + "type": "object", + "description": "Information about shipping packages, which are created after order invoicing.", + "nullable": true, + "properties": { + "packages": { + "type": "array", + "description": "List with packages' information.", + "nullable": true, + "items": { + "type": "object", + "description": "Package details.", + "properties": { + "courier": { + "type": "string", + "description": "Name of the [carrier](https://help.vtex.com/en/tutorial/carriers-on-vtex--7u9duMD5UQa2QQwukAWMcE) responsible for the package shipping." + }, + "description": { + "type": "string", + "description": "Package description.", + "nullable": true + }, + "invoiceNumber": { + "type": "string", + "description": "Unique identification code of the package invoice." + }, + "invoiceValue": { + "type": "integer", + "description": "Package invoice value in cents." + }, + "invoiceUrl": { + "type": "string", + "description": "Package invoice URL." + }, + "issuanceDate": { + "type": "string", + "description": "Package invoice issuance date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "trackingNumber": { + "type": "string", + "description": "Package [tracking number](https://developers.vtex.com/docs/api-reference/orders-api#patch-/api/oms/pvt/orders/-orderId-/invoice/-invoiceNumber-)." + }, + "invoiceKey": { + "type": "string", + "description": "Package invoice key." + }, + "trackingUrl": { + "type": "string", + "description": "Package tracking URL." + }, + "embeddedInvoice": { + "type": "string", + "description": "Package invoice text in [xml format](https://help.vtex.com/en/tutorial/configuring-xml--tutorials_242). This field is important for stores integrated with [external marketplaces](https://developers.vtex.com/docs/guides/external-marketplace-integration-guide)." + }, + "type": { + "type": "string", + "description": "Package invoice type, which can be:\r\n- `Output`: Selling order invoice.\r\n- `Input`: Returning items invoice.", + "enum": [ + "Output", + "Input" + ] + }, + "items": { + "type": "array", + "description": "Information on each item in the package.", + "items": { + "type": "object", + "description": "Package item details.", + "properties": { + "itemIndex": { + "type": "integer", + "description": "Item index of the item position whithin the `items` array. The count starts at `0`." + }, + "id": { + "type": "string", + "description": "SKU ID." + }, + "quantity": { + "type": "integer", + "description": "Package item quantity." + }, + "price": { + "type": "integer", + "description": "Package item price in cents." + }, + "description": { + "type": "string", + "description": "Package item description." + }, + "unitMultiplier": { + "type": "number", + "description": "Package item unit multiplier." + } + } + } + }, + "courierStatus": { + "type": "object", + "description": "[Carrier](https://help.vtex.com/en/tutorial/carriers-on-vtex--7u9duMD5UQa2QQwukAWMcE) shipping information.", + "nullable": true, + "properties": { + "deliveredDate": { + "type": "string", + "description": "Package delivery date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "status": { + "type": "string", + "description": "Defines if a carrier was assigned for order shipping (`ok`) or not (`null`).", + "nullable": true + }, + "finished": { + "type": "boolean", + "description": "Defines if the carrier has already delivered the package (`true`) or not (`false`)." + }, + "data": { + "type": "array", + "description": "Package tracking information.", + "items": { + "type": "object", + "description": "Package tracking details.", + "properties": { + "lastChange": { + "type": "string", + "description": "Date since package tracking last change in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "city": { + "type": "string", + "description": "Package tracking city." + }, + "state": { + "type": "string", + "description": "Package tracking state in two-digit code format." + }, + "description": { + "type": "string", + "description": "Package tracking description." + }, + "createDate": { + "type": "string", + "description": "Package tracking creation date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + } + } + } + } + } + }, + "cfop": { + "type": "string", + "description": "[CFOP](https://www.gov.br/receitafederal/pt-br/acesso-a-informacao/acoes-e-programas/facilitacao/anexo-ecf-cfop) (_Código Fiscal de Operação e Prestação_) is a Brazilian fiscal code of operations and services that classifies business transaction types.", + "nullable": true + }, + "lastChange": { + "type": "string", + "description": "Date since package tracking last change in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "restitutions": { + "type": "object", + "description": "Information about a value being returned to the customer. This field applies only to invoices with the `Input` type because it relates to returning items.", + "nullable": true, + "properties": { + "refund": { + "type": "object", + "description": "Customer refund details.", + "properties": { + "value": { + "type": "integer", + "description": "Refund value in cents." + }, + "giftCardData": { + "type": "string", + "description": "Refund involving a [gift card](https://developers.vtex.com/docs/guides/gift-card-integration-guide).", + "nullable": true + }, + "items": { + "type": "array", + "description": "Information about the items being returned.", + "nullable": true, + "items": { + "type": "object", + "description": "Returned item details.", + "properties": { + "useFreight": { + "type": "boolean", + "description": "Defines if the refund includes freight values (`true`) or not (`false`).", + "nullable": true + }, + "isCompensation": { + "type": "boolean", + "description": "Defines if there are compensated unit tags in the package (`true`) or not (`false`)." + }, + "compensationValue": { + "type": "integer", + "description": "Compensational refund value in cents." + }, + "id": { + "type": "string", + "description": "SKU ID of the returned item." + }, + "quantity": { + "type": "integer", + "description": "Number of items being returned." + }, + "price": { + "type": "integer", + "description": "Returned item price in cents." + }, + "description": { + "type": "string", + "description": "Customer reason for returning the item." + } + } + } + } + } + } + } + }, + "volumes": { + "type": "integer", + "description": "Indicates the number of boxes (volumes) needed to contain the package items. For example, two refrigerators do not fit in a single volume, so this field would have value `2`.", + "nullable": true + } + } + } + } + } + }, + "marketplace": { + "type": "object", + "description": "Information about the marketplace related to the order.", + "nullable": true, + "properties": { + "baseURL": { + "type": "string", + "description": "Marketplace base URL." + }, + "isCertified": { + "type": "boolean", + "nullable": true, + "description": "Defines if the marketplace is a [VTEX certified marketplace](https://help.vtex.com/en/tutorial/marketplace-strategies-at-vtex--tutorials_402#integrating-with-certified-marketplaces) (`true`) or not (`false`)." + }, + "name": { + "type": "string", + "description": "Marketplace name." + } + } + }, + "contextData": { + "type": "object", + "description": "Information about the order context.", + "properties": { + "loggedIn": { + "type": "boolean", + "description": "Defines if the user was logged in the account or not (`true`) or not (`false`)." + }, + "hasAccessToOrderFormEnabledByLicenseManager": { + "type": "boolean", + "description": "Defines if in order placement the user had access to the order form enabled by the [License Manager](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) (`true`) or not (`false`)." + }, + "userAgent": { + "type": "string", + "description": "User agent name." + }, + "userId": { + "type": "string", + "description": "User ID." + } + } + }, + "lastMessage": { + "type": "string", + "description": "Last transactional message sent to the customer.", + "nullable": true + }, + "status": { + "type": "string", + "description": "[Order status](https://help.vtex.com/en/tutorial/order-flow-and-status--tutorials_196) in the workflow." + }, + "handlingData": { + "type": "string", + "description": "Order handling information.", + "nullable": true + }, + "documentVersion": { + "type": "string", + "description": "Document version identification." + }, + "appVersion": { + "type": "string", + "description": "APP version identification." + }, + "workflowData": { + "type": "object", + "description": "Information about order processing and workflow.", + "properties": { + "instances": { + "type": "array", + "description": "Order processing details.", + "items": { + "type": "object", + "description": "Order processing details for the marketplace and seller instances.", + "properties": { + "id": { + "type": "string", + "description": "Workflow instance ID." + }, + "name": { + "type": "string", + "description": "Workflow instance name, related to marketplace and fulfillment." + }, + "currentStepName": { + "type": "string", + "description": "Current [order status](https://help.vtex.com/en/tutorial/order-flow-and-status--tutorials_196) in the workflow." + }, + "currentStepDescription": { + "type": "string", + "description": "Current step description for the order status in the workflow.", + "nullable": true + }, + "lastChange": { + "type": "string", + "description": "Date of the order last change in the workflow in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "isInError": { + "type": "boolean", + "description": "Defines if the order processing in the workflow is in error (`true`) or not (`false`)." + }, + "isInAutomaticRetry": { + "type": "boolean", + "description": "Defines if the order is in automatic processing retry in the workflow (`true`) or not (`false`)." + }, + "creationDate": { + "type": "string", + "description": "Order creation date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "owner": { + "type": "string", + "description": "Code that identifies the owner.", + "nullable": true + }, + "version": { + "type": "string", + "description": "Workflow version.", + "nullable": true + }, + "timeLine": { + "type": "array", + "description": "Workflow timeline steps.", + "items": { + "type": "object", + "description": "Information about a given workflow timeline step.", + "properties": { + "stepName": { + "type": "string", + "description": "Name of the timeline step." + }, + "date": { + "type": "string", + "description": "Timeline step processing date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "parentStepName": { + "type": "string", + "description": "Timeline parent step name." + } + } + } + }, + "logicTimeLine": { + "type": "array", + "description": "Logical workflow timeline steps.", + "items": { + "type": "object", + "description": "Information about a given logical workflow timeline step.", + "properties": { + "stepName": { + "type": "string", + "description": "Name of the logical timeline step." + }, + "date": { + "type": "string", + "description": "Logical timeline step processing date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + } + } + } + }, + "steps": { + "type": "array", + "description": "Steps in the order processing in the workflow.", + "items": { + "type": "object", + "description": "Details about a given step in the order processing.", + "properties": { + "name": { + "type": "string", + "description": "Order processing step name." + }, + "next": { + "type": "array", + "description": "Next order steps in the workflow.", + "nullable": true, + "items": { + "type": "object", + "description": "Information about a given step in the workflow.", + "properties": { + "name": { + "type": "string", + "description": "Step status name." + }, + "next": { + "type": "string", + "description": "Next order status step.", + "nullable": true + }, + "systemWillMove": { + "type": "boolean", + "description": "Defines if the order can move to the next step (`true`) or not (`false`)." + }, + "actionsAllowed": { + "type": "object", + "description": "Type of actions allowed in the next steps.", + "nullable": true, + "properties": { + "type": { + "type": "string", + "description": "Name of the order action allowed." + } + } + }, + "expectFlow": { + "type": "boolean", + "description": "Defines if the order is progressing in the workflow as expected (`true`) or not (`false`).", + "nullable": true + } + } + } + }, + "systemWillMove": { + "type": "boolean", + "description": "Defines if the order can move to the next workflow status (`true`) or not (`false`)." + }, + "actionsAllowed": { + "type": "object", + "description": "Type of actions allowed for order processing in the workflow.", + "nullable": true, + "properties": { + "type": { + "type": "string", + "description": "Name of the order action allowed." + } + } + }, + "start": { + "type": "boolean", + "description": "Defines if the step corresponds to the order creation (`true`) or not (`false`)." + } + } + } + }, + "currentLogicalStep": { + "type": "string", + "description": "Name of the order current logical step in the workflow." + } + } + } + }, + "mainFlowIndex": { + "type": "integer", + "description": "Workflow processing index, starting from `0`." + } + } + }, + "checkedInPickupPointId": { + "type": "string", + "description": "When the order is created at a physical store which is configured as a pickup point, this field retrieves the pickup point ID.", + "nullable": true + }, + "fingerPrint": { + "type": "string", + "description": "Order finger print code." + }, + "piiHidden": { + "type": "boolean", + "description": "Defines if the VTEX account uses [PII data architecture](https://developers.vtex.com/docs/guides/pii-data-architecture-specifications) (`true`) or not (`false`)." + }, + "workflowIsInError": { + "type": "boolean", + "description": "Indicates if the order workflow presents an error (`true`) or if there are no errors (`false`)." + }, + "callCenterOperator": { + "type": "string", + "description": "Identification code of the call center operator responsible for the order, when applicable.", + "nullable": true + }, + "state": { + "type": "string", + "description": "[Order status](https://help.vtex.com/en/tutorial/order-flow-and-status--tutorials_196) in the workflow." + }, + "timeZoneCreationDate": { + "type": "string", + "description": "Order creation date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "timeZoneLastChange": { + "type": "string", + "description": "Date of the order processing last change in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "userType": { + "type": "string", + "description": "User type.", + "nullable": true + }, + "clientPreferencesData": { + "type": "object", + "description": "Information about the customer preferences.", + "properties": { + "locale": { + "type": "string", + "description": "Language code of the customer preferred language while accessing the store." + }, + "optinNewsLetter": { + "type": "boolean", + "description": "Defines if the customer receives the store's newsletter (`true`) or not (`false`)." + } + } + }, + "orderId": { + "type": "string", + "description": "Order ID." + }, + "workflowInstanceId": { + "type": "string", + "description": "Workflow instance ID.", + "nullable": true + }, + "creationDate": { + "type": "string", + "description": "Order creation date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "totals": { + "type": "array", + "description": "Information about the order totals.", + "items": { + "type": "object", + "description": "Details about the order totals.", + "properties": { + "id": { + "type": "string", + "description": "Total ID, which defines what the total is about.", + "enum": [ + "Items", + "Discounts", + "Shipping", + "Tax" + ] + }, + "name": { + "type": "string", + "description": "Total name." + }, + "value": { + "type": "integer", + "description": "Total value in cents." + }, + "alternativeTotals": { + "type": "array", + "description": "Information about the order alternative totals, when applicable. For example, when there is a discount for items in the marketplace that results in a difference in the `Items` total value, the `alternativeTotals` can retrieve details about it.", + "nullable": true, + "items": { + "type": "object", + "description": "Details about the order alternative totals.", + "properties": { + "id": { + "type": "string", + "description": "Alternative total ID, which can be related to items, discounts, shipping or taxes." + }, + "name": { + "type": "string", + "description": "Alternative total name." + }, + "value": { + "type": "integer", + "description": "Alternative total value in cents." + } + } + } + } + } + } + }, + "sequence": { + "type": "string", + "description": "Sequence number part of the order ID. For example, in order `v70530116str-01`, the sequence is `70530116`." + }, + "receiptData": { + "type": "object", + "description": "Receipts with information about transactions.", + "properties": { + "receiptCollection": { + "type": "array", + "description": "Collection of receipts.", + "items": { + "type": "object", + "description": "Receipt with information about a given transaction.", + "properties": { + "receiptType": { + "type": "string", + "description": "Receipt transaction type." + }, + "date": { + "type": "string", + "description": "Receipt transaction date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + } + } + } + } + } + }, + "isCompleted": { + "type": "boolean", + "description": "Defines if the order payment has been settled (`true`) or not (`false`)." + }, + "openTextField": { + "type": "object", + "description": "Optional field for additional information.", + "nullable": true, + "additionalProperties": { + "type": "string", + "description": "Additional information." + } + }, + "affiliateId": { + "type": "string", + "description": "Three-letter [affiliate](https://help.vtex.com/en/tutorial/configuring-affiliates--tutorials_187) code configured by the seller to identify a marketplace.", + "nullable": true + }, + "value": { + "type": "integer", + "description": "Order total value in cents." + }, + "hostname": { + "type": "string", + "description": "Main [account name](https://help.vtex.com/en/tutorial/what-is-an-account-name--i0mIGLcg3QyEy8OCicEoC)." + }, + "followUpEmail": { + "type": "string", + "description": "Email of the store employee responsible for managing the order." + }, + "lastChange": { + "type": "string", + "description": "Order last change date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "sellers": { + "type": "array", + "description": "Information about the sellers associated with the order.", + "items": { + "type": "object", + "description": "Information about a given seller.", + "properties": { + "id": { + "type": "string", + "description": "Seller identifier." + }, + "name": { + "type": "string", + "description": "Seller name." + }, + "logo": { + "type": "string", + "description": "Seller logo URL.", + "nullable": true + }, + "fulfillmentEndpoint": { + "type": "string", + "description": "URL of the endpoint for fulfillment of seller's orders, which the marketplace use to communicate with the seller." + }, + "subSellerId": { + "type": "string", + "description": "Sub seller ID. When the main account acts both as seller and marketplace, this field will return the value `1`." + } + } + } + }, + "marketingData": { + "type": "object", + "description": "Information about marketing and promotions, such as coupon code and [Urchin Tracking Module (UTM)](https://help.vtex.com/en/tutorial/what-are-utm-source-utm-campaign-and-utm-medium--2wTz7QJ8KUG6skGAoAQuii).", + "nullable": true, + "properties": { + "utmSource": { + "type": "string", + "description": "A UTM is an Urchin Tracking Module used to track traffic related to your store. This field is an UTM for tracking the traffic source, to know from which site, advertiser, or publication the customer came before reaching your site.", + "nullable": true + }, + "utmMedium": { + "type": "string", + "description": "UTM for tracking the advertising or marketing media used to reach your site, such as banners and newsletters." + }, + "utmCampaign": { + "type": "string", + "description": "UTM for tracking the marketing campaign context.", + "nullable": true + }, + "utmPartner": { + "type": "string", + "description": "UTM for tracking the partner.", + "nullable": true + }, + "utmipage": { + "type": "string", + "description": "A `utmi` is an internal Urchin Tracking Module (UTM) used to track traffic inside your site. This field is an internal UTM for tracking pages.", + "nullable": true + }, + "utmiPart": { + "type": "string", + "description": "Internal UTM for tracking the partner.", + "nullable": true + }, + "utmiCampaign": { + "type": "string", + "description": "Internal UTM for tracking the marketing campaign context.", + "nullable": true + }, + "coupon": { + "type": "string", + "description": "Coupon code used by the customer.", + "nullable": true + }, + "marketingTags": { + "type": "array", + "description": "List of marketing tags valid for the order.", + "items": { + "type": "string", + "description": "Marketing tag name." + } + } + } + }, + "ratesAndBenefitsData": { + "type": "object", + "description": "Information about promotions and taxes valid for the order.", + "properties": { + "rateAndBenefitsIdentifiers": { + "type": "array", + "description": "List of promotions and taxes.", + "items": { + "type": "object", + "description": "Information about a given promotion or tax.", + "properties": { + "id": { + "type": "string", + "description": "Promotion or tax ID." + }, + "name": { + "type": "string", + "description": "Promotion or tax name." + }, + "featured": { + "type": "boolean", + "description": "Defines if the [target audience](https://help.vtex.com/en/tutorial/creating-a-campaign-audience--6cnuDZJzIkIeocewAQQK4K) is featured (`true`) or not (`false`)." + }, + "description": { + "type": "string", + "description": "Promotion or tax description.", + "nullable": true + }, + "matchedParameters": { + "type": "object", + "description": "Conditions met by the purchase for the promotion or tax to be applied.", + "nullable": true, + "additionalProperties": { + "type": "string", + "description": "Promotion or tax condition." + } + }, + "additionalInfo": { + "type": "object", + "description": "Object containing additional information about the promotion or tax.", + "nullable": true, + "additionalProperties": { + "type": "string", + "description": "Promotion or tax additional information." + } + } + } + } + }, + "teaser": { + "type": "array", + "description": "List of promotion teasers.", + "nullable": true, + "items": { + "type": "object", + "description": "Information about a promotion teaser.", + "properties": { + "name": { + "type": "string", + "description": "Promotion teaser name." + }, + "description": { + "type": "string", + "description": "Promotion teaser description." + } + } + } + } + } + }, + "paymentData": { + "type": "object", + "description": "Payments information.", + "properties": { + "giftCards": { + "type": "array", + "description": "[Gift cards](https://developers.vtex.com/docs/guides/gift-card-integration-guide) information, when applicable.", + "nullable": true, + "items": { + "type": "object", + "description": "Gift card details.", + "properties": { + "id": { + "type": "string", + "description": "Gift card identification." + }, + "redemptionCode": { + "type": "string", + "description": "Gift card code used by the customer at checkout." + }, + "name": { + "type": "string", + "description": "Gift card name.", + "nullable": true + }, + "caption": { + "type": "string", + "description": "Gift card loyalty program, when applicable.", + "nullable": true + }, + "value": { + "type": "integer", + "description": "Gift card value in cents." + }, + "balance": { + "type": "number", + "description": "Gift card current balance. For newly created gift cards, the balance will be `0.0`." + }, + "provider": { + "type": "string", + "description": "Gift card provider name." + }, + "groupName": { + "type": "string", + "description": "Gift card group name.", + "nullable": true + }, + "inUse": { + "type": "boolean", + "description": "Defines if the gift card is in use (`true`) or not (`false`)." + }, + "isSpecialCard": { + "type": "boolean", + "description": "Defines if the gift card is a special card (`true`) or not (`false`)." + } + } + } + }, + "transactions": { + "type": "array", + "description": "Information about the order financial transactions.", + "items": { + "type": "object", + "description": "Information about a given transaction.", + "properties": { + "isActive": { + "type": "boolean", + "description": "Defines of the transaction is active (`true`) or inactive (`false`)." + }, + "transactionId": { + "type": "string", + "description": "Transaction ID." + }, + "merchantName": { + "type": "string", + "description": "Merchant name." + }, + "payments": { + "type": "array", + "description": "Payments information.", + "items": { + "type": "object", + "description": "Payment details.", + "properties": { + "bankIssuedInvoiceIdentificationNumberFormatted": { + "type": "string", + "description": "Bank issued invoice numeric sequence formatted as customers see.", + "nullable": true + }, + "bankIssuedInvoiceIdentificationNumber": { + "type": "string", + "description": "Bank issued invoice numeric sequence.", + "nullable": true + }, + "parentAccountId": { + "type": "string", + "description": "When the payment was made in a subaccount, this field retrieves the main account ID.", + "nullable": true + }, + "accountId": { + "type": "string", + "description": "Identification code of the account where the payment was made." + }, + "dueDate": { + "type": "string", + "description": "Payment due date in `MM/YY` format.", + "nullable": true + }, + "group": { + "type": "string", + "description": "Transaction payment method, which can be credit card, debid card, bank invoice, promissory, gift card or pix (`instantPayment`).", + "enum": [ + "creditCard", + "debitCard", + "bankInvoice", + "promissory", + "giftCard", + "instantPayment" + ] + }, + "isGiftCardDiscount": { + "type": "boolean", + "description": "Defines if the payment has a gift card discount (`true`) or not (`false`).", + "nullable": true + }, + "giftCardName": { + "type": "string", + "description": "Gift card name.", + "nullable": true + }, + "giftCardCaption": { + "type": "string", + "description": "Gift card caption.", + "nullable": true + }, + "giftCardProvider": { + "type": "string", + "description": "Gift card provider ID.", + "nullable": true + }, + "giftCardId": { + "type": "string", + "description": "Gift card ID.", + "nullable": true + }, + "redemptionCode": { + "type": "string", + "description": "Gift card code used by the customer at checkout.", + "nullable": true + }, + "tid": { + "type": "string", + "description": "Provider unique identifier for the transaction." + }, + "koinUrl": { + "type": "string", + "description": "Koin connector URL.", + "nullable": true + }, + "url": { + "type": "string", + "description": "Payment URL.", + "nullable": true + }, + "expireYear": { + "type": "string", + "description": "Card expiration year in 4-digit format.", + "nullable": true + }, + "expireMonth": { + "type": "string", + "nullable": true, + "description": "Card expiration month in 2-digit format." + }, + "cvv2": { + "type": "string", + "nullable": true, + "description": "Card Verification Value (CVV2) is a security code used by payment processors to reduce fraudulent credit and debit card transactions." + }, + "lastDigits": { + "type": "string", + "nullable": true, + "description": "Card last four digits." + }, + "firstDigits": { + "type": "string", + "nullable": true, + "description": "Card first four digits." + }, + "cardNumber": { + "type": "string", + "nullable": true, + "description": "Card number." + }, + "cardHolder": { + "type": "string", + "nullable": true, + "description": "Name of the card owner." + }, + "referenceValue": { + "type": "integer", + "description": "Total payment reference value in cents." + }, + "connectorResponses": { + "type": "object", + "description": "Payment provider (connector) responses. The fields within this object can vary according to the order payment provider.", + "properties": { + "Message": { + "type": "string", + "description": "Provider operational message or error to be logged." + }, + "tid": { + "type": "string", + "description": "Provider unique identifier for the transaction." + }, + "authorizationId": { + "type": "string", + "description": "Provider authorization ID." + }, + "status": { + "type": "string", + "description": "Order payment status in the [transaction flow](https://help.vtex.com/en/tracks/payments--6GAS7ZzGAm7AGoEAwDbwJG/1xjzgJZvqwaI1rfxLMCC3Y)." + }, + "delayToAutoSettle": { + "type": "integer", + "description": "Total time (in seconds) before the auto settle, when the platform makes an automatic call to `/settlements`, regardless if the payment was approved by the merchant's anti-fraud provider. The maximum value allowed is `604800` seconds (7 days)." + }, + "ReturnCode": { + "type": "string", + "description": "Provider operational return code or error to be logged.", + "nullable": true + }, + "nsu": { + "type": "string", + "description": "Provider unique sequential number for the transaction." + }, + "code": { + "type": "string", + "description": "Provider operational code or error to be logged." + }, + "message": { + "type": "string", + "description": "Provider operational message or error to be logged." + }, + "Tid": { + "type": "string", + "description": "Provider unique identifier for the transaction." + }, + "acquirer": { + "type": "string", + "description": "[Acquirer](https://help.vtex.com/en/tracks/payments--6GAS7ZzGAm7AGoEAwDbwJG/kdPbEIWf8Xq8tESQvViMB#acquirer) name (mostly used for card payments)." + }, + "authId": { + "type": "string", + "description": "Authorization identification." + }, + "paymentId": { + "type": "string", + "description": "Payment ID." + }, + "delayToAutoSettleAfterAntifraud": { + "type": "string", + "description": "Total time (in seconds) before the auto settle, when the platform makes an automatic call to `/settlements`. This happens only after the payment was approved by the merchant's anti-fraud provider." + } + } + }, + "installments": { + "type": "integer", + "description": "Number of payment installments." + }, + "value": { + "type": "integer", + "description": "Order total payment value in cents." + }, + "paymentSystemName": { + "type": "string", + "description": "Payment system name." + }, + "paymentSystem": { + "type": "string", + "description": "Payment system ID." + }, + "paymentOrigin": { + "type": "string", + "description": "Type of [wallet](https://help.vtex.com/en/tutorial/what-is-an-e-wallet--4v5wcOe4A0SiaimWM2cU60) used in the payment.", + "nullable": true + }, + "id": { + "type": "string", + "description": "Payment unique identifier." + }, + "bankIssuedInvoiceBarCodeNumber": { + "type": "string", + "description": "Bank issued invoice bar code number.", + "nullable": true + }, + "bankIssuedInvoiceBarCodeType": { + "type": "string", + "description": "Bank issued invoice bar code type.", + "nullable": true + }, + "billingAddress": { + "type": "object", + "description": "Billing address information.", + "nullable": true, + "properties": { + "addressType": { + "type": "string", + "description": "Billing address type, which can be `residential`, when the customer gives an address for delivery, or `pickup`, when the customer picks the order at a pickup point.", + "enum": [ + "residential", + "pickup" + ] + }, + "receiverName": { + "type": "string", + "description": "Full name of the order receiver." + }, + "addressId": { + "type": "string", + "description": "Billing address ID." + }, + "versionId": { + "type": "string", + "description": "Billing address version ID.", + "nullable": true + }, + "entityId": { + "type": "string", + "description": "Billing address entity ID.", + "nullable": true + }, + "postalCode": { + "type": "string", + "description": "Billing address postal code." + }, + "city": { + "type": "string", + "description": "Billing address city." + }, + "state": { + "type": "string", + "description": "Billing address state." + }, + "country": { + "type": "string", + "description": "Billing address three-digit country code in [ISO 3166 ALPHA-3](https://www.iban.com/country-codes) format." + }, + "street": { + "type": "string", + "description": "Billing address street." + }, + "number": { + "type": "string", + "description": "Billing address number." + }, + "neighborhood": { + "type": "string", + "description": "Billing address neighborhood." + }, + "complement": { + "type": "string", + "description": "Billing address complement.", + "nullable": true + }, + "reference": { + "type": "string", + "description": "Billing address additional information.", + "nullable": true + }, + "geoCoordinates": { + "type": "array", + "description": "Billing address pair of geolocation coordinates, first longitude then latitude.", + "items": { + "type": "number", + "description": "Longitude or latitude." + } + }, + "contactId": { + "type": "string", + "description": "Billing contact unique identifier.", + "nullable": true + } + } + } + } + } + }, + "sharedTransaction": { + "type": "boolean", + "description": "Defines if the transaction is shared (`true`) or not (`false`)." + }, + "status": { + "type": "string", + "description": "Order payment status in the [transaction flow](https://help.vtex.com/en/tracks/payments--6GAS7ZzGAm7AGoEAwDbwJG/1xjzgJZvqwaI1rfxLMCC3Y).", + "nullable": true + } + } + } + } + } + }, + "invoiceData": { + "type": "object", + "description": "Order invoices information.", + "nullable": true, + "properties": { + "address": { + "type": "object", + "description": "Invoice address information.", + "nullable": true, + "properties": { + "addressType": { + "type": "string", + "description": "Invoice address type, which can be `residential`, when the customer gives an address for delivery, or `pickup`, when the customer picks the order at a pickup point.", + "nullable": true, + "enum": [ + "residential", + "pickup" + ] + }, + "receiverName": { + "type": "string", + "description": "Full name of the order receiver.", + "nullable": true + }, + "addressId": { + "type": "string", + "description": "Invoice address ID.", + "nullable": true + }, + "versionId": { + "type": "string", + "description": "Invoice address version ID.", + "nullable": true + }, + "entityId": { + "type": "string", + "description": "Invoice address entity ID.", + "nullable": true + }, + "postalCode": { + "type": "string", + "description": "Invoice address postal code." + }, + "city": { + "type": "string", + "description": "Invoice address city." + }, + "state": { + "type": "string", + "description": "Invoice address state." + }, + "country": { + "type": "string", + "description": "Invoice address three-digit country code in [ISO 3166 ALPHA-3](https://www.iban.com/country-codes) format." + }, + "street": { + "type": "string", + "description": "Invoice address street." + }, + "number": { + "type": "string", + "description": "Invoice address number." + }, + "neighborhood": { + "type": "string", + "description": "Invoice address neighborhood." + }, + "complement": { + "type": "string", + "description": "Invoice address complement.", + "nullable": true + }, + "reference": { + "type": "string", + "description": "Invoice address additional information.", + "nullable": true + }, + "geoCoordinates": { + "type": "array", + "description": "Invoice address pair of geolocation coordinates, first longitude then latitude.", + "items": { + "type": "number", + "description": "Longitude or latitude." + } + }, + "contactId": { + "type": "string", + "description": "Contact unique identifier.", + "nullable": true + } + } + }, + "userPaymentInfo": { + "type": "object", + "description": "Invoice information regarding payment method.", + "nullable": true, + "properties": { + "paymentMethods": { + "type": "array", + "description": "List of the payment methods used by the customer in the purchase.", + "items": { + "type": "string", + "description": "Payment method name." + } + } + } + }, + "settleInvoices": { + "type": "array", + "description": "List with the order settled invoices.", + "nullable": true, + "items": { + "type": "string", + "description": "Settled invoice numeric identifier." + } + }, + "invoiceSubject": { + "type": "object", + "description": "Information about the invoice subject.", + "nullable": true, + "properties": { + "id": { + "type": "string", + "description": "Invoice subject ID." + }, + "email": { + "type": "string", + "description": "Invoice subject email address." + }, + "firstName": { + "type": "string", + "description": "Invoice subject first name." + }, + "lastName": { + "type": "string", + "description": "Invoice subject last name." + }, + "phone": { + "type": "string", + "description": "Invoice subject phone number." + } + } + } + } + }, + "storePreferencesData": { + "type": "object", + "description": "Store preferences in the [Account settings](https://help.vtex.com/en/tutorial/account-details-page--2vhUVOKfCaswqLguT2F9xq).", + "properties": { + "countryCode": { + "type": "string", + "description": "Country code in three-digit [ISO 3166 ALPHA-3](https://www.iban.com/country-codes) format." + }, + "currencyCode": { + "type": "string", + "description": "Currency code in [ISO 4217](https://www.iban.com/currency-codes) format." + }, + "currencyFormatInfo": { + "type": "object", + "description": "Currency format settings.", + "properties": { + "CurrencyDecimalDigits": { + "type": "integer", + "description": "Number of currency decimal digits." + }, + "CurrencyDecimalSeparator": { + "type": "string", + "description": "Character for currency decimal separation." + }, + "CurrencyGroupSeparator": { + "type": "string", + "description": "Character for currency group separation." + }, + "CurrencyGroupSize": { + "type": "integer", + "description": "Limit of characters that can be grouped for currency groups." + }, + "StartsWithCurrencySymbol": { + "type": "boolean", + "description": "Defines if the prices displayed for customers start with the currency symbol (`true`) or not (`false`)." + } + } + }, + "currencyLocale": { + "type": "integer", + "description": "Currency locale code in [LCID](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-oe376/6c085406-a698-4e12-9d4d-c3b0ee3dbc4a) format." + }, + "currencySymbol": { + "type": "string", + "description": "Currency symbol characters." + }, + "timeZone": { + "type": "string", + "description": "Time zone considered for the store orders." + } + } + }, + "merchantName": { + "type": "string", + "description": "Merchant name.", + "nullable": true + }, + "itemMetadata": { + "type": "object", + "description": "Metadata information about items.", + "properties": { + "items": { + "type": "array", + "description": "Metadata details about items.", + "items": { + "type": "object", + "description": "Metadata details about a given item", + "properties": { + "id": { + "type": "string", + "description": "SKU ID." + }, + "seller": { + "type": "string", + "description": "Seller ID." + }, + "name": { + "type": "string", + "description": "Item name as displayed to customers in the storefront." + }, + "skuName": { + "type": "string", + "description": "SKU name." + }, + "productId": { + "type": "string", + "description": "Product ID." + }, + "refId": { + "type": "string", + "description": "SKU reference ID." + }, + "ean": { + "type": "string", + "description": "European Article Number (EAN) of the item.", + "nullable": true + }, + "imageUrl": { + "type": "string", + "description": "SKU image URL." + }, + "detailUrl": { + "type": "string", + "description": "SKU slug." + }, + "assemblyOptions": { + "type": "array", + "description": "[Assembly options](https://help.vtex.com/en/tutorial/assembly-options--5x5FhNr4f5RUGDEGWzV1nH) information related to the item, when applicable.", + "nullable": true, + "items": { + "type": "object", + "description": "[Assembly option](https://help.vtex.com/en/tutorial/assembly-options--5x5FhNr4f5RUGDEGWzV1nH) details.", + "properties": { + "id": { + "type": "string", + "description": "Assembly option ID." + }, + "name": { + "type": "string", + "description": "Assembly option name." + }, + "required": { + "type": "boolean", + "description": "Defines if sending the attachment for the item purchased is required(`true`) or optional (`false`)." + }, + "inputValues": { + "type": "object", + "description": "Assembly option content.", + "nullable": true, + "additionalProperties": { + "type": "string", + "description": "Assembly option value.", + "nullable": true + } + }, + "composition": { + "type": "object", + "description": "Assembly option composition.", + "nullable": true, + "additionalProperties": { + "type": "string", + "description": "Assembly option composition value." + } + } + } + } + } + } + } + } + } + }, + "creationEnvironment": { + "type": "string", + "description": "Order creation environment, which can be a [development workspace](https://developers.vtex.com/docs/guides/vtex-io-documentation-creating-a-development-workspace) (`BETA`) or a [production workspace](https://developers.vtex.com/docs/guides/vtex-io-documentation-creating-a-production-workspace) (`STABLE`).", + "nullable": true, + "enum": [ + "BETA", + "STABLE", + null + ] + }, + "cancellationData": { + "type": "object", + "description": "Information about [order cancellation](https://developers.vtex.com/docs/guides/order-canceling-improvements), when applicable.", + "nullable": true, + "properties": { + "requestedByUser": { + "type": "boolean", + "description": "Defines if the order cancellation was requested by the customer (`true`) or not (`false`)." + }, + "requestedBySystem": { + "type": "boolean", + "description": "Defines if the order cancellation was made by the system (`true`) or not (`false`). This type of order cancellation happens in [incomplete orders](https://help.vtex.com/en/tutorial/how-incomplete-orders-work--tutorials_294), for example.", + "nullable": true + }, + "requestedBySellerNotification": { + "type": "boolean", + "description": "Defines if the order cancellation was requested by the seller (`true`) or not (`false`).", + "nullable": true + }, + "requestedByPaymentNotification": { + "type": "boolean", + "description": "Defines if the order cancellation was requested by the payment gateway (`true`) or not (`false`).", + "nullable": true + }, + "reason": { + "type": "string", + "description": "Reason why the order was canceled." + }, + "cancellationDate": { + "type": "string", + "description": "Order cancellation date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "cancellationRequestId": { + "type": "string", + "description": "ID that identifies the cancellation operation." + } + } + }, + "cancellationRequests": { + "type": "array", + "description": "Information about the [seller order cancellation denials](https://developers.vtex.com/docs/guides/order-canceling-improvements), regardless if the cancellation request was made by the marketplace or the customer.", + "nullable": true, + "items": { + "type": "object", + "description": "Information about the seller denial to a given order cancellation request.", + "properties": { + "id": { + "type": "string", + "description": "ID that identifies the original cancellation operation made by the marketplaces or its customer care service using the [Cancel order](https://developers.vtex.com/docs/api-reference/orders-api#post-/api/oms/pvt/orders/-orderId-/cancel) endpoint." + }, + "reason": { + "type": "string", + "description": "Reason why there was a request to cancel the order." + }, + "cancellationRequestDate": { + "type": "string", + "description": "Date of when the order cancellation request was processed by the platform. The date format is [ISO 8601 time zone offset](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "requestedByUser": { + "type": "boolean", + "description": "Defines if the order cancellation was requested by the customer (`true`) or not (`false`)." + }, + "deniedBySeller": { + "type": "boolean", + "description": "Defines if the order cancellation request was [denied by the seller](https://developers.vtex.com/docs/guides/order-canceling-improvements) (`true`) or accepted by the seller (`false`)." + }, + "deniedBySellerReason": { + "type": "string", + "description": "Reason given by the seller for denying the order cancellation.", + "nullable": true + }, + "cancellationRequestDenyDate": { + "type": "string", + "description": "Date of when the platform processed the seller denial to an order cancellation request. The date format is [ISO 8601 time zone offset](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + } + } + } + } + } + }, + "example": { + "id": "v70530116str-01", + "sellerOrderId": "SLR-v70530116str-01", + "orderFormId": "7e3b7b8bc4154e53badbb1695b7e0877", + "origin": "Marketplace", + "orderGroup": "v70530116str", + "items": [ + { + "productCategories": { + "1004164": "Trousers", + "1004161": "Clothes", + "1000003": "Fashion Women" + }, + "uniqueId": "B977B816F0F94EC698E331699E509C29", + "id": "5658771", + "productId": "4249628", + "lockId": null, + "ean": null, + "quantity": 2, + "seller": "strnov", + "sellerSku": "5658771", + "priceValidUntil": "2043-09-22T12:00:00Z", + "name": "jeans trousers for women 46", + "additionalInfo": { + "brandName": "STR", + "brandId": "1", + "categoriesIds": "/1000003/1004161/1004164/", + "dimension": { + "cubicweight": 0.5208, + "height": 10.0, + "length": 25.0, + "weight": 435.0, + "width": 10.0 + }, + "productClusterId": "8896,9708,9922,10068,11240,11577,13213,14487,15891,16802,16815,17096,17138,17247,17295,17306,17329,17340,17341,17349,17380,17411,17415,17434", + "commercialConditionId": "1", + "offeringInfo": null, + "offeringType": null, + "offeringTypeId": null, + "categories": [ + { + "id": 1004164, + "name": "Trousers" + }, + { + "id": 1004161, + "name": "Clothes" + }, + { + "id": 1000003, + "name": "Fashion Women" + } + ] + }, + "attachments": [], + "attachmentOfferings": [], + "assemblies": [], + "refId": "11084344", + "shippingPrice": null, + "price": 13999, + "sellingPrice": 9950, + "listPrice": 13999, + "manualPrice": null, + "tax": 0, + "rewardValue": 0, + "freightCommission": 0, + "commission": 0, + "priceTags": [ + { + "name": "discount@price-ea50cdaa-0a41-460d-bd8b-1242c94b6682s#df252f1b-c327-4c06-aea2-8e4e48c14a51", + "rawValue": -80.980, + "isPercentual": false, + "identifier": "ea50cdaa-0a41-460d-bd8b-1242c94b682s", + "rate": null, + "jurisCode": null, + "jurisType": null, + "jurisName": null + } + ], + "imageUrl": "https://str.vteximg.com.br/archives/ids/58926632-200-240/photo-0.jpg?v=638594288386230000", + "detailUrl": "/jeans-trousers-for-women/p", + "components": [], + "bundleItems": [], + "offerings": [], + "preSaleDate": null, + "isGift": false, + "taxCode": null, + "measurementUnit": "un", + "unitMultiplier": 1.0, + "marketingData": null, + "parentAssemblyBinding": null, + "parentItemIndex": null, + "callCenterOperator": null, + "priceDefinition": { + "calculatedSellingPrice": 9950, + "total": 19900, + "sellingPrices": [ + { + "value": 9950, + "quantity": 2 + } + ], + "reason": null + }, + "costPrice": null + } + ], + "marketplaceItems": null, + "authorizedDate": "2024-09-05T15:00:24.3047063Z", + "subscriptionData": null, + "taxData": null, + "invoicedDate": null, + "marketplaceOrderId": null, + "marketplaceServicesEndpoint": null, + "clientProfileData": { + "id": null, + "userProfileId": "8afcc0ee-6b77-4493-b87f-793906ce076r", + "userProfileVersion": null, + "firstName": "Rose", + "lastName": "Travis", + "email": "rosetravis@email.com", + "document": "03375163479", + "corporateDocument": null, + "corporateName": null, + "documentType": "cpf", + "phone": "+5521983238247", + "tradeName": null, + "stateInscription": null, + "corporatePhone": null, + "isCorporate": false, + "customerClass": null, + "customerCode": null + }, + "giftRegistryData": null, + "emailTracked": "067fbeb620989c549d97b83f182402eb@ct.str.com", + "isCheckedIn": false, + "approvedBy": null, + "cancelledBy": "t004842@str.com", + "canceledBy": "t004842@str.com", + "cancelReason": "Picked wrong store", + "callCenterOperatorData": null, + "allowCancellation": false, + "allowEdition": false, + "roundingError": 0, + "salesChannel": "1", + "salesChannelData": { + "countryCode": null, + "currencyCode": null, + "currencyFormatInfo": null, + "currencyLocale": 0, + "cultureInfo": null, + "currencySymbol": null, + "timeZone": null, + "id": "1", + "name": "Main store", + "isActive": false + }, + "customData": null, + "changesAttachment": null, + "commercialConditionData": null, + "shippingData": { + "address": { + "addressType": "pickup", + "receiverName": "Rose Travis", + "addressId": "NOV", + "versionId": null, + "entityId": null, + "postalCode": "20765000", + "city": "Rio De Janeiro", + "state": "RJ", + "country": "BRA", + "street": "Avenue Pastor Martin Luther King Jr.", + "number": "126", + "neighborhood": "Del Castilho", + "complement": "Loja STR Bloco 10 105 Part 511", + "reference": null, + "geoCoordinates": [ + -43.27194, + -22.8777 + ], + "contactId": null + }, + "logisticsInfo": [ + { + "polygonName": "", + "shippingEstimate": "1bd", + "entityId": null, + "versionId": null, + "pickupStoreInfo": { + "isPickupStore": true, + "friendlyName": "STR Shopping Nova América - Pickup in store", + "address": { + "addressType": "pickup", + "receiverName": null, + "addressId": "NOV", + "versionId": null, + "entityId": null, + "postalCode": "20765000", + "city": "Rio De Janeiro", + "state": "RJ", + "country": "BRA", + "street": "Avenue Pastor Martin Luther King Jr.", + "number": "126", + "neighborhood": "Del Castilho", + "complement": "Loja STR Bloco 10 105 Parte 511", + "reference": null, + "geoCoordinates": [ + -43.27194, + -22.8777 + ], + "contactId": null + }, + "additionalInfo": "{\"phoneNumber\":\"(21) 2125-0017\",\"pickupInstructions\":\"Present personal document\"}", + "dockId": null + }, + "deliveryWindow": null, + "sellingPrice": 0, + "listPrice": 0, + "price": 0, + "deliveryChannel": "pickup-in-point", + "deliveryCompany": "Flexible delivery", + "deliveryIds": [ + { + "courierId": "1", + "warehouseId": "1_2", + "dockId": "1", + "courierName": "Flexible delivery", + "quantity": 2, + "totalListPrice": null, + "accountCarrierName": "strnov", + "kitItemDetails": [] + } + ], + "shippingEstimateDate": "2024-09-06T15:00:29.6841465Z", + "deliveryChannels": [ + { + "id": "pickup-in-point", + "stockBalance": 0 + }, + { + "id": "delivery", + "stockBalance": 0 + } + ], + "itemId": "5658771", + "shipsTo": [ + "BRA" + ], + "slas": [ + { + "pickupPointId": "strnov_NOV", + "pickupStoreInfo": { + "isPickupStore": true, + "friendlyName": "STR Shopping Nova América - Pickup in store", + "address": { + "addressType": "pickup", + "receiverName": null, + "addressId": "NOV", + "versionId": null, + "entityId": null, + "postalCode": "20765000", + "city": "Rio De Janeiro", + "state": "RJ", + "country": "BRA", + "street": "Avenue Pastor Martin Luther King Jr.", + "number": "126", + "neighborhood": "Del Castilho", + "complement": "Loja STR Bloco 10 105 Parte 511", + "reference": null, + "geoCoordinates": [ + -43.27194, + -22.8777 + ], + "contactId": null + }, + "additionalInfo": "{\"phoneNumber\":\"(21) 2125-0017\",\"pickupInstructions\":\"Present personal document\"}", + "dockId": null + }, + "tax": 0, + "listPrice": 0, + "price": 0, + "deliveryWindow": null, + "availableDeliveryWindows": [], + "lockTTL": "12d", + "shippingEstimateDate": "2024-09-06T15:00:29.6841465Z", + "shippingEstimate": "1bd", + "deliveryIds": [ + { + "courierId": "1", + "warehouseId": "1_2", + "dockId": "1", + "courierName": "Flexible delivery", + "quantity": 2, + "totalListPrice": null, + "accountCarrierName": "strnov", + "kitItemDetails": [] + } + ], + "name": "Pickup in store (NOV)", + "deliveryChannel": "pickup-in-point", + "id": "Pickup in store (NOV)", + "pickupDistance": 0.0, + "polygonName": "", + "transitTime": "1bd" + }, + { + "pickupPointId": null, + "pickupStoreInfo": { + "isPickupStore": false, + "friendlyName": null, + "address": null, + "additionalInfo": null, + "dockId": null + }, + "tax": 0, + "listPrice": 2695, + "price": 999, + "deliveryWindow": null, + "availableDeliveryWindows": [], + "lockTTL": "12d", + "shippingEstimateDate": null, + "shippingEstimate": "1bd", + "deliveryIds": [ + { + "courierId": "ASAPLAG_CR", + "warehouseId": "1_1", + "dockId": "6", + "courierName": "ASAPLAG_CR", + "quantity": 2, + "totalListPrice": null, + "accountCarrierName": "str", + "kitItemDetails": [] + } + ], + "name": "Normal", + "deliveryChannel": "delivery", + "id": "Normal", + "pickupDistance": 0.0, + "polygonName": "", + "transitTime": "1bd" + }, + { + "pickupPointId": null, + "pickupStoreInfo": { + "isPickupStore": false, + "friendlyName": null, + "address": null, + "additionalInfo": null, + "dockId": null + }, + "tax": 0, + "listPrice": 4695, + "price": 1399, + "deliveryWindow": null, + "availableDeliveryWindows": [], + "lockTTL": "12d", + "shippingEstimateDate": null, + "shippingEstimate": "1bd", + "deliveryIds": [ + { + "courierId": "ASAPLAG_CR_PRESENTE", + "warehouseId": "1_1", + "dockId": "1317c52", + "courierName": "ASAPLAG_CR_PRESENTE", + "quantity": 2, + "totalListPrice": null, + "accountCarrierName": "str", + "kitItemDetails": [] + } + ], + "name": "Present", + "deliveryChannel": "delivery", + "id": "Present", + "pickupDistance": 0.0, + "polygonName": "", + "transitTime": "1bd" + } + ], + "addressId": "NOV", + "selectedDeliveryChannel": "pickup-in-point", + "lockTTL": "12d", + "selectedSla": "Pickup in store (NOV)", + "itemIndex": 0, + "pickupPointId": "strnov_NOV", + "transitTime": "1bd" + } + ], + "trackingHints": [ + { + "trackingId": "701-1947797-1739404_DBA", + "courierName": "ASAPLAG_CR", + "trackingUrl": "https://str.vteximg.com.br/api/integration-amazon/logistic-program/dba/labels?orderId=v70530116str-01", + "trackingLabel": "ASAPLAG_CR STR Label" + } + ], + "selectedAddresses": [ + { + "addressType": "pickup", + "receiverName": "Rose Travis", + "addressId": "NOV", + "versionId": null, + "entityId": null, + "postalCode": "20765000", + "city": "Rio De Janeiro", + "state": "RJ", + "country": "BRA", + "street": "Avenue Pastor Martin Luther King Jr.", + "number": "126", + "neighborhood": "Del Castilho", + "complement": "Loja STR Bloco 10 105 Parte 511", + "reference": null, + "geoCoordinates": [ + -43.27194, + -22.8777 + ], + "contactId": null + } + ], + "availableAddresses": [ + { + "addressType": "pickup", + "receiverName": "Rose Travis", + "addressId": "NOV", + "versionId": null, + "entityId": null, + "postalCode": "20765000", + "city": "Rio De Janeiro", + "state": "RJ", + "country": "BRA", + "street": "Avenue Pastor Martin Luther King Jr.", + "number": "126", + "neighborhood": "Del Castilho", + "complement": "Loja STR Bloco 10 105 Parte 511", + "reference": null, + "geoCoordinates": [ + -43.27194, + -22.8777 + ], + "contactId": null + } + ], + "contactInformation": [] + }, + "packageAttachment": { + "packages": [] + }, + "marketplace": null, + "contextData": { + "loggedIn": true, + "hasAccessToOrderFormEnabledByLicenseManager": false, + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36", + "userId": "8afcc0ee-6b77-4493-b87f-793906ce076r" + }, + "lastMessage": null, + "status": "canceled", + "handlingData": null, + "documentVersion": "2.1.5", + "appVersion": "1.130.7-api", + "workflowData": { + "instances": [ + { + "id": "7340264f-15ff-45ae-834a-4e39bacfb432", + "name": "Marketplace", + "currentStepName": "canceled", + "currentStepDescription": "Canceled", + "lastChange": "2024-09-05T15:17:47.9552847Z", + "isInError": false, + "isInAutomaticRetry": false, + "creationDate": "2024-09-05T15:00:24.7883881Z", + "owner": "BA60BB38CAEA485B81E00D7B75A95E21", + "version": "1.12", + "timeLine": [ + { + "stepName": "order-created", + "date": "2024-09-05T15:00:24.9525178Z", + "parentStepName": "creating" + }, + { + "stepName": "on-order-completed", + "date": "2024-09-05T15:00:25.0899063Z", + "parentStepName": "creating" + }, + { + "stepName": "payment-pending", + "date": "2024-09-05T15:00:25.6005276Z", + "parentStepName": "approving-transaction" + }, + { + "stepName": "approve-payment", + "date": "2024-09-05T15:00:27.885049Z", + "parentStepName": "approving-transaction" + }, + { + "stepName": "payment-approved", + "date": "2024-09-05T15:00:29.2541788Z", + "parentStepName": "approving-transaction" + }, + { + "stepName": "request-cancel", + "date": "2024-09-05T15:17:37.0478536Z", + "parentStepName": "accepting-cancel" + }, + { + "stepName": "waiting-for-seller-decision", + "date": "2024-09-05T15:17:37.8308804Z", + "parentStepName": "authorizing" + }, + { + "stepName": "cancel", + "date": "2024-09-05T15:17:44.581099Z", + "parentStepName": "canceling" + }, + { + "stepName": "canceled", + "date": "2024-09-05T15:17:47.9552249Z", + "parentStepName": "canceled" + } + ], + "logicTimeLine": [ + { + "stepName": "creating", + "date": "2024-09-05T15:00:24.9525178Z" + }, + { + "stepName": "approving-transaction", + "date": "2024-09-05T15:00:25.6005276Z" + }, + { + "stepName": "accepting-cancel", + "date": "2024-09-05T15:17:37.0478536Z" + }, + { + "stepName": "authorizing", + "date": "2024-09-05T15:17:37.8308804Z" + }, + { + "stepName": "canceling", + "date": "2024-09-05T15:17:44.581099Z" + }, + { + "stepName": "canceled", + "date": "2024-09-05T15:17:47.9552249Z" + } + ], + "steps": [ + { + "name": "creating", + "next": [ + { + "name": "approving-transaction", + "next": null, + "systemWillMove": true, + "actionsAllowed": null, + "expectFlow": true + }, + { + "name": "canceling", + "next": null, + "systemWillMove": true, + "actionsAllowed": { + "type": "cancel" + } + } + ], + "systemWillMove": false, + "actionsAllowed": null, + "start": true + }, + { + "name": "approving-transaction", + "next": [ + { + "name": "invoice", + "next": null, + "systemWillMove": true, + "actionsAllowed": null, + "expectFlow": true + }, + { + "name": "authorizing", + "next": null, + "systemWillMove": true, + "actionsAllowed": null + }, + { + "name": "canceling", + "next": null, + "systemWillMove": true, + "actionsAllowed": { + "type": "cancel" + } + } + ], + "systemWillMove": false, + "actionsAllowed": null + }, + { + "name": "authorizing", + "next": [ + { + "name": "invoice", + "next": null, + "systemWillMove": true, + "actionsAllowed": null, + "expectFlow": true + }, + { + "name": "accepting-cancel", + "next": null, + "systemWillMove": true, + "actionsAllowed": { + "type": "cancel" + } + } + ], + "systemWillMove": false, + "actionsAllowed": null + }, + { + "name": "accepting-cancel", + "next": [ + { + "name": "authorizing", + "next": null, + "systemWillMove": false, + "actionsAllowed": { + "type": "invoice" + } + }, + { + "name": "canceling", + "next": null, + "systemWillMove": false, + "actionsAllowed": { + "type": "cancel" + }, + "expectFlow": true + } + ], + "systemWillMove": false, + "actionsAllowed": null + }, + { + "name": "window-to-change-seller", + "next": [ + { + "name": "invoice", + "next": null, + "systemWillMove": true, + "actionsAllowed": null, + "expectFlow": true + }, + { + "name": "authorizing", + "next": null, + "systemWillMove": true, + "actionsAllowed": null + }, + { + "name": "canceling", + "next": null, + "systemWillMove": true, + "actionsAllowed": { + "type": "cancel" + } + } + ], + "systemWillMove": false, + "actionsAllowed": null + }, + { + "name": "invoice", + "next": [ + { + "name": "invoiced", + "next": null, + "systemWillMove": false, + "actionsAllowed": null, + "isAnEnd": true, + "expectFlow": true + }, + { + "name": "handling", + "next": null, + "systemWillMove": true, + "actionsAllowed": null + } + ], + "systemWillMove": false, + "actionsAllowed": null + }, + { + "name": "canceling", + "next": [ + { + "name": "canceled", + "next": null, + "systemWillMove": true, + "actionsAllowed": null, + "isAnEnd": true + } + ], + "systemWillMove": false, + "actionsAllowed": null + } + ], + "currentLogicalStep": "canceled" + } + ], + "mainFlowIndex": 0 + }, + "checkedInPickupPointId": null, + "fingerPrint": "acec8dd9-6efa-4819-b4ed-b17a1feabd63", + "piiHidden": false, + "workflowIsInError": false, + "callCenterOperator": "", + "state": "canceled", + "timeZoneCreationDate": "2024-09-05T12:00:17.3189978Z", + "timeZoneLastChange": "2024-09-05T12:17:47.8082441Z", + "userType": "", + "clientPreferencesData": { + "locale": "pt-BR", + "optinNewsLetter": false + }, + "orderId": "v70530116str-01", + "workflowInstanceId": null, + "creationDate": "2024-09-05T15:00:17.3189978Z", + "totals": [ + { + "id": "Items", + "name": "Total Items", + "value": 27998, + "alternativeTotals": null + }, + { + "id": "Discounts", + "name": "Total Discounts", + "value": -8098, + "alternativeTotals": null + }, + { + "id": "Shipping", + "name": "Total Shipping", + "value": 0, + "alternativeTotals": null + }, + { + "id": "Tax", + "name": "Total Taxes", + "value": 0, + "alternativeTotals": null + } + ], + "sequence": "70530118", + "receiptData": { + "receiptCollection": [ + { + "receiptType": "authorizePayment", + "date": "2024-09-05T15:00:24.3047063Z" + }, + { + "receiptType": "cancelPayment", + "date": "2024-09-05T15:17:46.3547873Z" + }, + { + "receiptType": "sellerCancellation", + "date": "2024-09-05T15:17:47.2274125Z" + }, + { + "receiptType": "marketPlaceCancellation", + "date": "2024-09-05T15:17:47.8082362Z" + } + ] + }, + "isCompleted": true, + "openTextField": null, + "affiliateId": "", + "value": 19900, + "hostname": "str", + "followUpEmail": "93ad8e90d6344e099f7b2e71a27ub7f6@ct.vtex.com", + "lastChange": "2024-09-05T15:17:47.9552847Z", + "sellers": [ + { + "id": "strnov", + "name": "STR Shopping Noew America", + "logo": "", + "fulfillmentEndpoint": "http://fulfillment.vtexcommerce.com.br/api/fulfillment?an=strnov&affiliateId=SLR&sc=1", + "subSellerId": "1" + } + ], + "marketingData": { + "utmSource": "adwords", + "utmMedium": "ppc", + "utmCampaign": "PERF_AON_PMAX_CONV_ALL", + "utmPartner": null, + "utmipage": "", + "utmiPart": "", + "utmiCampaign": "", + "coupon": null, + "marketingTags": [ + "desktop", + "Pickup in store", + "STR" + ] + }, + "ratesAndBenefitsData": { + "rateAndBenefitsIdentifiers": [ + { + "id": "ea50cdaa-0a41-460d-bd8b-1242c94b682s", + "name": "2POR189_SEMCUPOM_W41_02-10-2023", + "featured": false, + "description": "ID\t171\nValid purchases in\tMy STR;CRM;POM;Whatsapp On;\nWeek\t202330", + "matchedParameters": null, + "additionalInfo": null + } + ], + "teaser": null + }, + "paymentData": { + "giftCards": [], + "transactions": [ + { + "isActive": true, + "transactionId": "A01494EC901A4872A9199621D5D85CGH", + "merchantName": "STR", + "payments": [ + { + "bankIssuedInvoiceIdentificationNumberFormatted": null, + "bankIssuedInvoiceIdentificationNumber": null, + "parentAccountId": null, + "accountId": "25829360A9254FDFA41B9C5FDD1A60D3", + "dueDate": null, + "group": "creditCard", + "isGiftCardDiscount": null, + "giftCardName": null, + "giftCardCaption": null, + "giftCardProvider": null, + "giftCardId": null, + "redemptionCode": null, + "tid": "ZFDPKKD32BRCB5G3", + "koinUrl": null, + "url": null, + "expireYear": null, + "expireMonth": null, + "cvv2": null, + "lastDigits": "9518", + "firstDigits": "520092", + "cardNumber": null, + "cardHolder": null, + "referenceValue": 19900, + "connectorResponses": { + "Message": "Processing Payment", + "tid": "ZFDPKQP32BRCB5HU", + "authorizationId": "ZFDPKQP32BRCB5HU", + "status": "approved", + "delayToAutoSettle": 604800, + "ReturnCode": "201", + "nsu": "424915299724", + "code": "201", + "message": "Processing Payment", + "Tid": "ZFDPKQP32BRCB5HU", + "acquirer": "AdyenMasterCard_BR_Ins_23316", + "authId": "ZFDPKQP32BRCB5HU", + "paymentId": "3B28BCBE7D834D2588B311C8EB82C07E", + "delayToAutoSettleAfterAntifraud": "12000" + }, + "installments": 3, + "value": 19900, + "paymentSystemName": "Mastercard", + "paymentSystem": "4", + "paymentOrigin": null, + "id": "3B28BCBE7D834D2588B311C8EB82C07E", + "bankIssuedInvoiceBarCodeNumber": null, + "bankIssuedInvoiceBarCodeType": null, + "billingAddress": { + "addressType": "residential", + "receiverName": "Rose", + "addressId": "477c9901b5847e242c23e58b548ebirf", + "versionId": null, + "entityId": null, + "postalCode": "29169110", + "city": "Serra", + "state": "ES", + "country": "BRA", + "street": "Street Green Island", + "number": "50", + "neighborhood": "Pomar", + "complement": "Next to the school", + "reference": "Yellow door", + "geoCoordinates": [ + -40.25843811035156, + -20.201913833618164 + ], + "contactId": null + } + } + ], + "sharedTransaction": false, + "status": null + } + ] + }, + "invoiceData": { + "address": { + "addressType": "residential", + "receiverName": null, + "addressId": null, + "versionId": null, + "entityId": null, + "postalCode": "22790-420", + "city": "Rio de Janeiro", + "state": "RJ", + "country": "BRA", + "street": "Venâncio Veloso Street", + "number": "28", + "neighborhood": "Recreio dos Bandeirantes", + "complement": null, + "reference": null, + "geoCoordinates": [ + -43.46678924560547, + -23.017778396606445 + ], + "contactId": null + }, + "userPaymentInfo": null, + "settleInvoices": null, + "invoiceSubject": null + }, + "storePreferencesData": { + "countryCode": "BRA", + "currencyCode": "BRL", + "currencyFormatInfo": { + "CurrencyDecimalDigits": 2, + "CurrencyDecimalSeparator": ",", + "CurrencyGroupSeparator": ".", + "CurrencyGroupSize": 3, + "StartsWithCurrencySymbol": true + }, + "currencyLocale": 1046, + "currencySymbol": "R$", + "timeZone": "E. South America Standard Time" + }, + "merchantName": null, + "itemMetadata": { + "items": [ + { + "id": "5658771", + "seller": "1", + "name": "jeans trousers for women 46", + "skuName": "46", + "productId": "4249628", + "refId": "11084344", + "ean": null, + "imageUrl": "https://str.vteximg.com.br/archives/ids/58926632-200-240/photo-0.jpg?v=638594288386230000", + "detailUrl": "/jeans-trousers-for-women/p", + "assemblyOptions": [ + { + "id": "vtex.subscription.fashion", + "name": "vtex.subscription.fashion", + "required": false, + "inputValues": null, + "composition": null + } + ] + } + ] + }, + "creationEnvironment": "STABLE", + "cancellationData": { + "requestedByUser": false, + "requestedBySystem": null, + "requestedBySellerNotification": null, + "requestedByPaymentNotification": null, + "reason": "Picked wrong store", + "cancellationDate": "2024-09-05T15:17:44.7335718Z", + "cancellationRequestId": "49193447bfda47678371ea34db330bc3" + }, + "cancellationRequests": [ + { + "id": "e8dca7a7a65544afba788e77abefda22", + "reason": "Picked wrong store", + "cancellationRequestDate": "2024-09-05T15:17:36.8671307Z", + "requestedByUser": false, + "deniedBySeller": false, + "deniedBySellerReason": null, + "cancellationRequestDenyDate": null + }, + { + "id": "49193447bfda47678371ea34db330bc3", + "reason": "Picked wrong store", + "cancellationRequestDate": "2024-09-05T15:17:44.3988482Z", + "requestedByUser": false, + "deniedBySeller": false, + "deniedBySellerReason": null, + "cancellationRequestDenyDate": null + } + ] + } + } + } + } + } + } + }, + "/api/orders/extendsearch/orders": { + "post": { + "tags": [ + "Orders" + ], + "summary": "List orders", + "description": "Retrieves a list of orders according to the query parameters used. The response returns masked order data.\r\n\r\n>⚠️ Throttling: Each account can make up to 6000 requests per minute.\r\n\r\n## Endpoint not meant for integrations\r\nThis request only retrieves orders that have been indexed, which takes aproximately four minutes. The information returned also may present inconsistencies or become unavailable in periods of peak order volume.\r\n\r\nTherefore, you must not use the List orders endpoint for integrations.\r\n\r\n>⚠️ To get up to date information and [build order integrations](https://developers.vtex.com/vtex-rest-api/docs/erp-integration-set-up-order-integration) use the [orders Feed or Hook](https://developers.vtex.com/vtex-rest-api/docs/feed-v3-1).\r\n\r\n> Check the [Orders onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/orders-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Orders and is organized by focusing on the developer's journey.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| OMS | OMS access | **List Orders** |\r\n| Checkout | CheckoutResources | **Orders Full Access** |\r\n\r\nYou can [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) with that resource or use one of the following [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy):\r\n\r\n| **Role** | **Resource** | \r\n| --------------- | ----------------- | \r\n| OMS - Full access | List Orders |\r\n| Checkout Admin | List Orders |\r\n| IntegrationProfile - Fulfillment Oms | List Orders |\r\n| OMS - Full access | Orders Full Access |\r\n| Checkout Admin | Orders Full Access |\r\n| IntegrationProfile - Fulfillment Oms | Orders Full Access |\r\n\r\n>❗ Assigning a [predefined role](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) to users or application keys usually grants permission to multiple [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3). If some of these permissions are not necessary, consider creating a custom role instead. For more information regarding security, see [Best practices for using application keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "operationId": "ListOrders2", + "parameters": [ + { + "$ref": "#/components/parameters/Content-Type" + }, + { + "$ref": "#/components/parameters/Accept" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "f_status": { + "type": "string", + "description": "Filters orders by [order status](https://help.vtex.com/en/tutorial/order-flow-and-status--tutorials_196). The possible values are:\r\n- `waiting-for-sellers-confirmation`\r\n- `payment-pending`\r\n- `payment-approved`\r\n- `ready-for-handling`\r\n- `handling`\r\n- `invoiced`\r\n- `canceled`", + "example": "ready-for-handling" + }, + "f_creationDate": { + "type": "string", + "description": "Filters orders by creation date by concatenating the `creationDate` prefix with the desired date range in [ISO 8601 format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `creationDate:[YYYY-MM-DDThh:mm:ssZ TO YYYY-MM-DDThh:mm:ssZ]`. For example:\r\n- 1 day: `creationDate:[2024-01-01T00:00:00.000Z TO 2024-01-02T00:00:00.000Z]`\r\n- 1 month: `creationDate:[2024-01-01T00:00:00.000Z TO 2024-02-01T00:00:00.000Z]`\r\n- 1 year: `creationDate:[2023-01-01T00:00:00.000Z TO 2024-01-01T00:00:00.000Z]`", + "example": "creationDate:[2024-07-01T00:00:00.000Z TO 2024-08-01T00:00:00.000Z]" + }, + "incompleteOrders": { + "type": "boolean", + "description": "Filters orders by showing only [incomplete orders](https://help.vtex.com/en/tutorial/understanding-incomplete-orders) (`true`), or only complete orders (`false`).", + "example": true + }, + "filterError": { + "type": "string", + "description": "Filters orders by error in the workflow processing. You can choose to filter by temporary error (`temp`), permanet error (`perm`) or include all errors (`all`).", + "example": "all", + "enum": [ + "all", + "temp", + "perm" + ] + }, + "per_page": { + "type": "integer", + "description": "Number of orders per page, up to the limit of 100 results.", + "example": 30 + }, + "page": { + "type": "integer", + "description": "Number of the page to be retrieved.", + "example": 1 + }, + "orderBy": { + "type": "string", + "description": "Filters and sorts orders by combining an **OrderField** with a **SortType** value. To do so, you have to concatenate them, as in `OrderField,SortType`. The values accepted are the following:\r\n- **OrderField:** `creationDate`, `orderId`, `totalValue` and `origin`.\r\n- **SortType:** `asc` and `desc`.\r\n\r\nSee below some examples of the `orderBy` field with different `OrderField` values for the `SortType` value `asc`:\r\n- **orderBy creation date:** `creationDate,asc`\r\n- **orderBy order ID:** `orderId,asc`\r\n- **orderBy total value:** `totalValue,asc`\r\n- **orderBy origin:** `origin,asc`", + "example": "creationDate,asc" + }, + "q": { + "type": "string", + "description": "Full-text search for the orders considering the following fields:\r\n- `orderId`\r\n- `clientEmail`\r\n- `clientDocument`\r\n- `clientName`", + "example": "customer@email.com" + }, + "sku_Ids": { + "type": "string", + "description": "Filters orders by SKU ID. To use multiple SKU IDs, separate them using a comma.", + "example": "6178691,6099191" + }, + "listId": { + "type": "string", + "description": "Filters orders by gift list ID.", + "example": "3098" + }, + "f_authorizedDate": { + "type": "string", + "description": "Filters orders by authorized date by concatenating the sufix `authorizedDate` with the desired date range in [ISO 8601 format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `authorizedDate:[YYYY-MM-DDThh:mm:ssZ TO YYYY-MM-DDThh:mm:ssZ]`.", + "example": "authorizedDate:[2024-01-01T00:00:00.000Z TO 2024-03-01T00:00:00.000Z]" + }, + "f_paymentNames": { + "type": "string", + "description": "Filters orders by payment name.", + "example": "Visa" + }, + "paymentId": { + "type": "string", + "description": "Filters orders by payment ID.", + "example": "CE7751558D574E3093989B5BB5248A5D" + }, + "pci_tid": { + "type": "string", + "description": "Filters orders by the PCI provider transaction ID.", + "example": "Z424WMJ37ZN9SKF4" + }, + "nsu": { + "type": "string", + "description": "Filters orders by the provider unique sequential number for the transaction.", + "example": "027946189" + }, + "f_hasInputInvoice": { + "type": "boolean", + "description": "Filters orders with the `invoicesInput` field value different from `null` when set to `true`.", + "example": true + }, + "f_hasOutputInvoice": { + "type": "boolean", + "description": "Filters only orders with the `invoicesOutput` field value different from `null` when set to `true`.", + "example": true + }, + "f_invoicedDate": { + "type": "string", + "description": "Filters orders by invoice date by concatenating the `invoicedDate` prefix with the desired date range in [ISO 8601 format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `invoicedDate:[YYYY-MM-DDThh:mm:ssZ TO YYYY-MM-DDThh:mm:ssZ]`.", + "example": "invoicedDate:[2024-01-01T00:00:00.000Z TO 2024-03-01T00:00:00.000Z]" + }, + "f_shippingEstimate": { + "type": "string", + "description": "Filters orders by shipping estimate time in days by concatenating the desired number of days with the `.days` suffix. For example:\r\n- Next 7 days: `7.days`\r\n- Tomorrow: `1.days`\r\n- Today: `0.days`\r\n- Late: `-1.days`", + "example": "4.days" + }, + "f_sellerNames": { + "type": "string", + "description": "Filters orders by seller name.", + "example": "Fashion SellerName" + }, + "f_affiliateId": { + "type": "string", + "description": "Filters orders by [affiliate](https://help.vtex.com/en/tutorial/configuring-affiliates--tutorials_187) ID.", + "example": "CBS" + }, + "f_callCenterOperatorName": { + "type": "string", + "description": "Filters orders by call center operator name.", + "example": "Operator%20Name" + }, + "f_isInstore": { + "type": "boolean", + "description": "Filters orders made via [VTEX Sales App](https://help.vtex.com/en/tracks/instore-getting-started-and-setting-up--zav76TFEZlAjnyBVL5tRc/7fnnVlG3Kv1Tay9iagc5yf) (`true`) or not made via VTEX Sales App (`false`).", + "example": true + }, + "f_RnB": { + "type": "string", + "description": "Filters orders by promotion or tax name.", + "example": "Free+Shipping" + }, + "salesChannelId": { + "type": "string", + "description": "Filters orders by sales channel ([or trade policy](https://help.vtex.com/en/tutorial/how-trade-policies-work--6Xef8PZiFm40kg2STrMkMV)) ID.", + "example": "2" + }, + "f_salesChannel": { + "type": "string", + "description": "Filters orders by sales channel ([or trade policy](https://help.vtex.com/en/tutorial/how-trade-policies-work--6Xef8PZiFm40kg2STrMkMV)) name.", + "example": "Main" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "list": { + "type": "array", + "description": "List with orders' information.", + "items": { + "type": "object", + "description": "Information about an order.", + "properties": { + "paymentNames": { + "type": "string", + "description": "Payment system name." + }, + "orderId": { + "type": "string", + "description": "Order ID." + }, + "orderGroup": { + "type": "string", + "description": "Order group ID." + }, + "sequence": { + "type": "string", + "description": "Sequence number part of the order ID. For example, in order `v71041992str-01`, the sequence is `71041992`." + }, + "clientEmail": { + "description": "Customer email.", + "type": "string" + }, + "clientDocument": { + "type": "string", + "description": "Customer document number." + }, + "clientCorporateDocument": { + "type": "string", + "description": "Corporate document, if the customer is a legal entity.", + "nullable": true + }, + "clientCorporateName": { + "type": "string", + "description": "Corporate name, if the customer is a legal entity.", + "nullable": true + }, + "clientName": { + "type": "string", + "description": "Customer name." + }, + "totalValue": { + "type": "integer", + "description": "Order total value in cents." + }, + "origin": { + "type": "string", + "description": "Order's origin in the [order flow](https://help.vtex.com/en/tutorial/order-flow-and-status--tutorials_196).", + "enum": [ + "Marketplace", + "Fulfillment", + "Chain" + ] + }, + "status": { + "type": "string", + "description": "[Order status](https://help.vtex.com/en/tutorial/order-flow-and-status--tutorials_196) in the workflow." + }, + "currencyCode": { + "type": "string", + "description": "Currency code in [ISO 4217](https://www.iban.com/currency-codes) format." + }, + "sellerNames": { + "type": "array", + "description": "Names of the sellers responsible for order fuflillment.", + "items": { + "type": "string", + "description": "Seller name." + } + }, + "sellerIds": { + "type": "array", + "description": "IDs of the sellers responsible for order fuflillment.", + "items": { + "type": "string", + "description": "Seller ID." + } + }, + "sellerOrderId": { + "type": "string", + "description": "Seller order ID." + }, + "totalItems": { + "type": "integer", + "description": "Order total quantity of items." + }, + "pciTransactionId": { + "type": "array", + "description": "List with the PCI transaction ID.", + "items": { + "type": "string", + "description": "PCI transaction ID." + } + }, + "paymentNSU": { + "type": "array", + "description": "Unique sequence number that identifies a sales transaction using cards.", + "items": { + "type": "string", + "description": "NSU sequence number." + } + }, + "ratesAndBenefitsNames": { + "type": "array", + "description": "List of the promotions and taxes names valid for the purchase.", + "items": { + "type": "string", + "description": "Promotion or tax name." + } + }, + "ratesAndBenefitsIds": { + "type": "array", + "description": "List of the promotions and taxes IDs valid for the purchase.", + "items": { + "type": "string", + "description": "Promotion or tax ID." + } + }, + "shippingEstimatedDateMax": { + "type": "string", + "description": "Maximum shipping estimated date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "shippingEstimatedDateMin": { + "type": "string", + "description": "Minimum shipping estimated date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "transactionIds": { + "type": "array", + "description": "Array with payment transaction IDs information.", + "items": { + "type": "string", + "description": "Payment transaction ID." + } + }, + "paymentIds": { + "type": "array", + "description": "Array with payment IDs information.", + "items": { + "type": "string", + "description": "Payment unique identifier." + } + }, + "isInstore": { + "type": "boolean", + "description": "Defines if the order was placed via [VTEX Sales App](https://help.vtex.com/en/tracks/instore-getting-started-and-setting-up--zav76TFEZlAjnyBVL5tRc) (`true`) or not (`false`)." + }, + "deliveryChannel": { + "type": "array", + "description": "List of delivery channels, which can be delivery or [pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R).", + "items": { + "type": "string", + "description": "Delivery channel.", + "enum": [ + "delivery", + "pickup-in-point" + ] + } + }, + "productIds": { + "type": "array", + "description": "List of product IDs related to the orders items.", + "items": { + "type": "string", + "description": "Product ID." + } + }, + "hostname": { + "type": "string", + "description": "Main [account name](https://help.vtex.com/en/tutorial/what-is-an-account-name--i0mIGLcg3QyEy8OCicEoC)." + }, + "creationDate": { + "type": "string", + "description": "Order creation date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "invoicedDate": { + "type": "string", + "description": "Order invoice date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "authorizedDate": { + "type": "string", + "description": "Order authorization date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "orderIsComplete": { + "type": "boolean", + "description": "Defines if the order is complete (`true`) or [incomplete](https://help.vtex.com/en/tutorial/how-incomplete-orders-work--tutorials_294) (`false`)." + }, + "marketingTags": { + "type": "array", + "description": "List of marketing tags valid for the order.", + "items": { + "type": "string", + "description": "Marketing tag name." + } + }, + "invoicesOutput": { + "type": "array", + "description": "Information about order invoice `Output` operation, when the store sells an item to the customer.", + "nullable": true, + "items": { + "type": "string", + "description": "The `Output` invoice number.", + "nullable": true + } + }, + "invoicesInput": { + "type": "array", + "description": "Information about order invoice `Input` operation, when the customer returnes an item to the store.", + "nullable": true, + "items": { + "type": "string", + "description": "The `Input` invoice number.", + "nullable": true + } + }, + "workflowInErrorState": { + "type": "boolean", + "description": "Defines if the order processing in the workflow is in error (`true`) or not (`false`)." + }, + "workflowInRetry": { + "type": "boolean", + "description": "Defines if the order is in automatic processing retry in the workflow (`true`) or not (`false`)." + }, + "userProfileId": { + "type": "string", + "description": "User profile ID." + }, + "lastChange": { + "type": "string", + "description": "Order last change date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "isAllDelivered": { + "type": "boolean", + "description": "Defines if all order items have being delivered (`true`) or not (`false`)." + }, + "isAnyDelivered": { + "type": "boolean", + "description": "Defines if any order item has being delivered (`true`) or not (`false`)." + }, + "giftCardProviders": { + "type": "array", + "description": "Order [gift card](https://developers.vtex.com/docs/guides/gift-card-integration-guide) information, when applicable.", + "nullable": true, + "items": { + "type": "string", + "description": "Gift card name." + } + }, + "orderFormId": { + "type": "string", + "description": "ID of the shopping cart from which the order was created." + }, + "paymentApprovedDate": { + "type": "string", + "description": "Payment approval date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "readyForHandlingDate": { + "type": "string", + "description": "Order ready for handling date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "deliveryDates": { + "type": "array", + "description": "Array with delivery date information.", + "nullable": true, + "items": { + "type": "string", + "description": "Order delivey date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + } + }, + "ingestPipelineMetadata": { + "type": "array", + "description": "Array with order processing metadata.", + "items": { + "type": "string", + "description": "Metadata information." + } + }, + "marketplaceWorkflowInstanceId": { + "type": "string", + "description": "Marketplace workflow instance ID.", + "nullable": true + }, + "fulfillmentWorkflowInstanceId": { + "type": "string", + "description": "Seller workflow instance ID.", + "nullable": true + }, + "callCenterOperatorEmail": { + "type": "string", + "description": "Email of the call center operator responsible for the order, when applicable.", + "nullable": true + }, + "callCenterOperatorName": { + "type": "string", + "description": "Name of the call center operator responsible for the order, when applicable.", + "nullable": true + }, + "productNames": { + "type": "array", + "description": "List of the order product names.", + "items": { + "type": "string", + "description": "Product name." + } + } + } + } + }, + "facets": { + "type": "array", + "description": "Array of facets.", + "nullable": true, + "items": { + "type": "string", + "description": "Facets details.", + "nullable": true + } + }, + "paging": { + "type": "object", + "description": "Pagination information.", + "required": [ + "total", + "pages", + "currentPage", + "perPage" + ], + "properties": { + "total": { + "type": "integer", + "description": "Total number of objects that exist for the `list` field, each corresponding to an order." + }, + "pages": { + "type": "integer", + "description": "Total number of pages." + }, + "currentPage": { + "type": "integer", + "description": "Number of the current page." + }, + "perPage": { + "type": "integer", + "description": "Number of objects per page that can be returned for the `list` field. The default value is `15` and the maximum value is `100`." + } + } + }, + "stats": { + "$ref": "#/components/schemas/Stats" + }, + "reportRecordsLimit": { + "type": "integer", + "description": "Records limit." + } + } + }, + "example": { + "list": [ + { + "paymentNames": "Mastercard", + "orderId": "v71041992str-01", + "orderGroup": "v71041992str", + "sequence": "71041992", + "clientEmail": "renatastrava@email.com", + "clientDocument": "22861749719", + "clientCorporateDocument": null, + "clientCorporateName": null, + "clientName": "Renata Strava", + "totalValue": 11198, + "origin": "Marketplace", + "status": "invoiced", + "currencyCode": "BRL", + "sellerNames": [ + "STR" + ], + "sellerIds": [ + "1" + ], + "sellerOrderId": "00-v71041992str-01", + "totalItems": 1, + "pciTransactionId": [ + "1EA9184FCDA442D79DE4644246855G91" + ], + "paymentNSU": [ + "934914" + ], + "ratesAndBenefitsNames": [ + "EXPRESS_W52 _18-12", + "GIFT_W52 _19-12" + ], + "ratesAndBenefitsIds": [ + "b345d679-2b42-78e4-a251-8ae2096f92g9", + "dc218995-e04c-2c1b-8685-a76f0488c647" + ], + "shippingEstimatedDateMax": "2024-09-28T15:00:00Z", + "shippingEstimatedDateMin": "2024-09-25T15:00:00Z", + "transactionIds": [ + "NT6S2DLZ3S6KBLY9" + ], + "paymentIds": [ + "58175C8AAC35490AAB01FDF0EC2D8FFK" + ], + "isInstore": false, + "deliveryChannel": [ + "delivery" + ], + "productIds": [ + "4452646" + ], + "hostname": "str", + "creationDate": "2024-09-24T16:24:47Z", + "invoicedDate": "2024-09-24T16:50:35Z", + "authorizedDate": "2024-09-24T16:24:52Z", + "orderIsComplete": true, + "marketingTags": [ + "Pickup promotion", + "Delivery ASAP" + ], + "invoicesOutput": [ + "011284887-6" + ], + "invoicesInput": null, + "workflowInErrorState": false, + "workflowInRetry": false, + "userProfileId": "59a724a0-8749-4be0-a205-ac9b8bc70cec", + "lastChange": "2024-09-24T16:50:35Z", + "isAllDelivered": false, + "isAnyDelivered": false, + "giftCardProviders": null, + "orderFormId": "e059e990c42d4e7cb111f9d77e36509b", + "paymentApprovedDate": "2024-09-24T16:24:57Z", + "readyForHandlingDate": null, + "deliveryDates": null, + "ingestPipelineMetadata": [ + "OMS", + "SOLR", + "1.123.10", + "STABLE", + "Service", + "DoIndexMarketplaceOrder", + "2024-09-24T16:50:38.6597124Z" + ], + "marketplaceWorkflowInstanceId": null, + "fulfillmentWorkflowInstanceId": null, + "callCenterOperatorEmail": "valerysantana@str.com", + "callCenterOperatorName": "BRZXS1", + "productNames": [ + "Baggy trouser slim blue 44" + ] + }, + { + "paymentNames": "Elo", + "orderId": "v71042152str-01", + "orderGroup": "v71042152str", + "sequence": "71042152", + "clientEmail": "marcusdavis@email.com", + "clientDocument": "04276316618", + "clientCorporateDocument": null, + "clientCorporateName": null, + "clientName": "Marcus Davis", + "totalValue": 20237, + "origin": "Marketplace", + "status": "invoiced", + "currencyCode": "BRL", + "sellerNames": [ + "D2 Online" + ], + "sellerIds": [ + "d2online" + ], + "sellerOrderId": "184424029", + "totalItems": 1, + "pciTransactionId": [ + "AG7320E26C194FE0A7E27B5D1959996G" + ], + "paymentNSU": [ + "062228" + ], + "ratesAndBenefitsNames": [ + "MySTR_Flash_Sale_Apparel-18-09" + ], + "ratesAndBenefitsIds": [ + "7h7a6e12-9403-4827-9646-c7a77fcfa859" + ], + "shippingEstimatedDateMax": "2024-10-04T16:31:37Z", + "shippingEstimatedDateMin": "2024-10-02T16:31:37Z", + "transactionIds": [ + "28892034973S7A672S3E" + ], + "paymentIds": [ + "57C9810C716245F68B5ADD80DA114D6C" + ], + "isInstore": false, + "deliveryChannel": [ + "delivery" + ], + "productIds": [ + "4269264" + ], + "hostname": "str", + "creationDate": "2024-09-24T16:31:28Z", + "invoicedDate": "2024-09-24T16:34:37Z", + "authorizedDate": "2024-09-24T16:31:34Z", + "orderIsComplete": true, + "marketingTags": [ + "mobile", + "Marketplace" + ], + "invoicesOutput": [ + "334547" + ], + "invoicesInput": null, + "workflowInErrorState": false, + "workflowInRetry": false, + "userProfileId": "78bc21ca-13b5-436e-8245-38ba6930827f", + "lastChange": "2024-09-24T16:34:37Z", + "isAllDelivered": false, + "isAnyDelivered": false, + "giftCardProviders": null, + "orderFormId": "a8d039f23baf488b9c33dd421d92fa07", + "paymentApprovedDate": "2024-09-24T16:31:38Z", + "readyForHandlingDate": null, + "deliveryDates": null, + "ingestPipelineMetadata": [ + "OMS", + "SOLR", + "1.123.10", + "STABLE", + "Service", + "DoIndexMarketplaceOrder", + "2024-09-24T16:34:43.2361636Z" + ], + "marketplaceWorkflowInstanceId": null, + "fulfillmentWorkflowInstanceId": null, + "callCenterOperatorEmail": null, + "callCenterOperatorName": null, + "productNames": [ + "Zef shoes 38" + ] + } + ], + "facets": [], + "paging": { + "total": 11199087, + "pages": 5599544, + "currentPage": 1, + "perPage": 2 + }, + "stats": { + "stats": { + "totalValue": { + "Count": 84, + "Max": 21526180, + "Mean": 262672.75, + "Min": 1160, + "Missing": 0, + "StdDev": 2348087.3869179883, + "Sum": 22064511, + "SumOfSquares": 463417439039853, + "Facets": { + "origin": { + "Fulfillment": { + "Count": 68, + "Max": 11150, + "Mean": 1395.5882352941176, + "Min": 1250, + "Missing": 0, + "StdDev": 1200.5513439298484, + "Sum": 94900, + "SumOfSquares": 229010000, + "Facets": null + }, + "Marketplace": { + "Count": 16, + "Max": 21526180, + "Mean": 1373100.6875, + "Min": 1160, + "Missing": 0, + "StdDev": 5374326.141087491, + "Sum": 21969611, + "SumOfSquares": 463417210029853, + "Facets": null + } + }, + "currencyCode": { + "BRL": { + "Count": 84, + "Max": 21526180, + "Mean": 262672.75, + "Min": 1160, + "Missing": 0, + "StdDev": 2348087.3869179883, + "Sum": 22064511, + "SumOfSquares": 463417439039853, + "Facets": null + } + } + } + }, + "totalItems": { + "Count": 84, + "Max": 89, + "Mean": 2.2261904761904763, + "Min": 1, + "Missing": 0, + "StdDev": 9.660940100525016, + "Sum": 187, + "SumOfSquares": 8163, + "Facets": { + "origin": { + "Fulfillment": { + "Count": 68, + "Max": 1, + "Mean": 1, + "Min": 1, + "Missing": 0, + "StdDev": 0, + "Sum": 68, + "SumOfSquares": 68, + "Facets": null + }, + "Marketplace": { + "Count": 16, + "Max": 89, + "Mean": 7.4375, + "Min": 1, + "Missing": 0, + "StdDev": 21.92401651157926, + "Sum": 119, + "SumOfSquares": 8095, + "Facets": null + } + }, + "currencyCode": { + "BRL": { + "Count": 84, + "Max": 89, + "Mean": 2.2261904761904763, + "Min": 1, + "Missing": 0, + "StdDev": 9.660940100525016, + "Sum": 187, + "SumOfSquares": 8163, + "Facets": null + } + } + } + } + } + }, + "reportRecordsLimit": 50000 + } + } + } + } + } + } + }, + "/api/orders/pvt/document/{orderId}/actions/start-handling": { + "post": { + "tags": [ + "Orders" + ], + "summary": "Start handling order", + "description": "Changes the [order status](https://help.vtex.com/en/tutorial/order-flow-and-status--tutorials_196) in the workflow to the `handling` status.\r\n\r\n>ℹ️ Successful requests receive a `204` status code with no content.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| OMS | OMS access | **Change order workflow status** |\r\n\r\nYou can [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) with that resource or use one of the following [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy):\r\n\r\n| **Role** | **Resource** | \r\n| --------------- | ----------------- | \r\n| OMS - Full access | Change order workflow status |\r\n| IntegrationProfile - Fulfillment Gateway Oms | Change order workflow status |\r\n| IntegrationProfile - Fulfillment Oms | Change order workflow status |\r\n\r\n>❗ Assigning a [predefined role](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) to users or application keys usually grants permission to multiple [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3). If some of these permissions are not necessary, consider creating a custom role instead. For more information regarding security, see [Best practices for using application keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "operationId": "StartHandling2", + "parameters": [ + { + "$ref": "#/components/parameters/Content-Type" + }, + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/orderId" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "429": { + "description": "Too Many Requests" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/api/orders/pvt/document/{orderId}/cancel": { + "post": { + "tags": [ + "Orders" + ], + "summary": "Cancel order", + "description": "Requests order cancelation by searching by order ID.\r\n\r\nIt is possible for the seller to [decline an order cancelation request](https://help.vtex.com/en/tutorial/declining-order-cancelation--F2n0h1TeQ5td540Gjyff4), know more in [Order canceling improvements](https://developers.vtex.com/docs/guides/order-canceling-improvements).\r\n\r\n>⚠️ You can only cancel an order in the `invoiced` [status](https://help.vtex.com/en/tutorial/order-flow-and-status--tutorials_196) if you send a return invoice first, using the [Order invoice notification](https://developers.vtex.com/docs/api-reference/orders-api-pii-version#post-/api/orders/pvt/document/-orderId-/invoices) endpoint. \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| OMS | OMS access | **Cancel order** |\r\n\r\nYou can [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) with that resource or use one of the following [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy):\r\n\r\n| **Role** | **Resource** | \r\n| --------------- | ----------------- | \r\n| OMS - Full access | Cancel order |\r\n| Sales App - Sales Associate | Cancel order |\r\n| IntegrationProfile - Fulfillment Gateway | Cancel order |\r\n| IntegrationProfile - Fulfillment Gateway Oms | Cancel order |\r\n| IntegrationProfile - Fulfillment Oms | Cancel order |\r\n\r\n>❗ Assigning a [predefined role](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) to users or application keys usually grants permission to multiple [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3). If some of these permissions are not necessary, consider creating a custom role instead. For more information regarding security, see [Best practices for using application keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "operationId": "CancelOrder2", + "parameters": [ + { + "$ref": "#/components/parameters/Content-Type" + }, + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/orderId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "Reason for canceling the order.", + "example": "Unexpected stock shortage" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "date": { + "type": "string", + "description": "Cancellation request date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "orderId": { + "type": "string", + "description": "Order ID in the seller environment." + }, + "receipt": { + "type": "string", + "description": "Protocol code generated by the cancellation request.", + "nullable": true + } + } + }, + "example": { + "orderId": "1417440051885-01", + "receipt": "38e0e47da2934847b489216d208cfd91", + "date": "2024-09-26T00:00:00Z" + } + } + } + }, + "429": { + "description": "Too many requests." + }, + "403": { + "description": "The credentials are not enabled to access the service." + }, + "404": { + "description": "Value not found." + } + } + } + }, + "/api/orders/pvt/document/{orderId}/invoices": { + "post": { + "tags": [ + "Invoice" + ], + "summary": "Order invoice notification", + "description": "Endpoint used by the seller after order invoicing to send the invoice information to the marketplace.\r\n\r\nOnce the seller has the order tracking information, it is also possible to use this endpoint to send order tracking information to the marketplace.\r\n\r\n>⚠️ To avoid price rounding errors, we strongly recommend sending the object with the invoiced items in the request body.\r\n\r\n>❗ It is not allowed to use the same `invoiceNumber` in more than one request. \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| OMS | OMS access | **Notify invoice** |\r\n\r\nYou can [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) with that resource or use one of the following [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy):\r\n\r\n| **Role** | **Resource** | \r\n| --------------- | ----------------- | \r\n| OMS - Full access | Notify invoice |\r\n| IntegrationProfile - Fulfillment Gateway Oms | Notify invoice |\r\n| IntegrationProfile - Fulfillment Oms | Notify invoice |\r\n\r\n>❗ Assigning a [predefined role](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) to users or application keys usually grants permission to multiple [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3). If some of these permissions are not necessary, consider creating a custom role instead. For more information regarding security, see [Best practices for using application keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "operationId": "InvoiceNotification2", + "parameters": [ + { + "$ref": "#/components/parameters/Content-Type" + }, + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/orderId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "type", + "issuedDate", + "invoiceNumber", + "invoiceValue", + "items" + ], + "properties": { + "type": { + "type": "string", + "description": "Invoice type, which can be:\r\n- `Output`: Selling invoice type, used for the customer to receive the product.\r\n- `Input`: Returning invoice type, used for the customer to return a product to the store.", + "example": "Output" + }, + "issuedDate": { + "type": "string", + "description": "Invoice issuance date in the format `YYYY-MM-DD`.", + "example": "2024-09-20" + }, + "invoiceNumber": { + "type": "string", + "description": "Unique number that identifies the invoice.", + "example": "000059579" + }, + "invoiceValue": { + "type": "integer", + "description": "Total price being invoiced in cents. Do not use any decimal separator. For instance, `$24.99` should be represented as `2499`.", + "example": 2499 + }, + "extraValue": { + "type": "integer", + "description": "Extra value in the invoice in cents. Do not use any decimal separator. For instance, `$24.99` should be represented as `2499`.", + "example": 100 + }, + "invoiceKey": { + "type": "string", + "description": "Invoice key.", + "example": "33240945242914001845550010004817221546274961", + "nullable": true + }, + "invoiceUrl": { + "type": "string", + "description": "Invoice URL. It can be used to send the URL of an XML file, for example, which is useful for some integrations.", + "example": "https://ecommerce.str.com/logged/nf/v71021948str-01", + "nullable": true + }, + "courier": { + "type": "string", + "description": "The name of the carrier responsible for delivering the order.\n\r> This field should only be used when sending **tracking** information. When the request is used for sending the invoice, this field should be left empty (`\"\"`).", + "example": "OSAPLAG_EXPRESS", + "nullable": true + }, + "trackingNumber": { + "type": "string", + "description": "Code that identifies the order tracking.\n\r> This field should only be used when sending the **tracking** information. When the request is used for sending the invoice, this field should be left empty (`\"\"`).", + "example": "71021938", + "nullable": true + }, + "trackingUrl": { + "type": "string", + "description": "URL used to track the order.\n\r> This field should only be used when sending the **tracking** information. When the request is used for sending the invoice, this field should be left empty (`\"\"`).", + "example": "https://tracking.agj.com/order/v71021948str-01/status", + "nullable": true + }, + "items": { + "type": "array", + "description": "Array containing the SKUs that are being invoiced.", + "items": { + "type": "object", + "description": "Information about an item being invoiced.", + "required": [ + "itemIndex", + "price", + "quantity" + ], + "properties": { + "itemIndex": { + "type": "integer", + "description": "Index of the SKU being invoiced. The position starts in `0`, followed by `1`, `2`, and so on.", + "example": 0 + }, + "price": { + "type": "integer", + "description": "Total price of the SKU being invoiced in cents. Do not use any decimal separator. For instance, `$24.99` should be represented as `2499`.", + "example": 2499 + }, + "quantity": { + "type": "integer", + "description": "Quantity of the SKU being invoiced.", + "example": 3 + } + } + } + }, + "cfop": { + "type": "string", + "description": "[CFOP](https://www.gov.br/receitafederal/pt-br/acesso-a-informacao/acoes-e-programas/facilitacao/anexo-ecf-cfop) (_Código Fiscal de Operação e Prestação_) is a Brazilian fiscal code of operations and services that classifies business transactions types.", + "example": "5100" + }, + "volumes": { + "type": "integer", + "description": "Number of volumes in the invoice.", + "example": 3 + } + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "date": { + "type": "string", + "description": "Date and time when the order invoice notification was received in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "orderId": { + "type": "string", + "description": "Order ID in the seller environment." + }, + "receipt": { + "type": "string", + "description": "Protocol code generated by the request.", + "nullable": true + } + } + }, + "example": { + "date": "2024-09-25T18:03:19.7055982Z", + "orderId": "v71021948str-01", + "receipt": "38e0e47da2934847b489216d208cfd91" + } + } + } + }, + "429": { + "description": "Too Many Requests" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/api/orders/pvt/document/{orderId}/payment/{paymentId}/notify-payment": { + "post": { + "tags": [ + "Payment" + ], + "summary": "Send payment notification", + "description": "Sends the payment notification of an order by searching by order ID and payment ID.\r\n\r\n> For more information about transaction details, check the article [Viewing the order's details in Orders](https://help.vtex.com/en/tutorial/viewing-the-orders-details-in-orders--tutorials_452).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| OMS | OMS access | **Notify payment** |\r\n\r\nYou can [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) with that resource or use one of the following [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy):\r\n\r\n| **Role** | **Resource** | \r\n| --------------- | ----------------- | \r\n| OMS - Full access | Notify payment |\r\n| IntegrationProfile - Fulfillment Gateway | Notify payment |\r\n| IntegrationProfile - Fulfillment Gateway Oms | Notify payment |\r\n| IntegrationProfile - Fulfillment Oms | Notify payment |\r\n\r\n>❗ Assigning a [predefined role](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) to users or application keys usually grants permission to multiple [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3). If some of these permissions are not necessary, consider creating a custom role instead. For more information regarding security, see [Best practices for using application keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "operationId": "SendPaymentNotification2", + "parameters": [ + { + "$ref": "#/components/parameters/Content-Type" + }, + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/orderId" + }, + { + "$ref": "#/components/parameters/paymentId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not Found" + }, + "429": { + "description": "Too Many Requests" + } + } + } + } + }, + "security": [ + { + "appKey": [], + "appToken": [] + }, + { + "VtexIdclientAutCookie": [] + } + ], + "components": { + "securitySchemes": { + "appKey": { + "type": "apiKey", + "in": "header", + "name": "X-VTEX-API-AppKey", + "description": "Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." + }, + "appToken": { + "type": "apiKey", + "in": "header", + "name": "X-VTEX-API-AppToken", + "description": "Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." + }, + "VtexIdclientAutCookie": { + "type": "apiKey", + "in": "header", + "name": "VtexIdclientAutCookie", + "description": "[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours." + } + }, + "schemas": { + "ClientProfileData": { + "type": "object", + "description": "Information about the client who created the order.", + "required": [ + "id", + "email", + "firstName", + "lastName", + "documentType", + "document", + "phone", + "corporateName", + "tradeName", + "corporateDocument", + "stateInscription", + "corporatePhone", + "isCorporate", + "userProfileId", + "customerClass" + ], + "properties": { + "id": { + "type": "string", + "description": "Client ID.", + "nullable": true + }, + "userProfileId": { + "type": "string", + "description": "User profile ID." + }, + "userProfileVersion": { + "type": "string", + "description": "User profile version.", + "nullable": true + }, + "firstName": { + "type": "string", + "description": "Client first name." + }, + "lastName": { + "type": "string", + "description": "Client last name." + }, + "email": { + "type": "string", + "description": "Client email address." + }, + "document": { + "type": "string", + "description": "Client document code." + }, + "corporateDocument": { + "type": "string", + "nullable": true, + "description": "If the client is a legal entity, this field includes the corporate document." + }, + "corporateName": { + "type": "string", + "nullable": true, + "description": "If the client is a legal entity, this field includes the corporate name." + }, + "documentType": { + "type": "string", + "description": "Client document type." + }, + "phone": { + "type": "string", + "description": "Client telephone number." + }, + "tradeName": { + "type": "string", + "nullable": true, + "description": "If the client is a legal entity, this field includes the trade name." + }, + "stateInscription": { + "type": "string", + "nullable": true, + "description": "If the client is a legal entity, this field includes the corporate state inscription." + }, + "corporatePhone": { + "type": "string", + "nullable": true, + "description": "If the client is a legal entity, this field includes the corporate telephone number." + }, + "isCorporate": { + "type": "boolean", + "description": "Defines if the client is corporate and a legal entity (`true`) or not (`false`)." + }, + "customerClass": { + "type": "string", + "nullable": true, + "description": "Customer class identification." + }, + "customerCode": { + "type": "string", + "nullable": true, + "description": "Customer code." + } + } + }, + "ShippingData": { + "type": "object", + "description": "Order shipping information.", + "required": [ + "address", + "logisticsInfo", + "trackingHints", + "selectedAddresses" + ], + "properties": { + "address": { + "$ref": "#/components/schemas/Address" + }, + "logisticsInfo": { + "type": "array", + "description": "Logistics information regarding order items.", + "items": { + "type": "object", + "description": "Logistics information about an item.", + "properties": { + "polygonName": { + "type": "string", + "description": "Name of the [polygon](https://help.vtex.com/en/tutorial/registering-geolocation/) associated with the [shipping policy](https://help.vtex.com/en/tutorial/shipping-policy--tutorials_140).", + "nullable": true + }, + "shippingEstimate": { + "type": "string", + "description": "Shipping estimate time in days. For instance, three business days is represented `3bd`." + }, + "entityId": { + "type": "string", + "description": "Shipping address entity ID.", + "nullable": true + }, + "versionId": { + "type": "string", + "description": "Shipping address version ID.", + "nullable": true + }, + "pickupStoreInfo": { + "$ref": "#/components/schemas/PickupStoreInfo" + }, + "deliveryWindow": { + "type": "string", + "description": "[Scheduled delivery](https://help.vtex.com/tutorial/scheduled-delivery--22g3HAVCGLFiU7xugShOBi) window information, when applicable.", + "nullable": true + }, + "sellingPrice": { + "type": "integer", + "description": "Item selling price in cents." + }, + "listPrice": { + "type": "integer", + "description": "Item [list price](https://help.vtex.com/en/tracks/prices-101--6f8pwCns3PJHqMvQSugNfP/3XcXp0r5WrJvogB8KIX4Kx#list-price) in cents." + }, + "price": { + "type": "integer", + "description": "Item shipping price in cents. This value does not correspond to the order total shipping price." + }, + "deliveryChannel": { + "type": "string", + "description": "Defines if the delivery channel is delivery or pickup.", + "enum": [ + "delivery", + "pickup-in-point" + ] + }, + "deliveryCompany": { + "type": "string", + "description": "[Carrier](https://help.vtex.com/en/tutorial/carriers-on-vtex--7u9duMD5UQa2QQwukAWMcE) company name." + }, + "deliveryIds": { + "type": "array", + "description": "Order delivery IDs information.", + "items": { + "type": "object", + "description": "Information about a delivery ID.", + "properties": { + "courierId": { + "type": "string", + "description": "Carrier ID." + }, + "warehouseId": { + "type": "string", + "description": "[Warehouse](https://help.vtex.com/en/tutorial/warehouse--6oIxvsVDTtGpO7y6zwhGpb) ID." + }, + "dockId": { + "type": "string", + "description": "[Loading dock](https://help.vtex.com/en/tutorial/loading-dock--5DY8xHEjOLYDVL41Urd5qj) ID." + }, + "courierName": { + "type": "string", + "description": "Carrier name." + }, + "quantity": { + "type": "integer", + "description": "Quantity of items being delivered." + }, + "totalListPrice": { + "type": "integer", + "description": "Total list price in cents.", + "nullable": true + }, + "accountCarrierName": { + "type": "string", + "description": "Account carrier name." + }, + "kitItemDetails": { + "type": "array", + "description": "Information about [kit](https://help.vtex.com/tutorial/what-is-a-kit--5ov5s3eHM4AqAAgqWwoc28) items, when applicable.", + "nullable": true, + "items": { + "type": "string", + "description": "Kit item information." + } + } + } + } + }, + "shippingEstimateDate": { + "type": "string", + "description": "Shipping estimate date, defined after order confirmation, in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "deliveryChannels": { + "type": "array", + "description": "Delivery channels associated with the sales channel (or [trade policy](https://help.vtex.com/tutorial/how-trade-policies-work--6Xef8PZiFm40kg2STrMkMV)).", + "items": { + "type": "object", + "description": "Delivery channel information.", + "properties": { + "id": { + "type": "string", + "description": "Delivery channel shipping type.", + "enum": [ + "delivery", + "pickup-in-point" + ] + }, + "stockBalance": { + "type": "integer", + "description": "Stock check for SKU availability." + } + } + } + }, + "itemId": { + "type": "string", + "description": "SKU ID." + }, + "shipsTo": { + "type": "array", + "description": "List of shipping address countries.", + "items": { + "type": "string", + "description": "Shipping address three-digit country code in [ISO 3166 ALPHA-3](https://www.iban.com/country-codes) format." + } + }, + "slas": { + "type": "array", + "description": "Service Level Agreements (SLA) corresponding to [shipping policies](https://help.vtex.com/en/tutorial/shipping-policy--tutorials_140).", + "items": { + "type": "object", + "description": "Service Level Agreement (SLA) information.", + "properties": { + "pickupPointId": { + "type": "string", + "description": "[Pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R) ID related to the SLA.", + "nullable": true + }, + "pickupStoreInfo": { + "$ref": "#/components/schemas/PickupStoreInfo" + }, + "tax": { + "type": "integer", + "description": "SLA tax information." + }, + "listPrice": { + "type": "integer", + "description": "SLA shipping list price in cents." + }, + "price": { + "type": "integer", + "description": "SLA shipping price in cents. Does not account for the order total shipping price." + }, + "deliveryWindow": { + "type": "string", + "description": "[Delivery window](https://help.vtex.com/tutorial/scheduled-delivery--22g3HAVCGLFiU7xugShOBi) information, when applicable.", + "nullable": true + }, + "availableDeliveryWindows": { + "type": "array", + "description": "Available delivery windows information, when applicable.", + "nullable": true, + "items": { + "type": "string", + "description": "Information about an available delivery window." + } + }, + "lockTTL": { + "type": "string", + "description": "Logistics [reservation](https://help.vtex.com/en/tutorial/how-does-reservation-work--tutorials_92) waiting time related to the SLA." + }, + "shippingEstimateDate": { + "type": "string", + "description": "SLA shipping estimate date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "shippingEstimate": { + "type": "string", + "description": "Shipping estimate time in days. For instance, three business days is represented `3bd`." + }, + "deliveryIds": { + "type": "array", + "description": "SLA delivery IDs information.", + "items": { + "type": "object", + "description": "Information about a delivery ID.", + "properties": { + "courierId": { + "type": "string", + "description": "Carrier ID." + }, + "warehouseId": { + "type": "string", + "description": "[Warehouse](https://help.vtex.com/en/tutorial/warehouse--6oIxvsVDTtGpO7y6zwhGpb) ID." + }, + "dockId": { + "type": "string", + "description": "[Loading dock](https://help.vtex.com/en/tutorial/loading-dock--5DY8xHEjOLYDVL41Urd5qj) ID." + }, + "courierName": { + "type": "string", + "description": "Carrier name." + }, + "quantity": { + "type": "integer", + "description": "Quantity of items being delivered." + }, + "totalListPrice": { + "type": "integer", + "description": "Total list price in cents.", + "nullable": true + }, + "accountCarrierName": { + "type": "string", + "description": "Account carrier name." + }, + "kitItemDetails": { + "type": "array", + "description": "Information about [kit](https://help.vtex.com/tutorial/what-is-a-kit--5ov5s3eHM4AqAAgqWwoc28) items, when applicable.", + "nullable": true, + "items": { + "type": "string", + "description": "Kit item information." + } + } + } + } + }, + "name": { + "type": "string", + "description": "[Shipping policy](https://help.vtex.com/en/tutorial/shipping-policy--tutorials_140) name." + }, + "deliveryChannel": { + "type": "string", + "description": "Defines if the delivery channel is delivery or [pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R).", + "enum": [ + "delivery", + "pickup-in-point" + ] + }, + "id": { + "type": "string", + "description": "ID of the shipping method used in the [shipping policy](https://help.vtex.com/en/tutorial/shipping-policy--tutorials_140)." + }, + "pickupDistance": { + "type": "number", + "description": "Distance in kilometers between the pickup point and the customer address. The distance is measured as a straight line.", + "nullable": true + }, + "polygonName": { + "type": "string", + "description": "Name of the [polygon](https://help.vtex.com/en/tutorial/registering-geolocation/) associated with the shipping policy.", + "nullable": true + }, + "transitTime": { + "type": "string", + "description": "Number of days the carrier takes in transit to deliver the order. For instance, three business days is represented `3bd`." + } + } + } + }, + "addressId": { + "type": "string", + "description": "Shipping address ID.", + "nullable": true + }, + "selectedDeliveryChannel": { + "type": "string", + "description": "Delivery channel selected by the customer. This field is being deprecated and the information it retrieves can be found in the `deliveryChannel` field.", + "deprecated": true, + "enum": [ + "delivery", + "pickup-in-point" + ] + }, + "lockTTL": { + "type": "string", + "description": "Logistics [reservation](https://help.vtex.com/en/tutorial/how-does-reservation-work--tutorials_92) waiting time." + }, + "selectedSla": { + "type": "string", + "description": "Service Level Agreement (SLA), which corresponds to the shipping method selected by the customer, usually like normal or express." + }, + "itemIndex": { + "type": "integer", + "description": "Each item in the order is identified by an index. The position starts in `0`, followed by `1`, `2`, and so on." + }, + "pickupPointId": { + "type": "string", + "description": "[Pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R) ID, when applicable.", + "nullable": true + }, + "transitTime": { + "type": "string", + "description": "Number of days the carrier takes in transit to deliver the order. For instance, three business days is represented `3bd`." + } + } + } + }, + "trackingHints": { + "type": "array", + "description": "Order shipping label information.", + "nullable": true, + "items": { + "type": "object", + "description": "Shipping label details.", + "properties": { + "trackingId": { + "type": "string", + "description": "Order tracking ID." + }, + "courierName": { + "type": "string", + "description": "[Carrier](https://help.vtex.com/en/tutorial/carriers-on-vtex--7u9duMD5UQa2QQwukAWMcE) name." + }, + "trackingUrl": { + "type": "string", + "description": "Order tracking URL." + }, + "trackingLabel": { + "type": "string", + "description": "Order tracking label." + } + } + } + }, + "selectedAddresses": { + "type": "array", + "description": "Selected adresses information.", + "items": { + "type": "object", + "description": "Details about a selected adress.", + "properties": { + "addressType": { + "type": "string", + "description": "Selected adress shipping type.", + "enum": [ + "residential", + "pickup" + ] + }, + "receiverName": { + "type": "string", + "description": "Full name of the order receiver." + }, + "addressId": { + "type": "string", + "description": "Selected address ID." + }, + "versionId": { + "type": "string", + "description": "Selected address version ID.", + "nullable": true + }, + "entityId": { + "type": "string", + "description": "Selected address entity ID.", + "nullable": true + }, + "postalCode": { + "type": "string", + "description": "Selected address postal code." + }, + "city": { + "type": "string", + "description": "Selected address city." + }, + "state": { + "type": "string", + "description": "Selected address state." + }, + "country": { + "type": "string", + "description": "Selected address three-digit country code in [ISO 3166 ALPHA-3](https://www.iban.com/country-codes) format." + }, + "street": { + "type": "string", + "description": "Selected address street." + }, + "number": { + "type": "string", + "description": "Selected address number." + }, + "neighborhood": { + "type": "string", + "description": "Selected address neighborhood." + }, + "complement": { + "type": "string", + "description": "Selected address complement.", + "nullable": true + }, + "reference": { + "type": "string", + "nullable": true, + "description": "Selected address additional information." + }, + "geoCoordinates": { + "type": "array", + "description": "Selected address pair of geolocation coordinates, first longitude then latitude.", + "items": { + "type": "number", + "description": "Longitude or latitude." + } + }, + "contactId": { + "type": "string", + "description": "Contact unique identifier.", + "nullable": true + } + } + } + }, + "availableAddresses": { + "type": "array", + "description": "Available adresses information.", + "items": { + "type": "object", + "description": "Details about an available adress.", + "properties": { + "addressType": { + "type": "string", + "description": "Available adress shipping type.", + "enum": [ + "residential", + "pickup" + ] + }, + "receiverName": { + "type": "string", + "description": "Full name of the order receiver." + }, + "addressId": { + "type": "string", + "description": "Available address ID." + }, + "versionId": { + "type": "string", + "description": "Available address version ID.", + "nullable": true + }, + "entityId": { + "type": "string", + "description": "Available address entity ID.", + "nullable": true + }, + "postalCode": { + "type": "string", + "description": "Available address postal code." + }, + "city": { + "type": "string", + "description": "Available address city." + }, + "state": { + "type": "string", + "description": "Available address state." + }, + "country": { + "type": "string", + "description": "Available address three-digit country code in [ISO 3166 ALPHA-3](https://www.iban.com/country-codes) format." + }, + "street": { + "type": "string", + "description": "Available address street." + }, + "number": { + "type": "string", + "description": "Available address number." + }, + "neighborhood": { + "type": "string", + "description": "Available address neighborhood." + }, + "complement": { + "type": "string", + "description": "Available address complement.", + "nullable": true + }, + "reference": { + "type": "string", + "nullable": true, + "description": "Available address additional information." + }, + "geoCoordinates": { + "type": "array", + "description": "Available address pair of geolocation coordinates, first longitude then latitude.", + "items": { + "type": "number", + "description": "Longitude or latitude." + } + }, + "contactId": { + "type": "string", + "description": "Contact unique identifier.", + "nullable": true + } + } + } + }, + "contactInformation": { + "type": "array", + "description": "Order contact information.", + "nullable": true, + "items": { + "type": "object", + "description": "Order contact details.", + "properties": { + "id": { + "type": "string", + "description": "Contact ID." + }, + "email": { + "type": "string", + "description": "Contact email." + }, + "firstName": { + "type": "string", + "description": "Contact first name." + }, + "lastName": { + "type": "string", + "description": "Contact last name." + }, + "document": { + "type": "string", + "description": "Contact document number." + }, + "phone": { + "type": "string", + "description": "Contact phone number." + }, + "documentType": { + "type": "string", + "description": "Contact document type." + } + } + } + } + } + }, + "Address": { + "type": "object", + "description": "Shipping address details.", + "required": [ + "addressType", + "receiverName", + "addressId", + "postalCode", + "city", + "state", + "country", + "street", + "number", + "neighborhood", + "complement", + "reference", + "geoCoordinates" + ], + "properties": { + "addressType": { + "type": "string", + "description": "Shipping address type.", + "enum": [ + "residential", + "pickup" + ] + }, + "receiverName": { + "type": "string", + "description": "Full name of the order receiver." + }, + "addressId": { + "type": "string", + "description": "Shipping address ID." + }, + "versionId": { + "type": "string", + "description": "Shipping address version ID.", + "nullable": true + }, + "entityId": { + "type": "string", + "description": "Shipping address entity ID.", + "nullable": true + }, + "postalCode": { + "type": "string", + "description": "Shipping address postal code." + }, + "city": { + "type": "string", + "description": "Shipping address city." + }, + "state": { + "type": "string", + "description": "Shipping address state." + }, + "country": { + "type": "string", + "description": "Shipping address three-digit country code in [ISO 3166 ALPHA-3](https://www.iban.com/country-codes) format." + }, + "street": { + "type": "string", + "description": "Shipping address street." + }, + "number": { + "type": "string", + "description": "Shipping address number." + }, + "neighborhood": { + "type": "string", + "description": "Shipping address neighborhood." + }, + "complement": { + "type": "string", + "description": "Shipping address complement.", + "nullable": true + }, + "reference": { + "type": "string", + "description": "Shipping address additional information.", + "nullable": true + }, + "geoCoordinates": { + "type": "array", + "description": "Shipping address pair of geolocation coordinates, first longitude then latitude.", + "items": { + "type": "number", + "description": "Longitude or latitude." + } + }, + "contactId": { + "type": "string", + "description": "Contact unique identifier.", + "nullable": true + } + } + }, + "PickupStoreInfo": { + "type": "object", + "description": "Information about a [loading dock](https://help.vtex.com/en/tutorial/loading-dock--5DY8xHEjOLYDVL41Urd5qj) that was transformed into a [pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R).", + "required": [ + "additionalInfo", + "address", + "dockId", + "friendlyName", + "isPickupStore" + ], + "properties": { + "isPickupStore": { + "type": "boolean", + "description": "Defines if the shipping type was pickup (`true`) or not (`false`)." + }, + "friendlyName": { + "type": "string", + "description": "Name of the pickup point displayed at checkout.", + "nullable": true + }, + "address": { + "type": "object", + "description": "Pickup point address information.", + "nullable": true, + "properties": { + "postalCode": { + "type": "string", + "description": "Pickup point address postal code." + }, + "country": { + "type": "string", + "description": "Three-digit country code of the pickup point address in [ISO 3166 ALPHA-3](https://www.iban.com/country-codes) format." + }, + "city": { + "type": "string", + "description": "Pickup point address city." + }, + "state": { + "type": "string", + "description": "Pickup point address state." + }, + "neighborhood": { + "type": "string", + "description": "Pickup point address neighborhood." + }, + "street": { + "type": "string", + "description": "Pickup point address street." + }, + "number": { + "type": "string", + "description": "Pickup point address number." + }, + "complement": { + "type": "string", + "description": "Pickup point address complement." + }, + "reference": { + "type": "string", + "description": "Pickup point address reference.", + "nullable": true + }, + "location": { + "type": "object", + "description": "Pickup point geolocation coordinates.", + "properties": { + "latitude": { + "type": "number", + "description": "Latitude coordinate." + }, + "longitude": { + "type": "number", + "description": "Longitude coordinate." + } + } + } + } + }, + "additionalInfo": { + "type": "string", + "description": "Additional information.", + "nullable": true + }, + "dockId": { + "type": "string", + "description": "ID of the loading dock related to the pickup point.", + "nullable": true + } + } + }, + "ChangesAttachment": { + "type": "object", + "description": "Information about changes in the order.", + "nullable": true, + "required": [ + "id", + "changesData" + ], + "properties": { + "id": { + "type": "string", + "description": "Order changes ID." + }, + "changesData": { + "type": "array", + "description": "Order changes details.", + "items": { + "required": [ + "reason", + "discountValue", + "incrementValue", + "itemsAdded", + "itemsRemoved", + "receipt" + ], + "type": "object", + "description": "Details about an order change.", + "properties": { + "reason": { + "type": "string", + "description": "Text explaining why the order was changed. This information may be shown to the customer in the storefront or transactional emails." + }, + "discountValue": { + "type": "integer", + "description": "Order change discount value in cents.", + "nullable": true + }, + "incrementValue": { + "type": "integer", + "description": "Order change increment value in cents.", + "nullable": true + }, + "itemsAdded": { + "type": "array", + "description": "Information about items added to the order, when applicable.", + "nullable": true, + "items": { + "type": "object", + "description": "Information about an item added to the order.", + "properties": { + "id": { + "type": "string", + "description": "Added item SKU ID." + }, + "name": { + "type": "string", + "description": "Added item SKU name." + }, + "quantity": { + "type": "integer", + "description": "Quantity of items added." + }, + "price": { + "type": "integer", + "description": "Added item price in cents." + }, + "unitMultiplier": { + "type": "string", + "description": "Added item unit multiplier.", + "nullable": true + } + } + } + }, + "itemsRemoved": { + "type": "array", + "description": "Information about items removed from the order, when applicable.", + "nullable": true, + "items": { + "type": "object", + "description": "Information about an item removed from the order.", + "required": [ + "id", + "name", + "quantity", + "price", + "unitMultiplier" + ], + "properties": { + "id": { + "type": "string", + "description": "Removed item SKU ID." + }, + "name": { + "type": "string", + "description": "Removed item name." + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Quantity of removed items." + }, + "price": { + "type": "integer", + "format": "int32", + "description": "Removed item price in cents." + }, + "unitMultiplier": { + "type": "string", + "description": "Removed item unit multiplier.", + "nullable": true + } + } + } + }, + "receipt": { + "required": [ + "date", + "orderId", + "receipt" + ], + "type": "object", + "description": "Order changes receipt information.", + "properties": { + "date": { + "type": "string", + "description": "Receipt creation date in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "orderId": { + "type": "string", + "description": "Order ID." + }, + "receipt": { + "type": "string", + "description": "Receipt unique identifier code." + } + } + } + } + } + } + } + }, + "Stats": { + "type": "object", + "description": "Information about stats.", + "nullable": true, + "required": [ + "stats" + ], + "properties": { + "stats": { + "type": "object", + "description": "Stats object.", + "required": [ + "totalValue", + "totalItems" + ], + "properties": { + "totalValue": { + "type": "object", + "description": "Stats total value.", + "required": [ + "Count", + "Max", + "Mean", + "Min", + "Missing", + "StdDev", + "Sum", + "SumOfSquares", + "Facets" + ], + "properties": { + "Count": { + "type": "integer", + "description": "Value count." + }, + "Max": { + "type": "integer", + "description": "Maximum value." + }, + "Mean": { + "type": "number", + "description": "Value mean." + }, + "Min": { + "type": "integer", + "description": "Minimum value." + }, + "Missing": { + "type": "integer", + "description": "Missing values." + }, + "StdDev": { + "type": "number", + "description": "Standard deviation." + }, + "Sum": { + "type": "integer", + "description": "Sum of values." + }, + "SumOfSquares": { + "type": "integer", + "format": "int64", + "description": "Value sum of squares." + }, + "Facets": { + "type": "object", + "description": "Facets related to total values.", + "required": [ + "origin", + "currencyCode" + ], + "properties": { + "origin": { + "type": "object", + "description": "Value facets origin.", + "required": [ + "Fulfillment", + "Marketplace" + ], + "properties": { + "Fulfillment": { + "type": "object", + "description": "Seller (fulfillment) facets information.", + "required": [ + "Count", + "Max", + "Mean", + "Min", + "Missing", + "StdDev", + "Sum", + "SumOfSquares", + "Facets" + ], + "properties": { + "Count": { + "type": "integer", + "description": "Value count related to fulfillment." + }, + "Max": { + "type": "integer", + "description": "Maximum value related to fulfillment." + }, + "Mean": { + "type": "number", + "description": "Value mean related to fulfillment." + }, + "Min": { + "type": "integer", + "description": "Minimum related to fulfillment." + }, + "Missing": { + "type": "integer", + "description": "Missing values related to fulfillment." + }, + "StdDev": { + "type": "number", + "description": "Standard deviation related to fulfillment." + }, + "Sum": { + "type": "integer", + "description": "Value sum related to fulfillment." + }, + "SumOfSquares": { + "type": "integer", + "description": "Sum of squares related to fulfillment." + }, + "Facets": { + "type": "string", + "nullable": true, + "description": "Facets related to fulfillment." + } + } + }, + "Marketplace": { + "type": "object", + "description": "Marketplace facets information.", + "required": [ + "Count", + "Max", + "Mean", + "Min", + "Missing", + "StdDev", + "Sum", + "SumOfSquares", + "Facets" + ], + "properties": { + "Count": { + "type": "integer", + "description": "Value count related to the marketplace." + }, + "Max": { + "type": "integer", + "description": "Maximum value related to the marketplace." + }, + "Mean": { + "type": "number", + "description": "Value mean related to the marketplace." + }, + "Min": { + "type": "integer", + "description": "Minimum value related to the marketplace." + }, + "Missing": { + "type": "integer", + "description": "Missing values related to the marketplace." + }, + "StdDev": { + "type": "number", + "description": "Standard deviation related to the marketplace." + }, + "Sum": { + "type": "integer", + "description": "Values sum related to the marketplace." + }, + "SumOfSquares": { + "type": "integer", + "format": "int64", + "description": "Sum of squares related to the marketplace." + }, + "Facets": { + "type": "string", + "nullable": true, + "description": "Facets related to the marketplace." + } + } + } + } + }, + "currencyCode": { + "type": "object", + "description": "Total value currency code in [ISO 4217](https://www.iban.com/currency-codes) format.", + "required": [ + "BRL" + ], + "properties": { + "BRL": { + "type": "object", + "description": "Currency code facets information.", + "required": [ + "Count", + "Max", + "Mean", + "Min", + "Missing", + "StdDev", + "Sum", + "SumOfSquares", + "Facets" + ], + "properties": { + "Count": { + "type": "integer", + "description": "Value count related to the currency code." + }, + "Max": { + "type": "integer", + "description": "Maximum value related to the currency code." + }, + "Mean": { + "type": "number", + "description": "Value mean related to the currency code." + }, + "Min": { + "type": "integer", + "description": "Minimum value related to the currency code." + }, + "Missing": { + "type": "integer", + "description": "Missing values related to the currency code." + }, + "StdDev": { + "type": "number", + "description": "Standard deviation related to the currency code." + }, + "Sum": { + "type": "integer", + "description": "Sum of values related to the currency code." + }, + "SumOfSquares": { + "type": "integer", + "format": "int64", + "description": "Sum of squares related to the currency code." + }, + "Facets": { + "type": "string", + "nullable": true, + "description": "Facets related to the currency code." + } + } + } + } + } + } + } + } + }, + "totalItems": { + "type": "object", + "description": "Stats total items.", + "required": [ + "Count", + "Max", + "Mean", + "Min", + "Missing", + "StdDev", + "Sum", + "SumOfSquares", + "Facets" + ], + "properties": { + "Count": { + "type": "integer", + "description": "Items count." + }, + "Max": { + "type": "integer", + "description": "Maximum items." + }, + "Mean": { + "type": "number", + "description": "Total items mean." + }, + "Min": { + "type": "integer", + "description": "Minimum items." + }, + "Missing": { + "type": "integer", + "description": "Missing items." + }, + "StdDev": { + "type": "number", + "description": "Standard deviation." + }, + "Sum": { + "type": "integer", + "description": "Sum of items." + }, + "SumOfSquares": { + "type": "integer", + "format": "int64", + "description": "Items sum of squares." + }, + "Facets": { + "type": "object", + "description": "Facets related to total items.", + "nullable": true, + "required": [ + "origin", + "currencyCode" + ], + "properties": { + "origin": { + "type": "object", + "description": "Items facets origin.", + "required": [ + "Fulfillment", + "Marketplace" + ], + "properties": { + "Fulfillment": { + "type": "object", + "description": "Seller (fulfillment) facets information related to total items.", + "required": [ + "Count", + "Max", + "Mean", + "Min", + "Missing", + "StdDev", + "Sum", + "SumOfSquares", + "Facets" + ], + "properties": { + "Count": { + "type": "integer", + "description": "Items count related to fulfillment." + }, + "Max": { + "type": "integer", + "description": "Maximum of items related to fulfillment." + }, + "Mean": { + "type": "number", + "description": "Items mean related to fulfillment." + }, + "Min": { + "type": "integer", + "description": "Minimum of items related to fulfillment." + }, + "Missing": { + "type": "integer", + "description": "Missing items related to fulfillment." + }, + "StdDev": { + "type": "number", + "description": "Standard deviation related to fulfillment." + }, + "Sum": { + "type": "integer", + "description": "Sum of items related to fulfillment." + }, + "SumOfSquares": { + "type": "integer", + "description": "Items sum of squares related to fulfillment." + }, + "Facets": { + "type": "string", + "nullable": true, + "description": "Facets related to fulfillment." + } + } + }, + "Marketplace": { + "type": "object", + "description": "Marketplace facets information related to total items.", + "required": [ + "Count", + "Max", + "Mean", + "Min", + "Missing", + "StdDev", + "Sum", + "SumOfSquares", + "Facets" + ], + "properties": { + "Count": { + "type": "integer", + "description": "Items count related to the marketplace." + }, + "Max": { + "type": "integer", + "description": "Maximum of items related to the marketplace." + }, + "Mean": { + "type": "number", + "description": "Items mean related to the marketplace." + }, + "Min": { + "type": "integer", + "description": "Minimum of items related to the marketplace." + }, + "Missing": { + "type": "integer", + "description": "Missing items related to the marketplace." + }, + "StdDev": { + "type": "number", + "description": "Standard deviation related to the marketplace." + }, + "Sum": { + "type": "integer", + "description": "Sum of items related to the marketplace." + }, + "SumOfSquares": { + "type": "integer", + "format": "int64", + "description": "Sum of squares related to the marketplace." + }, + "Facets": { + "type": "string", + "nullable": true, + "description": "Facets related to the marketplace." + } + } + } + } + }, + "currencyCode": { + "type": "object", + "description": "Total items currency code in [ISO 4217](https://www.iban.com/currency-codes) format.", + "required": [ + "BRL" + ], + "properties": { + "BRL": { + "type": "object", + "description": "Currency code facets information.", + "required": [ + "Count", + "Max", + "Mean", + "Min", + "Missing", + "StdDev", + "Sum", + "SumOfSquares", + "Facets" + ], + "properties": { + "Count": { + "type": "integer", + "description": "Items count related to the currency code." + }, + "Max": { + "type": "integer", + "description": "Maximum of items related to the currency code." + }, + "Mean": { + "type": "number", + "description": "Items mean related to the currency code." + }, + "Min": { + "type": "integer", + "description": "Minimum of items related to the currency code." + }, + "Missing": { + "type": "integer", + "description": "Missing items related to the currency code." + }, + "StdDev": { + "type": "number", + "description": "Standard deviation related to the currency code." + }, + "Sum": { + "type": "integer", + "description": "Sum of items related to the currency code." + }, + "SumOfSquares": { + "type": "integer", + "format": "int64", + "description": "Sum of squares related to the currency code." + }, + "Facets": { + "type": "string", + "nullable": true, + "description": "Facets related to the currency code." + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "parameters": { + "Content-Type": { + "name": "Content-Type", + "in": "header", + "description": "Type of the content being sent.", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "example": "application/json" + } + }, + "Accept": { + "name": "Accept", + "in": "header", + "description": "HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "example": "application/json" + } + }, + "orderId": { + "name": "orderId", + "in": "path", + "description": "Order ID.", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "example": "v71021948str-01" + } + }, + "reason": { + "name": "reason", + "in": "query", + "description": "Reason for requesting unmasked data.", + "required": false, + "style": "form", + "schema": { + "type": "string", + "example": "data-validation" + } + }, + "paymentId": { + "name": "paymentId", + "in": "path", + "description": "Payment ID.", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "example": "B075A551595A43B0AD48DCD8EB481C7F" + } + } + } + }, + "tags": [ + { + "name": "Orders" + }, + { + "name": "Invoice" + }, + { + "name": "Payment" + } + ] +} \ No newline at end of file diff --git a/VTEX - Subscriptions API v3.json b/VTEX - Subscriptions API v3.json new file mode 100644 index 000000000..1b59e21aa --- /dev/null +++ b/VTEX - Subscriptions API v3.json @@ -0,0 +1,4552 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Subscriptions API (v3)", + "description": "[Subscriptions](https://help.vtex.com/en/tutorial/how-subscriptions-work--frequentlyAskedQuestions_4453) is the VTEX solution for customers to make recurrent purchases at your store on a regular schedule. When customers subscribe, they define what products they want to acquire regularly and at what frequency they want these automatic orders to be created. For more information, see [Subscriptions onboarding guide](https://developers.vtex.com/docs/guides/subscriptions).\r\n\r\n## Index\r\n\r\n### Cycles\r\n\r\n- `GET` [Get cycle details](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#get-\/api\/rns\/pub\/cycles\/-cycleId-)\r\n- `GET` [List cycles](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#get-\/api\/rns\/pub\/cycles)\r\n- `POST` [Retry cycle](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#post-\/api\/rns\/pub\/cycles\/-cycleId-\/retry)\r\n\r\n### Plans\r\n\r\n- `GET` [List plans](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#get-\/api\/rns\/pvt\/plans)\r\n- `GET` [Get plan details](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#get-\/api\/rns\/pvt\/plans\/-id-)\r\n\r\n### Reports\r\n\r\n- `GET` [List report templates](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#get-\/api\/rns\/pvt\/reports)\r\n- `GET` [Get report document details](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#get-\/api\/rns\/pvt\/reports\/-reportName-\/documents\/-documentId-)\r\n- `POST` [Generate report](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#post-\/api\/rns\/pvt\/reports\/-reportName-\/documents)\r\n\r\n### Subscriptions\r\n\r\n- `GET` [Get subscription details by ID](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#get-\/api\/rns\/pub\/subscriptions\/-id-)\r\n- `PATCH` [Update subscription by ID](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#patch-\/api\/rns\/pub\/subscriptions\/-id-)\r\n- `GET` [List subscriptions](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#get-\/api\/rns\/pub\/subscriptions)\r\n- `POST` [Create subscription](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#post-\/api\/rns\/pub\/subscriptions)\r\n- `DELETE` [Remove item from subscription](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#delete-\/api\/rns\/pub\/subscriptions\/-id-\/items\/-itemId-)\r\n- `PATCH` [Edit item on subscription](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#patch-\/api\/rns\/pub\/subscriptions\/-id-\/items\/-itemId-)\r\n- `POST` [Add item to subscription](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#post-\/api\/rns\/pub\/subscriptions\/-id-\/items)\r\n- `POST` [Calculate the current prices for a subscription](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#post-\/api\/rns\/pub\/subscriptions\/-id-\/simulate)\r\n- `POST` [Calculate the current prices for the provided subscription template](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#post-\/api\/rns\/pub\/subscriptions\/simulate)\r\n- `GET` [Get conversation messages](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#get-\/api\/rns\/pub\/subscriptions\/-subscriptionId-\/conversation-message)\r\n\r\n### Settings\r\n\r\n- `GET` [Get subscription settings](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#get-\/api\/rns\/settings)\r\n- `POST` [Edit subscriptions settings](https:\/\/developers.vtex.com\/docs\/api-reference\/subscriptions-api-v3#post-\/api\/rns\/settings) \r\n\r\n## Common parameters\r\n\r\n| **Parameter name** | **Description** | **Type** |\r\n| :---: | :--- | :--- |\r\n| `{{accountName}}` | Name of the VTEX account. Used as part of the URL. | Server variable. |\r\n| `{{environment}}` | Environment to use. Used as part of the URL. The default value is `vtexcommercestable`. | Server variable. |\r\n| `X-VTEX-API-AppKey` | Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys). | Authentication header. Must be used together with `X-VTEX-API-AppToken`. Not necessary when using `VtexIdclientAutCookie`. |\r\n| `X-VTEX-API-AppToken` | Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys). | Authentication header. Must be used together with X-VTEX-API-AppKey. Not necessary when using `VtexIdclientAutCookie`. |\r\n| `VtexIdclientAutCookie` | [User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours. | Authentication header. Not necessary when using `X-VTEX-API-AppKey` and `X-VTEX-API-AppToken`. |", + "contact": {}, + "version": "1.0" + }, + "servers": [ + { + "url": "https://{accountName}.{environment}.com.br", + "description": "VTEX server URL.", + "variables": { + "accountName": { + "description": "Name of the VTEX account. Used as part of the URL.", + "default": "apiexamples" + }, + "environment": { + "description": "Environment to use. Used as part of the URL.", + "enum": [ + "vtexcommercestable" + ], + "default": "vtexcommercestable" + } + } + } + ], + "paths": { + "/api/rns/pub/cycles/{cycleId}": { + "get": { + "tags": [ + "Cycles" + ], + "summary": "Get cycle details", + "description": "Retrieve a specific cycle by its ID.", + "parameters": [ + { + "name": "cycleId", + "in": "path", + "description": "ID from the desired cycle.", + "required": true, + "schema": { + "type": "string", + "example": "2b9de8a5-b29b-4e18-8400-400dc0a2330d" + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionCycleResponse" + }, + "example": { + "id": "2b9de8a5-b29b-4e18-8400-400dc0a2330d-20240730", + "subscriptionId": "2b9de8a5-b29b-4e18-8400-400dc0a2330d", + "workflowId": "73a385ff-b3dc-48c0-ab25-0f1cecc4be8a", + "status": "SUCCESS", + "customerEmail": "customer@email.com", + "customerId": "94b0a774-09c7-43ee-91e2-e8fa6guad0ju", + "date": "2024-07-30T09:04:59.7325176Z", + "lastUpdate": "2024-07-31T09:06:05.6879323Z", + "cycleCount": 3, + "isInRetry": false, + "message": null, + "friendlyMessage": null, + "plan": { + "id": "store.subscription.tshirt-collection", + "frequency": { + "periodicity": "WEEKLY", + "interval": 3 + }, + "validity": { + "begin": "2024-04-11T11:04:24.0454821Z", + "end": null + }, + "purchaseDay": "Sunday" + }, + "orderInfo": { + "orderId": "V-8753228-01", + "orderGroup": "V-8753228", + "paymentUrl": null, + "value": 21600 + }, + "context": { + "items": [ + { + "subscriptionItem": "69C872657263439D899265717E733A84", + "skuId": "1154", + "quantity": 1, + "status": "ACTIVE", + "isSkipped": false, + "cycleCount": 1 + } + ], + "paymentSystem": "47", + "paymentSystemName": "Cash", + "paymentSystemGroup": "cash", + "paymentAccountId": null, + "addressId": "Address", + "addressType": "residential", + "catalogAttachment": "vtex.subscription.tshirt-collection" + }, + "simulationItems": [ + { + "id": "1145", + "quantity": 1, + "unitPrice": 21600, + "status": "OK", + "price": null, + "sellingPrice": 21600, + "manualPrice": null + } + ] + } + } + } + } + } + } + }, + "/api/rns/pub/cycles": { + "get": { + "tags": [ + "Cycles" + ], + "summary": "List cycles", + "description": "List cycles filtering by some arguments.", + "parameters": [ + { + "name": "beginDate", + "in": "query", + "description": "Lower limit for the date of creation of the cycle", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "endDate", + "description": "Upper limit for the date of creation of the cycle", + "in": "query", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "subscriptionId", + "description": "Id from the subscription that generated the cycle", + "in": "query", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "customerEmail", + "in": "query", + "description": "Customer that owns the subscription. Defaults to the current logged user", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "status", + "in": "query", + "description": "Current cycle status", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "page", + "in": "query", + "description": "Page used for pagination", + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "size", + "in": "query", + "description": "Page size used for pagination", + "schema": { + "type": "integer", + "format": "int32", + "default": 15 + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "description": "List of subscriptions of the VTEX account, limited to 15 results.", + "items": { + "$ref": "#/components/schemas/SubscriptionCycleResponse" + } + }, + "example": [ + { + "id": "2b9de8a5-b29b-4e18-8400-400dc0a2330d-20240730", + "subscriptionId": "2b9de8a5-b29b-4e18-8400-400dc0a2330d", + "workflowId": "73a385ff-b3dc-48c0-ab25-0f1cecc4be8a", + "status": "SUCCESS", + "customerEmail": "customer@email.com", + "customerId": "94b0a774-09c7-43ee-91e2-e8fa6guad0ju", + "date": "2024-07-30T09:04:59.7325176Z", + "lastUpdate": "2024-07-31T09:06:05.6879323Z", + "cycleCount": 3, + "isInRetry": false, + "message": null, + "friendlyMessage": null, + "plan": { + "id": "store.subscription.tshirt-collection", + "frequency": { + "periodicity": "WEEKLY", + "interval": 3 + }, + "validity": { + "begin": "2024-04-11T11:04:24.0454821Z", + "end": null + }, + "purchaseDay": "Sunday" + }, + "orderInfo": { + "orderId": "V-8753228-01", + "orderGroup": "V-8753228", + "paymentUrl": null, + "value": 21600 + }, + "context": { + "items": [ + { + "subscriptionItem": "69C872657263439D899265717E733A84", + "skuId": "1154", + "quantity": 1, + "status": "ACTIVE", + "isSkipped": false, + "cycleCount": 1 + } + ], + "paymentSystem": "47", + "paymentSystemName": "Cash", + "paymentSystemGroup": "cash", + "paymentAccountId": null, + "addressId": "Address", + "addressType": "residential", + "catalogAttachment": "vtex.subscription.tshirt-collection" + }, + "simulationItems": [ + { + "id": "1145", + "quantity": 1, + "unitPrice": 21600, + "status": "OK", + "price": null, + "sellingPrice": 21600, + "manualPrice": null + } + ] + } + ] + } + } + } + } + } + }, + "/api/rns/pub/cycles/{cycleId}/retry": { + "post": { + "tags": [ + "Cycles" + ], + "summary": "Retry cycle", + "description": "Every subscription order has an execution count called cycle, which determines the position of an order counting from when the shopper subscribed. This endpoint reruns a cycle that is currently in error state.", + "parameters": [ + { + "name": "cycleId", + "in": "path", + "description": "ID from the subscription cycle that will be retried.", + "required": true, + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/rns/pvt/plans": { + "get": { + "tags": [ + "Plans" + ], + "summary": "List plans", + "description": "List plans filtering by some arguments.", + "parameters": [ + { + "name": "periodicity", + "in": "query", + "description": "Filter [subscription plans](https://help.vtex.com/en/tutorial/subscription-plans-beta--5kczKRqHEsrs1tYtRcY8wR) by available periodicity.", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "interval", + "in": "query", + "description": "Filter [subscription plans](https://help.vtex.com/en/tutorial/subscription-plans-beta--5kczKRqHEsrs1tYtRcY8wR) by available interval.", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "page", + "in": "query", + "description": "Page used for pagination.", + "schema": { + "type": "integer", + "example": 1 + } + }, + { + "name": "size", + "in": "query", + "description": "Desired number of [subscription plans](https://help.vtex.com/en/tutorial/subscription-plans-beta--5kczKRqHEsrs1tYtRcY8wR) in the response.", + "schema": { + "type": "integer", + "example": 15 + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StorePlan" + } + }, + "example": [ + { + "id": "catfood.subscription", + "frequencies": [ + { + "periodicity": "DAILY", + "interval": 1 + } + ], + "isActive": true, + "importInProgress": false, + "attachmentId": 40, + "isValid": true, + "validationMessages": [], + "validity": null, + "purchaseDays": [ + "7" + ] + }, + { + "id": "subscription.tshirt", + "frequencies": [ + { + "periodicity": "MONTHLY", + "interval": 1 + } + ], + "isActive": true, + "importInProgress": false, + "attachmentId": 39, + "isValid": true, + "validationMessages": [], + "validity": null, + "purchaseDays": [ + "3" + ] + } + ] + } + } + } + } + } + }, + "/api/rns/pvt/plans/{id}": { + "get": { + "tags": [ + "Plans" + ], + "summary": "Get plan details", + "description": "This endpoint retrieves a specific plan by its ID.", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID from the [subscription plan](https://help.vtex.com/en/tutorial/subscription-plans-beta--5kczKRqHEsrs1tYtRcY8wR).", + "required": true, + "schema": { + "type": "string", + "example": "catfood.subscription" + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StorePlan" + }, + "example": { + "id": "catfood.subscription", + "frequencies": [ + { + "periodicity": "DAILY", + "interval": 1 + } + ], + "isActive": true, + "importInProgress": false, + "attachmentId": 40, + "isValid": true, + "validationMessages": [], + "validity": null, + "purchaseDays": [ + "1", + "2", + "3", + "4", + "5", + "6", + "0" + ] + } + } + } + } + } + } + }, + "/api/rns/pvt/reports": { + "get": { + "tags": [ + "Reports" + ], + "summary": "List report templates", + "description": "List all report templates available.\r\n\r\n>ℹ️ After choosing the desired template, use the [Generate report](https://developers.vtex.com/docs/api-reference/subscriptions-api-v3#post-/api/rns/pvt/reports/-reportName-/documents) endpoint to create the report for your store.", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "description": "Report template details.", + "properties": { + "account": { + "type": "string", + "description": "VTEX store account name." + }, + "name": { + "type": "string", + "description": "Template type, more information in the `description` field.", + "enum": [ + "subscriptionsWithStatus", + "subscriptionsScheduledBetweenDate", + "subscriptionsUpdatedBetweenDate", + "subscriptionsCreatedBetweenDate", + "executionsBetweenDate" + ] + }, + "description": { + "type": "string", + "description": "Template description, which varies according to the template type:\r\n- `subscriptionsWithStatus`: Get subscriptions based on status.\r\n- `subscriptionsScheduledBetweenDate`: Get active subscriptions scheduled between dates.\r\n- `subscriptionsUpdatedBetweenDate`: Get subscriptions updated between dates.\r\n- `subscriptionsCreatedBetweenDates`: Get subscriptions created between date.\r\n- `executionsBetweenDate`: Get executions between dates." + }, + "reason": { + "type": "string", + "description": "Reason why the template was created.", + "nullable": true + }, + "behalfOf": { + "type": "string", + "description": "On behalf of which user the template was created.", + "nullable": true + }, + "params": { + "type": "array", + "description": "Information about the template params.", + "items": { + "type": "object", + "description": "Param details.", + "properties": { + "type": { + "type": "string", + "description": "Template param type, which can be `string` for the `subscriptionsWithStatus` template type, or `date` for the other cases.", + "enum": [ + "string", + "date" + ] + }, + "format": { + "type": "string", + "description": "Template param format, such as `yyyy-MM-dd` for `beginDate` or `endDate`. Not applicable to the `subscriptionsWithStatus` type." + }, + "name": { + "type": "string", + "description": "Template param name, which can relate to the template status (`status`) or dates (`beginDate`, `endDate`).", + "enum": [ + "status", + "beginDate", + "endDate" + ] + } + } + } + } + } + } + }, + "example": [ + { + "account": "fashionstore", + "name": "subscriptionsWithStatus", + "description": "Get subscriptions based on status", + "reason": null, + "behalfOf": null, + "params": [ + { + "type": "string", + "name": "status" + } + ] + }, + { + "account": "fashionstore", + "name": "subscriptionsScheduledBetweenDate", + "description": "Get active subscriptions scheduled between date", + "reason": null, + "behalfOf": null, + "params": [ + { + "type": "date", + "format": "yyyy-MM-dd", + "name": "beginDate" + }, + { + "type": "date", + "format": "yyyy-MM-dd", + "name": "endDate" + } + ] + }, + { + "account": "fashionstore", + "name": "subscriptionsUpdatedBetweenDate", + "description": "Get subscriptions updated between date", + "reason": null, + "behalfOf": null, + "params": [ + { + "type": "date", + "format": "yyyy-MM-dd", + "name": "beginDate" + }, + { + "type": "date", + "format": "yyyy-MM-dd", + "name": "endDate" + } + ] + }, + { + "account": "fashionstore", + "name": "subscriptionsCreatedBetweenDate", + "description": "Get subscriptions created between date", + "reason": null, + "behalfOf": null, + "params": [ + { + "type": "date", + "format": "yyyy-MM-dd", + "name": "beginDate" + }, + { + "type": "date", + "format": "yyyy-MM-dd", + "name": "endDate" + } + ] + }, + { + "account": "fashionstore", + "name": "executionsBetweenDate", + "description": "Get executions between date", + "reason": null, + "behalfOf": null, + "params": [ + { + "type": "date", + "format": "yyyy-MM-dd", + "name": "beginDate" + }, + { + "type": "date", + "format": "yyyy-MM-dd", + "name": "endDate" + } + ] + } + ] + } + } + } + } + } + }, + "/api/rns/pvt/reports/{reportName}/documents/{documentId}": { + "get": { + "tags": [ + "Reports" + ], + "summary": "Get report document details", + "description": "Retrieve information about a report document, searching by document ID. In the status code `200 OK` response, you get a link to download the report.\r\n\r\n>❗ Before using this endpoint, you must create a report with the [Generate report](https://developers.vtex.com/docs/api-reference/subscriptions-api-v3#post-/api/rns/pvt/reports/-reportName-/documents) endpoint and get the document ID.", + "parameters": [ + { + "name": "reportName", + "in": "path", + "required": true, + "description": "Name of the report type, which must be previously created for your store using the [Generate report](https://developers.vtex.com/docs/api-reference/subscriptions-api-v3#post-/api/rns/pvt/reports/-reportName-/documents) endpoint. The possible values are:\r\n- `subscriptionsWithStatus`\r\n- `subscriptionsScheduledBetweenDate`\r\n- `subscriptionsUpdatedBetweenDate`\r\n- `subscriptionsCreatedBetweenDate`\r\n- `executionsBetweenDate`", + "schema": { + "type": "string", + "example": "subscriptionsWithStatus" + } + }, + { + "name": "documentId", + "in": "path", + "required": true, + "description": "Report document ID. You get this value after you create a report template for your store using the [Generate report](https://developers.vtex.com/docs/api-reference/subscriptions-api-v3#post-/api/rns/pvt/reports/-reportName-/documents) endpoint.", + "schema": { + "type": "string", + "example": "2804f3ab-5a51-11ef-b37f-f89ffae09a60" + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportResponse" + }, + "example": { + "id": "7849df9f-00d4-11ef-8452-1254acca1d85", + "finished": true, + "recordsProcessed": 63, + "recordsSum": 63, + "startDate": "2024-03-22T18:16:50.7487312Z", + "lastUpdateTime": "2024-04-22T18:16:50.7487312Z", + "completedDate": "2024-04-22T18:16:50.7487312Z", + "errorCount": null, + "percentageProcessed": 100, + "enqueueDate": "2024-04-22T18:16:50.7487312Z", + "email": "receiver@email.com", + "canceled": false, + "outputType": "CSV", + "zipped": false, + "linkToDownload": "https://s3.amazonaws.com/OMSReport/v3/_finished/accountname/7849df9f-00d4-11ef-8452-1254acca1d85//files/47363271-b655-11ed-83ab-12dbed7de2a7.csv?AWSAccessKeyId=ASIAQYXXCHIYPSJDRNHB&Expires=1724945014&x-amz-security-token=IQoJb3JpZ2luX2VjEMj%2Feq6V1w8z3NGlnfhvSp70Q80qvQUIwP%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgwwNTMxMzE0OTE4ODgiDCM0JATV%2FwXQvXyovCqRBW%2F14aC5J3plQR%2BzKbpddyDnoAstfgJo1MfR0yel3uRzixrSRFE033V4%2B8cN7ez5Lr0ymGifnB14ONZ35RtM4PgQvuV0fs8If6cw8%3D%3D&Signature=7yZbA%2BGaYdPUkdxFXqy9W8GGHuo%3D", + "lastErrorMessage": null, + "statusMessage": "Report 7849df9f-00d4-11ef-8452-1254acca1d85 was completed at 15:23 and sent to receiver@email.com." + } + } + } + } + } + } + }, + "/api/rns/pvt/reports/{reportName}/documents": { + "post": { + "tags": [ + "Reports" + ], + "summary": "Generate report", + "description": "Create a report in the format of a `csv` file and send it via email to a given user.\r\n\r\n>ℹ️ In the response body of the current endpoint, you get the document ID required for the [Get report document details](https://developers.vtex.com/docs/api-reference/subscriptions-api-v3#get-/api/rns/pvt/reports/-reportName-/documents/-documentId-) endpoint.\r\n\r\nYou can generate the following types of report:\r\n\r\n- `subscriptionsWithStatus`: Get subscriptions based on subscription cycle execution status.\r\n - **Query param required:** `status`.\r\n\r\n- `subscriptionsScheduledBetweenDate`: Get active subscriptions scheduled between dates.\r\n - **Query params required:** `beginDate` and `endDate`.\r\n\r\n- `subscriptionsUpdatedBetweenDate`: Get subscriptions updated between dates.\r\n - **Query params required:** `beginDate` and `endDate`.\r\n\r\n- `subscriptionsCreatedBetweenDate`: Get subscriptions created between dates.\r\n - **Query params required:** `beginDate` and `endDate`.\r\n\r\n- `executionsBetweenDate`: Get executions between dates.\r\n - **Query params required:** `beginDate` and `endDate`.\r\n\r\n>ℹ️ You can also use the [List report templates](https://developers.vtex.com/docs/api-reference/subscriptions-api-v3#get-/api/rns/pvt/reports) endpoint to discover the types of reports you can generate.", + "parameters": [ + { + "name": "reportName", + "in": "path", + "required": true, + "description": "Name of the type of report you wish to generate. The following values are accepted:\r\n- `subscriptionsWithStatus`\r\n- `subscriptionsScheduledBetweenDate`\r\n- `subscriptionsUpdatedBetweenDate`\r\n- `subscriptionsCreatedBetweenDate`\r\n- `executionsBetweenDate`", + "schema": { + "type": "string", + "example": "subscriptionsWithStatus" + } + }, + { + "name": "email", + "in": "query", + "required": false, + "description": "The report will be sent to the email in this field. When no email is provided, the report is sent to the email of the user making the request.", + "schema": { + "type": "string", + "example": "receiver@email.com" + } + }, + { + "name": "status", + "in": "query", + "required": false, + "description": "Subscription cycle execution status. This field is required only for the `subscriptionsWithStatus` report type, and the possible values are:\r\n- `TRIGGERED`: Execution has been triggered.\r\n- `IN_PROCESS`: Execution is being processed by the system.\r\n- `FAILURE`: An internal error occurred during the subscription execution.\r\n- `SUCCESS`: Successful cycle processing.\r\n- `EXPIRED`: The subscription was not renewed, and the period for which it was valid has ended.\r\n- `ORDER_ERROR`: Cycle was not executed due to an error in order placement.\r\n- `PAYMENT_ERROR`: Cycle was not executed due to an error in the payment.\r\n- `SKIPED`: A subscription cycle execution was skipped, and the subscription will be executed in the next cycle.\r\n- `SUCCESS_WITH_NO_ORDER`: Cycle was executed successfully, and the linked order has no items.\r\n- `SUCCESS_WITH_PARTIAL_ORDER`: Cycle was executed successfully, and has a linked partial order.\r\n- `RE_TRIGGERED`: Execution retry was triggered manually.\r\n- `SCHEDULE_UPDATED`: The next subscription cycle execution date has been updated.", + "schema": { + "type": "string", + "example": "SUCCESS" + } + }, + { + "name": "beginDate", + "in": "query", + "required": false, + "description": "Beginning date in the format `YYYY-MM-DD`. This field is required for all report types, except for the `subscriptionsWithStatus` type.", + "schema": { + "type": "string", + "example": "2024-07-01" + } + }, + { + "name": "endDate", + "in": "query", + "required": false, + "description": "Ending date in the format `YYYY-MM-DD`. This field is required for all report types, except for the `subscriptionsWithStatus` type.", + "schema": { + "type": "string", + "example": "2024-08-01" + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportResponse" + }, + "example": { + "id": "7849df9f-00d4-11ef-8452-1254acca1d85", + "finished": false, + "recordsProcessed": 0, + "recordsSum": null, + "startDate": null, + "lastUpdateTime": null, + "completedDate": null, + "errorCount": null, + "percentageProcessed": 0, + "enqueueDate": "2024-04-22T18:16:50.7487312Z", + "email": "receiver@email.com", + "canceled": false, + "outputType": "CSV", + "zipped": false, + "linkToDownload": null, + "lastErrorMessage": null, + "statusMessage": "Report 7849df9f-00d4-11ef-8452-1254acca1d85 is being processed (0.00% completed). The file will be sent to receiver@email.com." + } + } + } + } + } + } + }, + "/api/rns/pub/subscriptions/{id}": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Get subscription details by ID", + "description": "Retrieves information about a subscription, searching by subscription ID.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "description": "[Subscription](https://help.vtex.com/en/tutorial/how-subscriptions-work--frequentlyAskedQuestions_4453) ID.", + "schema": { + "type": "string", + "example": "F35A8B497EA9E5A6D8F3778CBBA4C9E3" + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionGroupResponse" + }, + "example": { + "id": "F35A8B497EA9E5A6D8F3778CBBA4C9E3", + "customerId": "5aff33ec-5302-4580-a4ed-be9aa32ba3db", + "customerEmail": "customer@email.com", + "title": null, + "status": "ACTIVE", + "isSkipped": false, + "nextPurchaseDate": "2024-08-21T12:00:00Z", + "lastPurchaseDate": "2024-08-19T00:00:00Z", + "plan": { + "id": "store.subscription.ana-plan", + "frequency": { + "periodicity": "DAILY", + "interval": 2 + }, + "validity": { + "begin": "2024-08-01T00:00:00Z", + "end": null + }, + "purchaseDay": "Not_Applicable" + }, + "shippingAddress": { + "addressId": "5028945524109", + "addressType": "residential" + }, + "purchaseSettings": { + "paymentMethod": { + "paymentAccountId": "B2BBDD0F2E4B47FC9E48D2DA99C318EF", + "paymentSystem": "2", + "installments": 1, + "paymentSystemName": "creditCard", + "paymentSystemGroup": "creditCard" + }, + "currencyCode": "BRL", + "selectedSla": "Normal", + "salesChannel": "1", + "seller": "1" + }, + "cycleCount": 9, + "createdAt": "2024-08-01T12:31:55.7308301Z", + "lastUpdate": "2024-08-19T12:16:51.0237801Z", + "items": [ + { + "id": "0213AB4188FE4007A865AD33D972FA37", + "skuId": "9", + "quantity": 1, + "isSkipped": false, + "status": "ACTIVE", + "originalOrderId": "1451256157912-01", + "cycleCount": 9, + "priceAtSubscriptionDate": 736.0, + "manualPrice": 736.0, + "attachments": [ + { + "name": "printMessage", + "content": { + "printMessage": "Hello" + } + } + ] + } + ], + "lastCycleId": "F35A8B497EA9E5A6D8F3778CBBA4C9E3-20240819", + "customData": null + } + } + } + } + } + }, + "patch": { + "tags": [ + "Subscriptions" + ], + "summary": "Update subscription by ID", + "description": "Updates a subscription, searching by subscription ID.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "description": "[Subscription](https://help.vtex.com/en/tutorial/how-subscriptions-work--frequentlyAskedQuestions_4453) ID.", + "schema": { + "type": "string", + "example": "1E7886FC8E45FF38C527897D749584F4" + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "customerEmail" + ], + "properties": { + "customerEmail": { + "type": "string", + "description": "Customer email.", + "example": "customer@email.com" + }, + "title": { + "type": "string", + "description": "Subscription title.", + "example": "catFood", + "nullable": true + }, + "status": { + "type": "string", + "nullable": true, + "description": "Status to which you wish to update the subscription.", + "enum": [ + "ACTIVE", + "PAUSED", + "CANCELED", + "EXPIRED", + "MISSING" + ], + "example": "ACTIVE" + }, + "nextPurchaseDate": { + "type": "string", + "description": "Date and time you wish to update the next purchase. The format is [ISO 8601 time zone offset](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "example": "2024-09-21T00:00:00Z" + }, + "isSkipped": { + "type": "boolean", + "description": "Defines if the customer asked to skip the next subscription order (`true`), or not (`false`).", + "example": false + }, + "plan": { + "$ref": "#/components/schemas/PlanRequest" + }, + "shippingAddress": { + "$ref": "#/components/schemas/ShippingAddressRequest" + }, + "purchaseSettings": { + "$ref": "#/components/schemas/PurchaseSettingsRequest" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionGroupResponse" + }, + "example": { + "id": "8B91E3077495AB982117AD0BA4A5829D", + "customerId": "c00a9529-806b-4ef3-a5f7-ed7846a66d3d", + "customerEmail": "customer@email.com", + "title": null, + "status": "PAUSED", + "isSkipped": false, + "nextPurchaseDate": "2024-09-21T15:53:27.0665798Z", + "lastPurchaseDate": "2024-08-21T15:53:27.0665798Z", + "plan": { + "id": "store.subscription.basic", + "frequency": { + "periodicity": "DAILY", + "interval": 1 + }, + "validity": { + "begin": "2024-09-21T15:53:27.0665798Z", + "end": null + }, + "purchaseDay": "Not_Applicable" + }, + "shippingAddress": { + "addressId": "5028945524109", + "addressType": "residential" + }, + "purchaseSettings": { + "paymentMethod": { + "paymentAccountId": "B2BBDD0F2E4B47FC9E48D2DA99C318EF", + "paymentSystem": "6", + "installments": 1, + "paymentSystemName": "Bank Slips", + "paymentSystemGroup": "bankInvoice" + }, + "currencyCode": "BRL", + "selectedSla": "Normal", + "salesChannel": "1", + "seller": "1" + }, + "cycleCount": 0, + "createdAt": "2024-08-21T15:53:27.0665798Z", + "lastUpdate": "0001-01-01T00:00:00", + "items": [ + { + "id": "0F821B992DD848028E3A82C40DBCD834", + "skuId": "9", + "quantity": 1, + "isSkipped": false, + "status": "ACTIVE", + "cycleCount": 0, + "manualPrice": 736.0, + "attachments": null + } + ], + "lastCycleId": null, + "customData": {} + } + } + } + } + } + } + }, + "/api/rns/pub/subscriptions": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "List subscriptions", + "description": "Lists subscriptions from your store. If you wish, you can use query parameters. By default, this request returns the query parameter `page` value `1`, and `size` value `15`.\r\n\r\n>⚠️ The status code response `200 OK` is limited to 15 results. You can get different values by combining pagination query parameters.", + "parameters": [ + { + "name": "customerEmail", + "in": "query", + "required": false, + "description": "Email of a customer that subscrived to your store.", + "schema": { + "type": "string", + "example": "customer@email.com" + } + }, + { + "name": "status", + "in": "query", + "required": false, + "description": "Subscription status. The acceptable values are:\r\n- ACTIVE\r\n- PAUSED\r\n- CANCELED\r\n- EXPIRED\r\n- MISSING", + "schema": { + "type": "string", + "example": "ACTIVE" + } + }, + { + "name": "addressId", + "in": "query", + "required": false, + "description": "Subscription shipping address ID.", + "schema": { + "type": "string", + "example": "5028945524109" + } + }, + { + "name": "paymentId", + "in": "query", + "required": false, + "description": "[Payment method](https://help.vtex.com/en/tutorial/difference-between-payment-methods-and-payment-conditions--3azJenhGFyUy2gsocms42Q) ID. It corresponds to the `paymentAccountId` field.", + "schema": { + "type": "string", + "example": "807E03E56A844BE2B1727B752E19C828" + } + }, + { + "name": "planId", + "in": "query", + "required": false, + "description": "[Subscription plan](https://help.vtex.com/en/tutorial/subscription-plans-beta--5kczKRqHEsrs1tYtRcY8wR) ID.", + "schema": { + "type": "string", + "example": "store.subscription.basic" + } + }, + { + "name": "nextPurchaseDate", + "in": "query", + "required": false, + "description": "Subscription next purchase date in the format `YYYY-MM-DD`.", + "schema": { + "type": "string", + "example": "2024-10-30" + } + }, + { + "name": "originalOrderId", + "in": "query", + "required": false, + "description": "Order ID of when the customer subscribed.", + "schema": { + "type": "string", + "example": "1421091661214-01" + } + }, + { + "name": "page", + "in": "query", + "required": false, + "description": "Number of the starting page of the response. When no value is sent, it starts in page `1`.", + "schema": { + "type": "integer", + "example": 3 + } + }, + { + "name": "size", + "in": "query", + "required": false, + "description": "Determines the number of subscriptions in the response. The maximum is equal to the default value, which is `15`.", + "schema": { + "type": "integer", + "example": 10 + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SubscriptionGroupResponse" + } + }, + "example": [ + { + "id": "F35A8B497EA9E5A6D8F3778CBBA4C9E3", + "customerId": "5aff33ec-5302-4580-a4ed-be9aa32ba3db", + "customerEmail": "customer@email.com", + "title": null, + "status": "ACTIVE", + "isSkipped": false, + "nextPurchaseDate": "2024-08-21T12:00:00Z", + "lastPurchaseDate": "2024-08-19T00:00:00Z", + "plan": { + "id": "store.subscription.ana-plan", + "frequency": { + "periodicity": "DAILY", + "interval": 2 + }, + "validity": { + "begin": "2024-08-01T00:00:00Z", + "end": null + }, + "purchaseDay": "Not_Applicable" + }, + "shippingAddress": { + "addressId": "5028945524109", + "addressType": "residential" + }, + "purchaseSettings": { + "paymentMethod": { + "paymentAccountId": "B2BBDD0F2E4B47FC9E48D2DA99C318EF", + "paymentSystem": "2", + "installments": 1, + "paymentSystemName": "creditCard", + "paymentSystemGroup": "creditCard" + }, + "currencyCode": "BRL", + "selectedSla": "Normal", + "salesChannel": "1", + "seller": "1" + }, + "cycleCount": 9, + "createdAt": "2024-08-01T12:31:55.7308301Z", + "lastUpdate": "2024-08-19T12:16:51.0237801Z", + "items": [ + { + "id": "0213AB4188FE4007A865AD33D972FA37", + "skuId": "9", + "quantity": 1, + "isSkipped": false, + "status": "ACTIVE", + "originalOrderId": "1451256157912-01", + "cycleCount": 9, + "priceAtSubscriptionDate": 736.0, + "manualPrice": 736.0, + "attachments": [ + { + "name": "printMessage", + "content": { + "printMessage": "Hello" + } + } + ] + } + ], + "lastCycleId": "F35A8B497EA9E5A6D8F3778CBBA4C9E3-20240819", + "customData": null + } + ] + } + } + } + } + }, + "post": { + "tags": [ + "Subscriptions" + ], + "summary": "Create subscription", + "description": "Creates a new subscription.", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionGroupRequest" + } + } + } + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionGroupResponse" + }, + "example": { + "id": "8B91E3077495AB982117AD0BA4A5829D", + "customerId": "c00a9529-806b-4ef3-a5f7-ed7846a66d3d", + "customerEmail": "customer@email.com", + "title": null, + "status": "PAUSED", + "isSkipped": false, + "nextPurchaseDate": "2024-09-21T15:53:27.0665798Z", + "lastPurchaseDate": "2024-08-21T15:53:27.0665798Z", + "plan": { + "id": "store.subscription.basic", + "frequency": { + "periodicity": "DAILY", + "interval": 1 + }, + "validity": { + "begin": "2024-09-21T15:53:27.0665798Z", + "end": null + }, + "purchaseDay": "Not_Applicable" + }, + "shippingAddress": { + "addressId": "5028945524109", + "addressType": "residential" + }, + "purchaseSettings": { + "paymentMethod": { + "paymentAccountId": "B2BBDD0F2E4B47FC9E48D2DA99C318EF", + "paymentSystem": "6", + "installments": 1, + "paymentSystemName": "Bank Slips", + "paymentSystemGroup": "bankInvoice" + }, + "currencyCode": "BRL", + "selectedSla": "Normal", + "salesChannel": "1", + "seller": "1" + }, + "cycleCount": 0, + "createdAt": "2024-08-21T15:53:27.0665798Z", + "lastUpdate": "0001-01-01T00:00:00", + "items": [ + { + "id": "0F821B992DD848028E3A82C40DBCD834", + "skuId": "9", + "quantity": 1, + "isSkipped": false, + "status": "ACTIVE", + "cycleCount": 0, + "manualPrice": 736.0, + "attachments": null + } + ], + "lastCycleId": null, + "customData": {} + } + } + } + } + } + } + }, + "/api/rns/pub/subscriptions/{id}/items/{itemId}": { + "delete": { + "tags": [ + "Subscriptions" + ], + "summary": "Remove item from subscription", + "description": "Removes an item from a given subscription.", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "[Subscription](https://help.vtex.com/en/tutorial/how-subscriptions-work--frequentlyAskedQuestions_4453) ID.", + "required": true, + "schema": { + "type": "string", + "example": "8700734451ED4FD4955697873BEC51C3" + } + }, + { + "name": "itemId", + "in": "path", + "description": "Subscription item ID of the SKU being removed from the subscription.", + "required": true, + "schema": { + "type": "string", + "example": "0A6C01CA4582458A9CF8F61A9F6E1A68" + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + }, + "patch": { + "tags": [ + "Subscriptions" + ], + "summary": "Edit item from subscription", + "description": "Edits an item from a given subscription.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "description": "[Subscription](https://help.vtex.com/en/tutorial/how-subscriptions-work--frequentlyAskedQuestions_4453) ID.", + "schema": { + "type": "string", + "example": "8700734451ED4FD4955697873BEC51C3" + } + }, + { + "name": "itemId", + "in": "path", + "required": true, + "description": "ID of the subscription item being edited.", + "schema": { + "type": "string", + "example": "0A6C01CA4582458A9CF8F61A9F6E1A68" + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Subscription status.", + "enum": [ + "ACTIVE", + "PAUSED", + "CANCELED", + "EXPIRED", + "MISSING" + ], + "example": "ACTIVE", + "nullable": true + }, + "isSkipped": { + "type": "boolean", + "description": "Defines if the customer asked to skip the next subscription order (`true`), or not (`false`).", + "example": false, + "nullable": true + }, + "quantity": { + "type": "integer", + "description": "Quantity of units being purchased via subscription.", + "example": 5 + }, + "manualPrice": { + "type": "number", + "description": "You can edit or configure a [manual price](https://help.vtex.com/en/tutorial/change-the-price-of-an-item-in-the-shopping-cart--7Cd37aCAmtL1qmoZJJvjNf) for the item, if you wish.", + "example": 400.3 + } + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionGroupResponse" + }, + "example": { + "id": "F35A8B497EA9E5A6D8F3778CBBA4C9E3", + "customerId": "5aff33ec-5302-4580-a4ed-be9aa32ba3db", + "customerEmail": "customer@email.com", + "title": null, + "status": "ACTIVE", + "isSkipped": false, + "nextPurchaseDate": "2024-08-21T12:00:00Z", + "lastPurchaseDate": "2024-08-19T00:00:00Z", + "plan": { + "id": "store.subscription.ana-plan", + "frequency": { + "periodicity": "DAILY", + "interval": 2 + }, + "validity": { + "begin": "2024-08-01T00:00:00Z", + "end": null + }, + "purchaseDay": "Not_Applicable" + }, + "shippingAddress": { + "addressId": "5028945524109", + "addressType": "residential" + }, + "purchaseSettings": { + "paymentMethod": { + "paymentAccountId": "B2BBDD0F2E4B47FC9E48D2DA99C318EF", + "paymentSystem": "2", + "installments": 1, + "paymentSystemName": "creditCard", + "paymentSystemGroup": "creditCard" + }, + "currencyCode": "BRL", + "selectedSla": "Normal", + "salesChannel": "1", + "seller": "1" + }, + "cycleCount": 9, + "createdAt": "2024-08-01T12:31:55.7308301Z", + "lastUpdate": "2024-08-19T12:16:51.0237801Z", + "items": [ + { + "id": "0213AB4188FE4007A865AD33D972FA37", + "skuId": "9", + "quantity": 1, + "isSkipped": false, + "status": "ACTIVE", + "originalOrderId": "1451256157912-01", + "cycleCount": 9, + "priceAtSubscriptionDate": 736.0, + "manualPrice": 736.0, + "attachments": [ + { + "name": "printMessage", + "content": { + "printMessage": "Hello" + } + } + ] + } + ], + "lastCycleId": "F35A8B497EA9E5A6D8F3778CBBA4C9E3-20240819", + "customData": null + } + } + } + } + } + } + }, + "/api/rns/pub/subscriptions/{id}/items": { + "post": { + "tags": [ + "Subscriptions" + ], + "summary": "Add item to subscription", + "description": "Adds a new item to a given subscription.", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "[Subscription](https://help.vtex.com/en/tutorial/how-subscriptions-work--frequentlyAskedQuestions_4453) ID.", + "required": true, + "schema": { + "type": "string", + "example": "8700734451ED4FD4955697873BEC51C3" + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "skuId", + "quantity" + ], + "properties": { + "skuId": { + "type": "string", + "description": "ID of the SKU being added to the subscription.", + "example": "12" + }, + "quantity": { + "type": "integer", + "description": "Quantity of units being purchased in each subscription order.", + "example": 5 + }, + "manualPrice": { + "type": "number", + "description": "You can configure a [manual price](https://help.vtex.com/en/tutorial/change-the-price-of-an-item-in-the-shopping-cart--7Cd37aCAmtL1qmoZJJvjNf) for the subscription item, if you wish.", + "example": 400.3, + "nullable": true + } + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionGroupResponse" + }, + "example": { + "id": "F35A8B497EA9E5A6D8F3778CBBA4C9E3", + "customerId": "5aff33ec-5302-4580-a4ed-be9aa32ba3db", + "customerEmail": "customer@email.com", + "title": null, + "status": "ACTIVE", + "isSkipped": false, + "nextPurchaseDate": "2024-08-21T12:00:00Z", + "lastPurchaseDate": "2024-08-19T00:00:00Z", + "plan": { + "id": "vtex.subscription.ana-plan", + "frequency": { + "periodicity": "DAILY", + "interval": 2 + }, + "validity": { + "begin": "2024-08-01T00:00:00Z", + "end": null + }, + "purchaseDay": "Not_Applicable" + }, + "shippingAddress": { + "addressId": "5028945524109", + "addressType": "residential" + }, + "purchaseSettings": { + "paymentMethod": { + "paymentAccountId": "B2BBDD0F2E4B47FC9E48D2DA99C318EF", + "paymentSystem": "2", + "installments": 1, + "paymentSystemName": "creditCard", + "paymentSystemGroup": "creditCard" + }, + "currencyCode": "BRL", + "selectedSla": "Normal", + "salesChannel": "1", + "seller": "1" + }, + "cycleCount": 9, + "createdAt": "2024-08-01T12:31:55.7308301Z", + "lastUpdate": "2024-08-19T12:16:51.0237801Z", + "items": [ + { + "id": "0213AB4188FE4007A865AD33D972FA37", + "skuId": "9", + "quantity": 1, + "isSkipped": false, + "status": "ACTIVE", + "originalOrderId": "1451256157912-01", + "cycleCount": 9, + "priceAtSubscriptionDate": 736.0, + "manualPrice": 736.0, + "attachments": [ + { + "name": "printMessage", + "content": { + "printMessage": "Hello" + } + } + ] + } + ], + "lastCycleId": "F35A8B497EA9E5A6D8F3778CBBA4C9E3-20240819", + "customData": null + } + } + } + } + } + } + }, + "/api/rns/pub/subscriptions/{id}/simulate": { + "post": { + "tags": [ + "Subscriptions" + ], + "summary": "Calculate the current prices for a subscription", + "description": "Simulates an order made by the specific subscription on checkout and retrieves the current price for items and shipping.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "description": "[Subscription](https://help.vtex.com/en/tutorial/how-subscriptions-work--frequentlyAskedQuestions_4453) ID.", + "schema": { + "type": "string", + "example": "8700734451ED4FD4955697873BEC51C3" + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SimulateResponseVO" + }, + "example": { + "simulation": { + "items": [ + { + "id": "9", + "seller": "1", + "quantity": 1, + "price": 12960, + "sellingPrice": 12960, + "manualPrice": null, + "unitMultiplier": 1.0, + "measurementUnit": "un", + "attachments": null, + "name": null, + "isGift": false, + "priceTags": [] + } + ], + "logisticsInfo": [ + { + "itemIndex": 0, + "quantity": 1, + "selectedSla": "Normal", + "selectedDeliveryChannel": "delivery", + "lockTTL": "1bd", + "shippingEstimate": null, + "addressId": "5028945524109", + "pickupId": null, + "price": 0, + "deliveryWindow": null, + "slas": [ + { + "id": "Normal", + "pickupPointId": null, + "deliveryChannel": "delivery", + "price": 500, + "shippingEstimate": "3bd", + "lockTTL": "1bd", + "deliveryWindows": [], + "availableDeliveryWindows": [] + } + ] + } + ], + "paymentData": { + "payments": [ + { + "id": null, + "paymentSystem": "6", + "group": null, + "bin": null, + "accountId": null, + "parentAccountId": null, + "referenceValue": 13460, + "value": 13460, + "installments": 1, + "url": null, + "cardNumber": null, + "fields": null, + "paymentSystemName": null + } + ], + "transactions": [] + }, + "country": null, + "postalCode": null, + "messages": [], + "selectableGifts": [], + "totals": [ + { + "id": "Items", + "name": "Items total", + "value": 12960 + }, + { + "id": "Shipping", + "name": "Shipping total", + "value": 500 + } + ], + "totalsBySimulationItems": [ + { + "id": "9", + "quantity": 1, + "unitPrice": 12960, + "status": "OK", + "price": null, + "sellingPrice": 12960, + "manualPrice": null + } + ] + }, + "shippingEstimate": { + "name": "Normal", + "estimate": "3bd", + "estimatedDeliveryDate": "2024-08-26T00:00:00Z", + "nextPurchaseDate": "2024-09-26T00:00:00Z", + "matched": true + }, + "totalsBySimulationItems": [ + { + "id": "9", + "quantity": 1, + "unitPrice": 12960, + "status": "OK", + "price": 12960, + "sellingPrice": 12960, + "manualPrice": null + } + ], + "totals": [ + { + "id": "Items", + "value": 12960.0 + }, + { + "id": "Shipping", + "value": 500.0 + } + ] + } + } + } + } + } + } + }, + "/api/rns/pub/subscriptions/simulate": { + "post": { + "tags": [ + "Subscriptions" + ], + "summary": "Calculate the current prices for the provided subscription template", + "description": "Simulates an order made by subscriptions on checkout and retrieves the current price for items and shipping.", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionGroupRequest" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SimulateResponseVO" + }, + "example": { + "simulation": { + "items": [ + { + "id": "9", + "seller": "1", + "quantity": 1, + "price": 12960, + "sellingPrice": 12960, + "manualPrice": null, + "unitMultiplier": 1.0, + "measurementUnit": "un", + "attachments": null, + "name": null, + "isGift": false, + "priceTags": [] + } + ], + "logisticsInfo": [ + { + "itemIndex": 0, + "quantity": 1, + "selectedSla": "Normal", + "selectedDeliveryChannel": "delivery", + "lockTTL": "1bd", + "shippingEstimate": null, + "addressId": "5028945524109", + "pickupId": null, + "price": 0, + "deliveryWindow": null, + "slas": [ + { + "id": "Normal", + "pickupPointId": null, + "deliveryChannel": "delivery", + "price": 500, + "shippingEstimate": "3bd", + "lockTTL": "1bd", + "deliveryWindows": [], + "availableDeliveryWindows": [] + } + ] + } + ], + "paymentData": { + "payments": [ + { + "id": null, + "paymentSystem": "6", + "group": null, + "bin": null, + "accountId": null, + "parentAccountId": null, + "referenceValue": 13460, + "value": 13460, + "installments": 1, + "url": null, + "cardNumber": null, + "fields": null, + "paymentSystemName": null + } + ], + "transactions": [] + }, + "country": null, + "postalCode": null, + "messages": [], + "selectableGifts": [], + "totals": [ + { + "id": "Items", + "name": "Items total", + "value": 12960 + }, + { + "id": "Shipping", + "name": "Shipping total", + "value": 500 + } + ], + "totalsBySimulationItems": [ + { + "id": "9", + "quantity": 1, + "unitPrice": 12960, + "status": "OK", + "price": null, + "sellingPrice": 12960, + "manualPrice": null + } + ] + }, + "shippingEstimate": { + "name": "Normal", + "estimate": "3bd", + "estimatedDeliveryDate": "2024-08-26T00:00:00Z", + "nextPurchaseDate": "2024-09-26T00:00:00Z", + "matched": true + }, + "totalsBySimulationItems": [ + { + "id": "9", + "quantity": 1, + "unitPrice": 12960, + "status": "OK", + "price": 12960, + "sellingPrice": 12960, + "manualPrice": null + } + ], + "totals": [ + { + "id": "Items", + "value": 12960.0 + }, + { + "id": "Shipping", + "value": 500.0 + } + ] + } + } + } + } + } + } + }, + "/api/rns/pub/subscriptions/{subscriptionId}/conversation-message": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Get conversation messages", + "description": "Retrieve all conversation messages sent to a customer regarding a subscription.", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "[Subscription](https://help.vtex.com/en/tutorial/how-subscriptions-work--frequentlyAskedQuestions_4453) ID.", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "default": "123456789abc" + } + }, + { + "name": "Content-Type", + "in": "header", + "description": "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", + "example": "application/json" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "description": "Each message exchanged with the customer related to the subscription.", + "properties": { + "id": { + "type": "string", + "description": "Message ID." + }, + "from": { + "type": "object", + "description": "Information regarding the message sender.", + "properties": { + "conversationRelatedTo": { + "type": "string", + "description": "ID of the subscription related to the message." + }, + "conversationSubject": { + "type": "string", + "description": "Subject of the conversation." + }, + "emailAlias": { + "type": "string", + "description": "Email alias." + }, + "aliasMaskType": { + "type": "string", + "description": "Alias [mask type](https://help.vtex.com/en/tutorial/how-communication-with-the-client-is-made-during-the-order-flow--tutorials_195)." + }, + "email": { + "type": "string", + "description": "Sender email address." + }, + "name": { + "type": "string", + "description": "Sender name." + }, + "role": { + "type": "string", + "description": "Sender [role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc).", + "nullable": true + } + } + }, + "to": { + "type": "array", + "description": "Information regarding the message receiver.", + "items": { + "type": "object", + "description": "Message receiver details.", + "properties": { + "conversationRelatedTo": { + "type": "string", + "description": "ID of the subscription related to the message." + }, + "conversationSubject": { + "type": "string", + "description": "Subject of the conversation." + }, + "emailAlias": { + "type": "string", + "description": "Email alias." + }, + "aliasMaskType": { + "type": "string", + "description": "Alias [mask type](https://help.vtex.com/en/tutorial/how-communication-with-the-client-is-made-during-the-order-flow--tutorials_195)." + }, + "email": { + "type": "string", + "description": "Customer email address." + }, + "name": { + "type": "string", + "description": "Customer name." + }, + "role": { + "type": "string", + "description": "Role identification." + } + } + } + }, + "subject": { + "type": "string", + "description": "Message subject." + }, + "firstWords": { + "type": "string", + "description": "First words of the message text." + }, + "body": { + "type": "string", + "description": "HTML content of the message's body." + }, + "hasAttachment": { + "type": "boolean", + "description": "Indicates if the message has [attachments](https://help.vtex.com/en/tutorial/what-is-an-attachment--aGICk0RVbqKg6GYmQcWUm) (`true`) or not (`false`)." + }, + "attachmentNames": { + "type": "array", + "description": "Attachment names.", + "nullable": true, + "items": { + "type": "string", + "description": "Attachment name.", + "nullable": true + } + }, + "date": { + "type": "string", + "description": "Message date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + } + } + } + }, + "example": [ + { + "id": "2024-07-25t22-01-08_80e67e10318d4a73a66dbfdb3d471cfb", + "from": { + "conversationRelatedTo": "875a3b36d02e17058ed46e5b0c50353c", + "conversationSubject": "rns", + "emailAlias": "a506b3df1b584381b2838447a44d0579@ct.vtex.com.br", + "aliasMaskType": "0", + "email": "noreply@vtexcommerce.com.br", + "name": "no reply", + "role": null + }, + "to": [ + { + "conversationRelatedTo": "875a3b36d02e17058ed46e5b0c50353c", + "conversationSubject": "rns", + "emailAlias": "dda23454991e4cfea71ca7beb4ec0aad@ct.vtex.com.br", + "aliasMaskType": "0", + "email": "sophia.smith@email.com", + "name": "Sophia Smith", + "role": "Customer" + } + ], + "subject": "Your subscription was confirmed", + "firstWords": "Hello, your subscription was successfully created! We will email you a confirmation after each order payment is approved.", + "body": " test
Próxima compra
25/12/2021
Entrega estimada
13/01/2022
************2503
!important; \" align=\"left\">

Atenciosamente,
Equipe CeA.

", + "hasAttachment": false, + "attachmentNames": [], + "date": "2024-07-25T22:01:25Z" + } + ] + } + } + } + } + } + }, + "/api/rns/settings": { + "get": { + "tags": [ + "Settings" + ], + "summary": "Get subscriptions settings", + "description": "Retrieves information about the subscriptions settings of your store.", + "operationId": "GetSettings", + "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": { + "schema": { + "$ref": "#/components/schemas/Settings" + }, + "example": { + "slaOption": "STORE_CHOICE", + "defaultSla": "Express", + "isUsingV3": true, + "onMigrationProcess": false, + "executionHourInUtc": 9, + "workflowVersion": "1.1", + "deliveryChannels": [ + "delivery", + "pickupInPoint" + ], + "randomIdGeneration": false, + "isMultipleInstallmentsEnabledOnCreation": true, + "isMultipleInstallmentsEnabledOnUpdate": true, + "attachmentPreferences": { + "enableAttachments": false, + "splitSameSkuWithDifferentAttachments": false + }, + "orderCustomDataAppId": "customData.customFieldName", + "postponeExpiration": false, + "manualPriceAllowed": true, + "useItemPriceFromOriginalOrder": true + } + } + } + } + } + }, + "post": { + "tags": [ + "Settings" + ], + "summary": "Edit subscriptions settings", + "description": "Edits the subscriptions settings of your store. This configurations apply to all subscriptions.", + "operationId": "EditSettings", + "parameters": [ + { + "name": "Content-Type", + "in": "header", + "description": "Type of the content being sent.", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "default": "application/json" + } + }, + { + "name": "Accept", + "in": "header", + "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "default": "application/json" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "slaOption", + "defaultSla", + "isUsingV3", + "onMigrationProcess", + "executionHourInUtc", + "workflowVersion", + "deliveryChannels", + "randomIdGeneration", + "isMultipleInstallmentsEnabledOnCreation", + "isMultipleInstallmentsEnabledOnUpdate", + "orderCustomDataAppId", + "postponeExpiration", + "manualPriceAllowed", + "useItemPriceFromOriginalOrder" + ], + "properties": { + "slaOption": { + "description": "Service Level Agreement (SLA) option, which is the shipping method. The possible values are:\r\n- `NONE`: The platform automatically chooses the smallest cost for shipping method at the time of the subscription cycle generation. The `defaultSla` field must remain `null`.\r\n- `CHEAPEST`: Smallest cost for shipping method at the time of cycle generation. The `defaultSla` field must remain `null`.\r\n- `CUSTOMER_CHOICE`: The customer can select the desired shipping method at checkout for every new subscription order. The `defaultSla` field must remain `null`.\r\n- `STORE_CHOICE`: The store sets the preferred shipping method. This is configured in the `defaultSla` field.", + "type": "string", + "enum": [ + "NONE", + "CHEAPEST", + "CUSTOMER_CHOICE", + "STORE_CHOICE" + ], + "example": "STORE_CHOICE" + }, + "defaultSla": { + "description": "This field contains the shipping method set by the store for new cycle generation. The only case when its value is not `null` is when the `slaOption` field is set as `STORE_CHOICE`.", + "type": "string", + "nullable": true, + "example": "Express" + }, + "isUsingV3": { + "description": "Indicates if the store uses the updated Subscriptions V3 (`true`) or a previous version (`false`).", + "type": "boolean", + "example": true + }, + "onMigrationProcess": { + "description": "Indicates whether or not the account is in the migration process to Subscriptions V3.", + "type": "boolean", + "example": false + }, + "executionHourInUtc": { + "description": "Indicates the time future subscription orders will be generated.", + "type": "integer", + "example": 9 + }, + "workflowVersion": { + "description": "Workflow version.", + "type": "string", + "example": "1.1" + }, + "deliveryChannels": { + "description": "Array containing delivery channels.", + "type": "array", + "items": { + "description": "Type of delivery channel. The values that are possible are: `pickupInPoint` for [pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R) and `delivery` for regular delivery.", + "type": "string", + "example": "delivery", + "enum": [ + "delivery", + "pickupInPoint" + ] + } + }, + "randomIdGeneration": { + "description": "Defines if subscription order IDs will be randomly generated (`true`) or not (`false`).", + "type": "boolean", + "example": false + }, + "isMultipleInstallmentsEnabledOnCreation": { + "description": "Defines if the store allows multiple installments when a subscription is created (`true`) or not (`false`).", + "type": "boolean", + "example": true + }, + "isMultipleInstallmentsEnabledOnUpdate": { + "description": "Defines if the store allows multiple installments when the subscription is updated (`true`) or not (`false`).", + "type": "boolean", + "example": true + }, + "attachmentPreferences": { + "type": "object", + "description": "Store settings on how to process original orders with SKUs that contain [attachments](https://help.vtex.com/en/tutorial/what-is-an-attachment--aGICk0RVbqKg6GYmQcWUm).", + "properties": { + "enableAttachments": { + "type": "boolean", + "description": "Defines if the store [keeps attachments from original orders](https://developers.vtex.com/docs/guides/how-to-keep-attachments-from-original-orders-in-subscriptions) and subscription orders incorporate them (`true`) or if these attachments are disconsidered (`false`). By default, this field is set as `false`.", + "example": false + }, + "splitSameSkuWithDifferentAttachments": { + "type": "boolean", + "description": "Defines if the [same SKUs that contain different attachments](https://developers.vtex.com/docs/guides/how-to-keep-attachments-from-original-orders-in-subscriptions) in the original order are split (`true`) or not (`false`). By default, this field is set as `false`. It can only be set as `true` if the `enableAttachments` field is also set as `true`.", + "example": false + } + } + }, + "orderCustomDataAppId": { + "description": "When there are custom fields configured, this field passes along the `customData` information in the original order to the next subscriptions orders.", + "type": "string", + "example": "customData.customFieldName", + "nullable": true + }, + "postponeExpiration": { + "description": "Defines if the expiration of subscriptions can be postponed (`true`) or not (`false`).", + "type": "boolean", + "example": false + }, + "manualPriceAllowed": { + "description": "When set to `true`, this property enables [manual price](https://help.vtex.com/en/tutorial/change-the-price-of-an-item-in-the-shopping-cart--7Cd37aCAmtL1qmoZJJvjNf) configuration in subscription items. This is valid for all existing subscriptions, provided that there is a manual price configured and that the `isUsingV3` field is set as `true`.", + "type": "boolean", + "example": true + }, + "useItemPriceFromOriginalOrder": { + "description": "When set to `true`, this property enables using the manual price for each item from the original subscription order. This is only valid for new subscriptions created from the moment this configuration is enabled. For this to work, it is mandatory that the `manualPriceAllowed` and `isUsingV3` properties are set to `true`.", + "type": "boolean", + "example": true + } + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Settings" + }, + "example": { + "slaOption": "STORE_CHOICE", + "defaultSla": "Express", + "isUsingV3": true, + "onMigrationProcess": false, + "executionHourInUtc": 9, + "workflowVersion": "1.1", + "deliveryChannels": [ + "delivery", + "pickupInPoint" + ], + "randomIdGeneration": false, + "isMultipleInstallmentsEnabledOnCreation": true, + "isMultipleInstallmentsEnabledOnUpdate": true, + "orderCustomDataAppId": "customData.customFieldName", + "postponeExpiration": false, + "manualPriceAllowed": true, + "useItemPriceFromOriginalOrder": true + } + } + } + } + } + } + } + }, + "security": [ + { + "appKey": [], + "appToken": [] + }, + { + "VtexIdclientAutCookie": [] + } + ], + "components": { + "securitySchemes": { + "appKey": { + "type": "apiKey", + "in": "header", + "name": "X-VTEX-API-AppKey", + "description": "Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." + }, + "appToken": { + "type": "apiKey", + "in": "header", + "name": "X-VTEX-API-AppToken", + "description": "Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." + }, + "VtexIdclientAutCookie": { + "type": "apiKey", + "in": "header", + "name": "VtexIdclientAutCookie", + "description": "[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours." + } + }, + "schemas": { + "SimulationItemResult": { + "type": "object", + "description": "Simulation information about an item.", + "properties": { + "id": { + "type": "string", + "description": "SKU ID.", + "nullable": true + }, + "quantity": { + "type": "integer", + "description": "Quantity of units for the given SKU." + }, + "unitPrice": { + "type": "integer", + "format": "int64", + "description": "Unit price in cents.", + "nullable": true + }, + "status": { + "type": "string", + "description": "Subscription cycle status in the simulation." + }, + "price": { + "type": "integer", + "description": "Price in cents.", + "nullable": true + }, + "sellingPrice": { + "type": "integer", + "description": "Selling price in cents." + }, + "manualPrice": { + "type": "number", + "description": "[Manual price](https://help.vtex.com/en/tutorial/change-the-price-of-an-item-in-the-shopping-cart--7Cd37aCAmtL1qmoZJJvjNf).", + "nullable": true + } + } + }, + "SubscriptionCycleResponse": { + "type": "object", + "description": "Object with information about the subscription cycle.", + "properties": { + "id": { + "type": "string", + "description": "Cycle ID. When the `cycleCount` value is `1`, the `id` value will be the same as the `subscriptionId` value." + }, + "subscriptionId": { + "type": "string", + "description": "[Subscription](https://help.vtex.com/en/tutorial/how-subscriptions-work--frequentlyAskedQuestions_4453) ID." + }, + "workflowId": { + "type": "string", + "description": "Code that identifies the subscription in the [order flow](https://help.vtex.com/en/tutorial/order-flow-and-status--tutorials_196)." + }, + "status": { + "type": "string", + "description": "Subscription cycle execution status. The possible values are:\r\n- `TRIGGERED`: Execution has been triggered. \r\n- `IN_PROCESS`: Execution is being processed by the system.\r\n- `FAILURE`: An internal error occurred during the subscription execution.\r\n- `SUCCESS`: Successful cycle processing.\r\n- `EXPIRED`: The subscription was not renewed, and the period for which it was valid has ended.\r\n- `ORDER_ERROR`: Cycle was not executed due to an error in order placement.\r\n- `PAYMENT_ERROR`: Cycle was not executed due to an error in the payment.\r\n- `SKIPED`: A subscription cycle execution was skipped, and the subscription will be executed in the next cycle.\r\n- `SUCCESS_WITH_NO_ORDER`: Cycle was executed successfully, and the linked order has no items.\r\n- `SUCCESS_WITH_PARTIAL_ORDER`: Cycle was executed successfully, and has a linked partial order.\r\n- `RE_TRIGGERED`: Execution retry was triggered manually.\r\n- `SCHEDULE_UPDATED`: The next subscription cycle execution date has been updated.", + "enum": [ + "TRIGGERED", + "IN_PROCESS", + "FAILURE", + "SUCCESS", + "EXPIRED", + "ORDER_ERROR", + "PAYMENT_ERROR", + "SKIPED", + "SUCCESS_WITH_NO_ORDER", + "SUCCESS_WITH_PARTIAL_ORDER", + "RE_TRIGGERED", + "SCHEDULE_UPDATED" + ] + }, + "customerEmail": { + "type": "string", + "description": "Customer email." + }, + "customerId": { + "type": "string", + "description": "Customer ID." + }, + "date": { + "type": "string", + "format": "date-time", + "description": "Current date and time in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Subscription cycle last update date and time in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "cycleCount": { + "type": "integer", + "description": "The cycle determines the position of an order counting from when the shopper subscribed. The original order that creates the subscription corresponds to cycle count `0`, the first subscription order corresponds to `1`, the second corresponds to `2`, and so on." + }, + "isInRetry": { + "type": "boolean", + "description": "Defines if the cycle execution is in retry (`true`), or not (`false`)." + }, + "message": { + "type": "string", + "description": "Cycle execution message.", + "nullable": true + }, + "friendlyMessage": { + "type": "string", + "description": "Cycle execution friendly message.", + "nullable": true + }, + "plan": { + "$ref": "#/components/schemas/PlanResponse" + }, + "orderInfo": { + "type": "object", + "description": "Subscription order information.", + "properties": { + "orderId": { + "type": "string", + "description": "Order ID." + }, + "orderGroup": { + "type": "string", + "description": "Order group ID." + }, + "paymentURL": { + "type": "string", + "description": "Order payment URL.", + "nullable": true + }, + "value": { + "type": "integer", + "format": "int64", + "description": "Order value in cents." + } + } + }, + "context": { + "type": "object", + "description": "Subscription cycle context.", + "properties": { + "items": { + "type": "array", + "description": "Information about subscription cycle items.", + "nullable": true, + "items": { + "type": "object", + "description": "Subscription item information.", + "properties": { + "subscriptionItemId": { + "type": "string", + "nullable": true, + "description": "Subscription item ID." + }, + "skuId": { + "type": "string", + "nullable": true, + "description": "SKU ID." + }, + "quantity": { + "type": "integer", + "description": "Quantity of item units.", + "nullable": true + }, + "status": { + "type": "string", + "description": "Subscription status.", + "nullable": true, + "enum": [ + "ACTIVE", + "PAUSED", + "CANCELED", + "EXPIRED", + "MISSING" + ] + }, + "isSkipped": { + "type": "boolean", + "description": "Defines if the customer asked to skip the item in the next subscription order (`true`), or not (`false`).", + "nullable": true + }, + "cycleCount": { + "type": "integer", + "description": "The cycle determines the position of an order counting from when the shopper subscribed. The original order that creates the subscription corresponds to cycle count `0`, the first subscription order corresponds to `1`, the second corresponds to `2`, and so on.", + "nullable": true + } + } + } + }, + "paymentSystem": { + "type": "string", + "description": "Payment system ID.", + "nullable": true + }, + "paymentSystemName": { + "type": "string", + "description": "Payment system name.", + "nullable": true + }, + "paymentSystemGroup": { + "type": "string", + "description": "Payment system group.", + "nullable": true + }, + "paymentAccountId": { + "type": "string", + "description": "Information about the customer profile and their documents, such as a credit card number. You can also retrieve that information using the [Get client profile by email](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pub/profiles) endpoint.", + "nullable": true + }, + "addressId": { + "type": "string", + "description": "Shipping address ID.", + "nullable": true + }, + "addressType": { + "type": "string", + "description": "Shipping address type.", + "nullable": true + }, + "catalogAttachment": { + "type": "string", + "description": "Subscription [attachment](https://help.vtex.com/en/tutorial/what-is-an-attachment--aGICk0RVbqKg6GYmQcWUm) content, when applicable.", + "nullable": true + } + } + }, + "simulationItems": { + "type": "array", + "description": "Subscription simulation items.", + "items": { + "$ref": "#/components/schemas/SimulationItemResult" + }, + "nullable": true + } + } + }, + "StorePlan": { + "type": "object", + "description": "Subscription [plan](https://help.vtex.com/en/tutorial/subscription-plans-beta--5kczKRqHEsrs1tYtRcY8wR) object.", + "properties": { + "id": { + "type": "string", + "description": "Subscription plan ID." + }, + "frequencies": { + "type": "array", + "description": "Array of the plan frequencies.", + "items": { + "type": "object", + "description": "Information about the plan periodicity and interval.", + "properties": { + "periodicity": { + "type": "string", + "description": "Repurchase frequency requested by the customer, defines the subscriptions recurrence period.", + "nullable": true, + "enum": [ + "DAILY", + "WEEKLY", + "MONTHLY", + "YEARLY" + ] + }, + "interval": { + "type": "integer", + "description": "Time interval configured between subscription orders, which depends on the periodicity. For a `DAILY` periodicity, the value will be days, for `MONTHLY` it will be months, and so on." + } + } + } + }, + "isActive": { + "type": "boolean", + "description": "Defines if the plan is active (`true`) or not (`false`)." + }, + "importInProgress": { + "type": "boolean", + "description": "Defines if a SKU importing process is in progress (`true`) or not (`false`)." + }, + "attachmentId": { + "type": "integer", + "description": "Plan attachment ID." + }, + "isValid": { + "type": "boolean", + "description": "Defines if the plan is valid (`true`) or not (`false`)." + }, + "validationMessages": { + "type": "array", + "description": "List of validation messages.", + "nullable": true, + "items": { + "type": "string", + "description": "Validation message." + } + }, + "validity": { + "type": "object", + "description": "Information about the period during which the subscription plan will be valid.", + "nullable": true, + "properties": { + "begin": { + "type": "string", + "format": "date-time", + "description": "Subscription plan beginning date and time in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "end": { + "type": "string", + "format": "date-time", + "description": "Subscription plan ending date and time in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + } + } + }, + "purchaseDays": { + "type": "array", + "description": "Time reference in which subscription orders will be created.", + "items": { + "type": "string", + "description": "Time reference in which subscription orders will be created. It will depend on the cycle periodicity, for `WEEKLY` subscriptions, for example, the purchase day could be `Sunday`. For `MONTHLY`, would be `7`, as in the 7th day of the month. When the subscription periodicity is `DAILY`, this field corresponds to `Not_Applicable`." + } + } + } + }, + "ReportResponse": { + "type": "object", + "description": "Subscription report information.", + "properties": { + "id": { + "type": "string", + "description": "Report document ID." + }, + "finished": { + "type": "boolean", + "description": "Defines if the report is finished (`true`) or not (`false`)." + }, + "recordsProcessed": { + "type": "integer", + "description": "Number of records processed at the moment." + }, + "recordsSum": { + "type": "integer", + "description": "Total number of records to be processed.", + "nullable": true + }, + "startDate": { + "type": "string", + "description": "Report starting date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "lastUpdateTime": { + "type": "string", + "description": "Report last update date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "completedDate": { + "type": "string", + "description": "Report completion date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "errorCount": { + "type": "integer", + "description": "Error counting numbers, when applicable.", + "nullable": true + }, + "percentageProcessed": { + "type": "number", + "description": "Report processing percentage." + }, + "enqueueDate": { + "type": "string", + "description": "Request enqueue date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "email": { + "type": "string", + "description": "Email of the user that receives the report." + }, + "canceled": { + "type": "boolean", + "description": "Defines if the report is canceled (`true`) or not (`false`)." + }, + "outputType": { + "type": "string", + "description": "Report file extension.", + "nullable": true + }, + "zipped": { + "type": "boolean", + "description": "Defines if the report file is zipped (`true`) or not (`false`)." + }, + "linkToDownload": { + "type": "string", + "description": "Link do download the report.", + "nullable": true + }, + "lastErrorMessage": { + "type": "string", + "description": "Error last message, when applicable.", + "nullable": true + }, + "statusMessage": { + "type": "string", + "description": "Report status message." + } + } + }, + "PlanResponse": { + "type": "object", + "description": "[Subscription plan](https://help.vtex.com/en/tutorial/subscription-plans-beta--5kczKRqHEsrs1tYtRcY8wR) object.", + "required": [ + "frequency", + "id", + "purchaseDay", + "validity" + ], + "properties": { + "id": { + "type": "string", + "description": "Subscription plan ID.", + "nullable": true + }, + "frequency": { + "type": "object", + "description": "Subscription plan frequency.", + "required": [ + "interval", + "periodicity" + ], + "properties": { + "periodicity": { + "type": "string", + "description": "Plan repurchase frequency, defines the subscription recurrence.", + "nullable": true, + "enum": [ + "DAILY", + "WEEKLY", + "MONTHLY", + "YEARLY" + ] + }, + "interval": { + "type": "integer", + "description": "Time interval configured between subscription orders, which depends on the periodicity. For a `DAILY` periodicity, the value will be days, for `MONTHLY` it will be months, and so on." + } + } + }, + "validity": { + "type": "object", + "description": "Information about the period during which the subscription plan will be valid.", + "required": [ + "begin" + ], + "properties": { + "begin": { + "type": "string", + "description": "Subscription plan beginning date and time in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "end": { + "type": "string", + "description": "Subscription plan ending date and time in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + } + } + }, + "purchaseDay": { + "type": "string", + "description": "Time reference in which subscription orders will be created. It will depend on the cycle periodicity, for `WEEKLY` subscriptions, for example, the purchase day could be `Sunday`. For `MONTHLY`, would be `7`, as in the 7th day of the month. When the subscription periodicity is `DAILY`, this field corresponds to `Not_Applicable`." + } + } + }, + "SubscriptionGroupResponse": { + "type": "object", + "description": "Information about a given subscription.", + "required": [ + "createdAt", + "customerEmail", + "customerId", + "cycleCount", + "id", + "isSkipped", + "items", + "lastUpdate", + "nextPurchaseDate", + "plan", + "purchaseSettings", + "shippingAddress", + "status" + ], + "properties": { + "id": { + "type": "string", + "description": "[Subscription](https://help.vtex.com/en/tutorial/how-subscriptions-work--frequentlyAskedQuestions_4453) ID." + }, + "customerId": { + "type": "string", + "description": "Customer ID." + }, + "customerEmail": { + "type": "string", + "description": "Customer email." + }, + "title": { + "type": "string", + "description": "Subscription title.", + "nullable": true + }, + "status": { + "type": "string", + "description": "Subscription status.", + "enum": [ + "ACTIVE", + "PAUSED", + "CANCELED", + "EXPIRED", + "MISSING" + ] + }, + "isSkipped": { + "type": "boolean", + "description": "Defines if the customer asked to skip the next subscription order (`true`), or not (`false`)." + }, + "nextPurchaseDate": { + "type": "string", + "description": "Next purchase date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "lastPurchaseDate": { + "type": "string", + "description": "Last purchase date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "plan": { + "$ref": "#/components/schemas/PlanResponse" + }, + "shippingAddress": { + "type": "object", + "description": "Information about the subscription shipping address.", + "required": [ + "addressId", + "addressType" + ], + "properties": { + "addressId": { + "type": "string", + "description": "Shipping address ID or [pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R) ID, according to the shipping address type." + }, + "addressType": { + "type": "string", + "description": "Type of the address. The possible values are `residential`, when the customer gives an address for delivery, or `pickup`, when the customer picks the order at a pickup point.", + "enum": [ + "residential", + "pickup" + ] + } + } + }, + "purchaseSettings": { + "type": "object", + "description": "Object with purchase information.", + "required": [ + "currencyCode", + "paymentMethod" + ], + "properties": { + "paymentMethod": { + "type": "object", + "description": "[Payment method](https://help.vtex.com/en/tutorial/difference-between-payment-methods-and-payment-conditions--3azJenhGFyUy2gsocms42Q) information.", + "required": [ + "paymentSystem" + ], + "properties": { + "paymentAccountId": { + "type": "string", + "description": "Payment account ID.", + "nullable": true + }, + "paymentSystem": { + "type": "string", + "description": "Payment system ID." + }, + "installments": { + "type": "integer", + "description": "Number of installments." + }, + "paymentSystemName": { + "type": "string", + "description": "Payment system name." + }, + "paymentSystemGroup": { + "type": "string", + "description": "Payment system group." + } + } + }, + "currencyCode": { + "type": "string", + "description": "Currency code in [ISO 4217](https://www.iban.com/currency-codes) format." + }, + "selectedSla": { + "type": "string", + "description": "Selected Service Level Agreement (SLA)." + }, + "salesChannel": { + "type": "string", + "description": "Sales channel ([trade policy](https://help.vtex.com/en/tutorial/how-trade-policies-work--6Xef8PZiFm40kg2STrMkMV)) associated with the purchase." + }, + "seller": { + "type": "string", + "description": "Seller name. When the store acts both as marketplace and seller, this field corresponds to `1`, because every VTEX store is its own seller 1." + } + } + }, + "cycleCount": { + "type": "integer", + "description": "The cycle determines the position of an order counting from when the customer subscribed. The original order that creates the subscription corresponds to cycle count `0`, the first subscription order corresponds to `1`, the second corresponds to `2`, and so on." + }, + "createdAt": { + "type": "string", + "description": "Subscription creation date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "lastUpdate": { + "type": "string", + "description": "Date and time of the last subscription update in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "items": { + "type": "array", + "description": "Information about subscription items.", + "items": { + "type": "object", + "description": "Information about a given subscription item.", + "required": [ + "id", + "isSkipped", + "quantity", + "skuId", + "status" + ], + "properties": { + "id": { + "type": "string", + "description": "Subscription item ID." + }, + "skuId": { + "type": "string", + "description": "SKU ID." + }, + "quantity": { + "type": "integer", + "description": "Quantity of units." + }, + "isSkipped": { + "type": "boolean", + "description": "Defines if the customer asked to skip the item in the next subscription order (`true`), or not (`false`)." + }, + "status": { + "type": "string", + "description": "Subscription status.", + "enum": [ + "ACTIVE", + "PAUSED", + "CANCELED", + "EXPIRED", + "MISSING" + ] + }, + "originalOrderId": { + "type": "string", + "description": "Subscription original order ID." + }, + "cycleCount": { + "type": "integer", + "description": "The cycle determines the position of an order counting from when the customer subscribed. The original order that creates the subscription corresponds to cycle count `0`, the first subscription order corresponds to `1`, the second corresponds to `2`, and so on." + }, + "priceAtSubscriptionDate": { + "type": "number", + "description": "Price at subscription date." + }, + "manualPrice": { + "type": "number", + "description": "[Manual price](https://help.vtex.com/en/tutorial/change-the-price-of-an-item-in-the-shopping-cart--7Cd37aCAmtL1qmoZJJvjNf)." + }, + "attachments": { + "type": "array", + "description": "Information about subscription [attachments](https://help.vtex.com/en/tutorial/what-is-an-attachment--aGICk0RVbqKg6GYmQcWUm).", + "nullable": true, + "items": { + "type": "object", + "description": "Information about a given attachment.", + "properties": { + "name": { + "type": "string", + "description": "Attachment name.", + "nullable": true + }, + "content": { + "type": "object", + "description": "Custom field for attachment content.", + "nullable": true, + "additionalProperties": { + "type": "string", + "description": "Custom field information." + } + } + } + } + } + } + } + }, + "lastCycleId": { + "type": "string", + "description": "Last subscription cycle ID.", + "nullable": true + }, + "customData": { + "type": "object", + "description": "Customizable fields created by the store for the shopping cart. This field is useful for storing data not included in other fields, for example, a message for a gift or a name to be printed in a shirt.", + "nullable": true, + "properties": { + "customApps": { + "type": "array", + "description": "Customizable apps created by the store.", + "nullable": true, + "items": { + "type": "string", + "description": "Customizable apps details.", + "nullable": true + } + } + } + } + } + }, + "PlanRequest": { + "type": "object", + "description": "[Subscription plan](https://help.vtex.com/en/tutorial/subscription-plans-beta--5kczKRqHEsrs1tYtRcY8wR) object.", + "required": [ + "id", + "frequency" + ], + "properties": { + "id": { + "type": "string", + "description": "Subscription plan ID.", + "example": "subscription.clothes" + }, + "frequency": { + "required": [ + "interval", + "periodicity" + ], + "type": "object", + "description": "Subscription plan frequency.", + "properties": { + "periodicity": { + "type": "string", + "description": "Plan repurchase frequency, defines the subscription recurrence.", + "enum": [ + "DAILY", + "WEEKLY", + "MONTHLY", + "YEARLY" + ], + "example": "MONTHLY" + }, + "interval": { + "type": "integer", + "description": "Time interval configured between subscription orders, which depends on the periodicity. For a `DAILY` periodicity, the value will be measured in days, for `MONTHLY` it will be measured in months, and so on.", + "example": 3 + } + } + }, + "validity": { + "type": "object", + "description": "Information about the period during which the subscription plan will be valid.", + "properties": { + "begin": { + "type": "string", + "description": "Subscription plan beginning date and time in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "example": "2024-08-21T00:00:00Z", + "nullable": true + }, + "end": { + "type": "string", + "description": "Subscription plan ending date and time in [UTC time format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "example": "2025-08-21T00:00:00Z", + "nullable": true + } + } + }, + "purchaseDay": { + "type": "string", + "description": "Time reference in which subscription orders will be created. It will depend on the cycle periodicity, for `WEEKLY` subscriptions, for example, the purchase day could be `Sunday`. For `MONTHLY`, would be `7`, as in the 7th day of the month. This field is not required for `DAILY` subscriptions.", + "nullable": true, + "example": "3" + } + } + }, + "ShippingAddressRequest": { + "type": "object", + "description": "Information about the subscription shipping address.", + "required": [ + "addressId", + "addressType" + ], + "properties": { + "addressId": { + "type": "string", + "description": "Shipping address ID or [pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R) ID, according to the shipping address type.", + "example": "5028945524109" + }, + "addressType": { + "type": "string", + "description": "Type of the address. The possible values are `residential`, when the customer gives an address for delivery, or `pickup`, when the customer picks the order at a pickup point.", + "enum": [ + "residential", + "pickup" + ], + "example": "residential" + } + } + }, + "PurchaseSettingsRequest": { + "type": "object", + "description": "Object with purchase settings information.", + "required": [ + "paymentMethod", + "salesChannel" + ], + "properties": { + "paymentMethod": { + "type": "object", + "description": "Object with [payment method](https://help.vtex.com/en/tutorial/difference-between-payment-methods-and-payment-conditions--3azJenhGFyUy2gsocms42Q) information.", + "required": [ + "paymentSystem" + ], + "properties": { + "paymentAccountId": { + "type": "string", + "description": "Information about the customer profile, such as their credit card number. To obtain that information, use the endpoint [Get client profile by email](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pub/profiles).", + "example": "340357032569595", + "nullable": true + }, + "paymentSystem": { + "type": "string", + "description": "Payment system ID.", + "example": "4" + }, + "installments": { + "type": "integer", + "description": "Number of installments.", + "nullable": true, + "example": 3 + }, + "paymentSystemName": { + "type": "string", + "description": "Payment system name.", + "nullable": true, + "example": "creditCard" + }, + "paymentSystemGroup": { + "type": "string", + "description": "Payment system group.", + "nullable": true, + "example": "creditCard" + } + } + }, + "currencyCode": { + "type": "string", + "description": "Currency code in [ISO 4217](https://www.iban.com/currency-codes) format.", + "example": "BRL" + }, + "selectedSla": { + "type": "string", + "description": "Selected Service Level Agreement (SLA).", + "example": "Normal" + }, + "salesChannel": { + "type": "string", + "description": "Sales channel (or [trade policy](https://help.vtex.com/en/tutorial/how-trade-policies-work--6Xef8PZiFm40kg2STrMkMV)) applied to the subscription. You can associate only one sales channel to each subscription. The default value is the main sales channel, which corresponds to `1`.", + "example": "1" + }, + "seller": { + "type": "string", + "description": "Seller name. When the store acts both as marketplace and seller, this field corresponds to `1`, because every VTEX store is its own seller 1.", + "example": "1" + } + } + }, + "SubscriptionGroupRequest": { + "type": "object", + "description": "Object with subscription information.", + "required": [ + "customerEmail", + "items", + "plan", + "purchaseSettings", + "shippingAddress" + ], + "properties": { + "customerEmail": { + "type": "string", + "description": "Customer email.", + "example": "customer@email.com" + }, + "title": { + "type": "string", + "description": "Subscription title.", + "example": "fashionBasic", + "nullable": true + }, + "status": { + "type": "string", + "description": "Subscription status.", + "enum": [ + "ACTIVE", + "PAUSED", + "CANCELED", + "EXPIRED", + "MISSING" + ], + "example": "ACTIVE", + "nullable": true + }, + "nextPurchaseDate": { + "type": "string", + "description": "Subscription next purchase date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "example": "2024-09-21T00:00:00Z" + }, + "catalogAttachment": { + "type": "string", + "description": "Subscription [attachment](https://help.vtex.com/en/tutorial/what-is-an-attachment--aGICk0RVbqKg6GYmQcWUm) content.", + "example": "vtex.subscription.tshirt-collection", + "nullable": true + }, + "plan": { + "$ref": "#/components/schemas/PlanRequest" + }, + "shippingAddress": { + "$ref": "#/components/schemas/ShippingAddressRequest" + }, + "purchaseSettings": { + "$ref": "#/components/schemas/PurchaseSettingsRequest" + }, + "items": { + "type": "array", + "description": "List with subscription items information.", + "items": { + "type": "object", + "description": "Information about a given item.", + "required": [ + "skuId", + "quantity" + ], + "properties": { + "skuId": { + "type": "string", + "description": "SKU ID.", + "example": "12" + }, + "quantity": { + "type": "integer", + "description": "Quantity of units.", + "example": 5 + }, + "manualPrice": { + "type": "number", + "description": "[Manual price](https://help.vtex.com/en/tutorial/change-the-price-of-an-item-in-the-shopping-cart--7Cd37aCAmtL1qmoZJJvjNf).", + "example": 400.0, + "nullable": true + } + } + } + } + } + }, + "PriceTag": { + "type": "object", + "description": "Information about a given price tag.", + "properties": { + "name": { + "type": "string", + "description": "Price tag name.", + "nullable": true + }, + "valueAsInt": { + "type": "integer", + "format": "int64", + "description": "Price tag value." + }, + "rawValue": { + "type": "number", + "format": "double", + "description": "Price tag raw value." + }, + "isPercentual": { + "type": "boolean", + "description": "Defines if the price tag is applied as a percentage (`true`), or not (`false`)." + }, + "identifier": { + "type": "string", + "description": "Price tag identifier.", + "nullable": true + } + } + }, + "SimulateResponseVO": { + "type": "object", + "description": "Subscription order simulation response.", + "properties": { + "simulation": { + "type": "object", + "description": "Object with subscription order simulation details.", + "properties": { + "items": { + "type": "array", + "description": "Simulation items information.", + "items": { + "type": "object", + "description": "Simulation information about a given item.", + "properties": { + "id": { + "type": "string", + "description": "SKU ID.", + "nullable": true + }, + "seller": { + "type": "string", + "description": "Seller name. When the store acts both as marketplace and seller, this field corresponds to `1`, because every VTEX store is its own seller 1.", + "nullable": true + }, + "quantity": { + "type": "integer", + "description": "Quantity of units." + }, + "price": { + "type": "integer", + "format": "int64", + "description": "Price in cents.", + "nullable": true + }, + "sellingPrice": { + "type": "integer", + "format": "int64", + "description": "Selling price in cents.", + "nullable": true + }, + "manualPrice": { + "type": "number", + "description": "[Manual price](https://help.vtex.com/en/tutorial/change-the-price-of-an-item-in-the-shopping-cart--7Cd37aCAmtL1qmoZJJvjNf).", + "nullable": true + }, + "unitMultiplier": { + "type": "number", + "description": "Item unit multiplier." + }, + "measurementUnit": { + "type": "string", + "description": "Item measurement unit." + }, + "attachments": { + "type": "array", + "description": "Information about subscription [attachments](https://help.vtex.com/en/tutorial/what-is-an-attachment--aGICk0RVbqKg6GYmQcWUm).", + "nullable": true, + "items": { + "type": "object", + "description": "Information about a given attachment.", + "properties": { + "name": { + "type": "string", + "description": "Attachment name.", + "nullable": true + }, + "content": { + "type": "object", + "description": "Custom field for attachment content.", + "nullable": true, + "additionalProperties": { + "type": "string", + "description": "Custom field information." + } + } + } + } + }, + "name": { + "type": "string", + "description": "Item name.", + "nullable": true + }, + "isGift": { + "type": "boolean", + "description": "Defines it the item is a gift (`true`), or not (`false`)." + }, + "priceTags": { + "type": "array", + "description": "List of price tags, which are price modifiers.", + "nullable": true, + "items": { + "$ref": "#/components/schemas/PriceTag" + } + } + } + } + }, + "logisticsInfo": { + "type": "array", + "description": "Simulation logistics information.", + "items": { + "type": "object", + "description": "Logistics details.", + "properties": { + "itemIndex": { + "type": "integer", + "description": "Each item in the subscription order is identified by an index. The position starts at `0`, followed by `1`, `2`, and so on." + }, + "quantity": { + "type": "integer", + "description": "Quantity of units." + }, + "selectedSla": { + "type": "string", + "description": "Selected Service Level Agreement (SLA).", + "nullable": true + }, + "selectedDeliveryChannel": { + "type": "string", + "description": "Shipping type (shipping method) selected by the customer, like delivery or [pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R).", + "enum": [ + "delivery", + "pickup-in-point" + ], + "nullable": true + }, + "lockTTL": { + "type": "string", + "description": "Logistics [reservation](https://help.vtex.com/en/tutorial/how-does-reservation-work--tutorials_92) waiting time of the SLA in days. One business day corresponds to `1bd`, for example.", + "nullable": true + }, + "shippingEstimate": { + "type": "string", + "description": "Shipping estimate time in days. Three business days correspond to `3bd`, for example.", + "nullable": true + }, + "addressId": { + "type": "string", + "description": "Shipping address ID.", + "nullable": true + }, + "pickupId": { + "type": "string", + "description": "[Pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R) ID, when shipping type is pickup.", + "nullable": true + }, + "price": { + "type": "integer", + "description": "Shipping cost.", + "nullable": true + }, + "deliveryWindow": { + "type": "string", + "description": "[Scheduled delivery window](https://help.vtex.com/tutorial/scheduled-delivery--22g3HAVCGLFiU7xugShOBi) period.", + "nullable": true + }, + "slas": { + "type": "array", + "description": "Service Level Agreement (SLA) of the [shipping policy](https://help.vtex.com/en/tutorial/shipping-policy--tutorials_140) considered for the simulation.", + "items": { + "type": "object", + "description": "Subscription order SLA details.", + "properties": { + "id": { + "type": "string", + "description": "ID of the shipping type (shipping method) of the shipping policy.", + "nullable": true + }, + "pickupPointId": { + "type": "string", + "description": "[Pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R) ID related to the SLA.", + "nullable": true + }, + "deliveryChannel": { + "type": "string", + "description": "Defines if the delivery channel is `delivery` or `pickup-in-point`.", + "enum": [ + "delivery", + "pickup-in-point" + ], + "nullable": true + }, + "price": { + "type": "integer", + "description": "Item shipping price in cents. This value does not account for the order total shipping price." + }, + "shippingEstimate": { + "type": "string", + "description": "Total shipping estimate time in days. For instance, three business days is represented as `3bd`.", + "nullable": true + }, + "lockTTL": { + "type": "string", + "description": "Logistics [reservation](https://help.vtex.com/en/tutorial/how-does-reservation-work--tutorials_92) waiting time of the SLA. One business day is represented as `1bd`, for example.", + "nullable": true + }, + "deliveryWindows": { + "type": "array", + "description": "[Delivery windows](https://help.vtex.com/en/tutorial/scheduled-delivery--22g3HAVCGLFiU7xugShOBi#delivery-window) information.", + "nullable": true, + "items": { + "type": "object", + "description": "Information about a given delivery window.", + "properties": { + "startDateUtc": { + "type": "string", + "description": "Delivery window starting date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "endDateUtc": { + "type": "string", + "description": "Delivery window ending date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "price": { + "type": "integer", + "format": "int64", + "description": "Delivery window shipping price.", + "nullable": true + } + } + } + }, + "availableDeliveryWindows": { + "type": "array", + "description": "Available [delivery windows](https://help.vtex.com/en/tutorial/scheduled-delivery--22g3HAVCGLFiU7xugShOBi#delivery-window) information.", + "nullable": true, + "items": { + "type": "object", + "description": "Information about an available delivery window.", + "properties": { + "startDateUtc": { + "type": "string", + "description": "Available delivery window starting date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "endDateUtc": { + "type": "string", + "description": "Available delivery window ending date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`.", + "nullable": true + }, + "price": { + "type": "integer", + "format": "int64", + "description": "Delivery window shipping price.", + "nullable": true + } + } + } + } + } + } + } + } + } + }, + "paymentData": { + "type": "object", + "description": "Simulation payment information.", + "nullable": true, + "properties": { + "payments": { + "type": "array", + "description": "Payment information.", + "nullable": true, + "items": { + "type": "object", + "description": "Payment details.", + "nullable": true, + "properties": { + "id": { + "type": "string", + "description": "Payment ID unique identifier in VTEX.", + "nullable": true + }, + "paymentSystem": { + "type": "string", + "description": "Payment system ID.", + "nullable": true + }, + "group": { + "type": "string", + "description": "Payment system group.", + "nullable": true + }, + "bin": { + "type": "string", + "description": "Abbreviation for _Bank Identification Number_, which is a code that identifies the institution responsible for issuing the credit card.", + "nullable": true + }, + "accountId": { + "type": "string", + "description": "Store account ID.", + "nullable": true + }, + "parentAccountId": { + "type": "string", + "description": "Retrieves the main account ID if the payment was made in a subaccount.", + "nullable": true + }, + "referenceValue": { + "type": "integer", + "format": "int64", + "description": "Payment reference value in cents.", + "nullable": true + }, + "value": { + "type": "integer", + "format": "int64", + "description": "Payment value in cents.", + "nullable": true + }, + "installments": { + "type": "integer", + "description": "Number of installments.", + "nullable": true + }, + "url": { + "type": "string", + "description": "Payment URL.", + "nullable": true + }, + "cardNumber": { + "type": "string", + "description": "Card number information.", + "nullable": true + }, + "fields": { + "type": "array", + "description": "Payment parameters names and values.", + "nullable": true, + "items": { + "type": "object", + "description": "Information about a given payment parameter.", + "properties": { + "name": { + "type": "string", + "description": "Payment parameter name.", + "nullable": true + }, + "value": { + "type": "string", + "description": "Payment parameter value.", + "nullable": true + } + } + } + }, + "paymentSystemName": { + "type": "string", + "description": "Payment system name.", + "nullable": true + } + } + } + }, + "transactions": { + "type": "array", + "description": "Financial transactions information. This array returns empty in the simulation.", + "nullable": true, + "items": { + "type": "object", + "description": "Financial transactions details.", + "nullable": true, + "properties": { + "isActive": { + "type": "boolean", + "description": "Defines if the subscription order payment is active (`true`) or inactive (`false`).", + "nullable": true + } + } + } + } + } + }, + "country": { + "type": "string", + "description": "Subscription order simulation three-digit country code in [ISO 3166 ALPHA-3](https://www.iban.com/country-codes) format.", + "nullable": true + }, + "postalCode": { + "type": "string", + "description": "Subscription order simulation postal code.", + "nullable": true + }, + "messages": { + "type": "array", + "description": "Simulation messages information.", + "nullable": true, + "items": { + "type": "object", + "description": "Simulation message details.", + "nullable": true, + "properties": { + "code": { + "type": "string", + "description": "Message code.", + "nullable": true + }, + "status": { + "type": "string", + "description": "Message status.", + "nullable": true + }, + "text": { + "type": "string", + "description": "Message text.", + "nullable": true + } + } + } + }, + "selectableGifts": { + "type": "array", + "description": "Information about subscription selectable gifts. For example, when the customer gains a gift from the store based on a promotion.", + "nullable": true, + "items": { + "type": "object", + "description": "Selectable gift information.", + "properties": { + "id": { + "type": "string", + "description": "Selectable gift ID.", + "nullable": true + }, + "availableQuantity": { + "type": "integer", + "description": "Available quantity of selectable gifts.", + "nullable": true + }, + "availableGifts": { + "type": "array", + "description": "Details about available gifts.", + "nullable": true, + "items": { + "type": "object", + "description": "Information about a given available gift.", + "nullable": true, + "properties": { + "id": { + "type": "string", + "description": "Gift ID.", + "nullable": true + }, + "seller": { + "type": "string", + "description": "Seller name.", + "nullable": true + }, + "quantity": { + "type": "integer", + "description": "Quantity of units.", + "nullable": true + }, + "price": { + "type": "integer", + "format": "int64", + "description": "Price in cents.", + "nullable": true + }, + "sellingPrice": { + "type": "integer", + "format": "int64", + "description": "Selling price in cents.", + "nullable": true + }, + "unitMultiplier": { + "type": "number", + "description": "Unit multiplier.", + "nullable": true + }, + "attachments": { + "type": "array", + "description": "Available gift attachments information, when applicable.", + "nullable": true, + "items": { + "type": "object", + "description": "Information about a given attachment.", + "nullable": true, + "properties": { + "name": { + "type": "string", + "description": "Gift attachment name.", + "nullable": true + }, + "content": { + "type": "object", + "description": "Custom field for the gift attachment content.", + "nullable": true, + "additionalProperties": { + "type": "string", + "description": "Custom field information.", + "nullable": true + } + } + } + } + }, + "name": { + "type": "string", + "description": "Gift name.", + "nullable": true + }, + "isGift": { + "type": "boolean", + "description": "Defines it the item is from a gift list (`true`), or not (`false`).", + "nullable": true + }, + "priceTags": { + "type": "array", + "description": "List of price tags, which are price modifiers.", + "nullable": true, + "items": { + "$ref": "#/components/schemas/PriceTag" + } + }, + "isSelected": { + "type": "boolean", + "description": "Defines if the item can be selected (`true`), or not (`false`).", + "nullable": true + } + } + } + } + } + } + }, + "totals": { + "type": "array", + "description": "Information about simulation total counts.", + "items": { + "type": "object", + "description": "Details about a given total count.", + "properties": { + "id": { + "type": "string", + "description": "Code that identifies if the information is about items, discounts, shipping or taxes.", + "enum": [ + "Items", + "Discounts", + "Shipping", + "Tax" + ] + }, + "name": { + "type": "string", + "description": "Total count name." + }, + "valueAsInt": { + "type": "integer", + "format": "int64", + "description": "Total count value in cents." + } + } + } + }, + "totalsBySimulationItems": { + "type": "array", + "description": "Information about simulation totals regarding items.", + "items": { + "$ref": "#/components/schemas/SimulationItemResult" + } + } + } + }, + "shippingEstimate": { + "type": "object", + "description": "Subscription order shipping estimate information.", + "properties": { + "name": { + "type": "string", + "description": "ID of the shipping type (shipping method) of the [shipping policy](https://help.vtex.com/en/tutorial/shipping-policy--tutorials_140)." + }, + "estimate": { + "type": "string", + "description": "Total shipping estimate time in days. Three business days is represented as `3bd`, for example." + }, + "estimateDeliveryDate": { + "type": "string", + "description": "Estimate delivery date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "nextPurchaseDate": { + "type": "string", + "description": "Next purchase date and time in [ISO 8601 time zone offset format](https://learn.microsoft.com/en-us/rest/api/storageservices/formatting-datetime-values), as in `YYYY-MM-DDThh:mm:ssZ`." + }, + "matched": { + "type": "boolean", + "description": "Defines if the shipping estimate is matched (`true`), or not (`false`)." + } + } + }, + "totalsBySimulationItems": { + "type": "array", + "description": "Information about simulation totals regarding items.", + "items": { + "$ref": "#/components/schemas/SimulationItemResult" + } + }, + "totals": { + "type": "array", + "description": "Information about total counts.", + "items": { + "type": "object", + "description": "Total cost per shipping or items.", + "properties": { + "id": { + "type": "string", + "description": "Code that identifies if the information is about items, discounts, shipping or taxes.", + "enum": [ + "Items", + "Discounts", + "Shipping", + "Tax" + ] + }, + "value": { + "type": "number", + "description": "Total count value." + } + } + } + } + } + }, + "Settings": { + "description": "VTEX account subscriptions settings.", + "type": "object", + "required": [ + "slaOption", + "defaultSla", + "isUsingV3", + "onMigrationProcess", + "executionHourInUtc", + "workflowVersion", + "deliveryChannels", + "randomIdGeneration", + "isMultipleInstallmentsEnabledOnCreation", + "isMultipleInstallmentsEnabledOnUpdate", + "orderCustomDataAppId", + "postponeExpiration", + "manualPriceAllowed", + "useItemPriceFromOriginalOrder" + ], + "properties": { + "slaOption": { + "description": "Service Level Agreement (SLA) option, which is the shipping method. The possible values are:\r\n- `NONE`: The platform automatically chooses the smallest cost for shipping method at the time of the subscription cycle generation.\r\n- `CHEAPEST`: Smallest cost for shipping method at the time of cycle generation.\r\n- `CUSTOMER_CHOICE`: The customer can select the desired shipping method at checkout for every new subscription order.\r\n- `STORE_CHOICE`: The store sets the preferred shipping method. This is configured in the `defaultSla` field.", + "type": "string", + "enum": [ + "NONE", + "CHEAPEST", + "CUSTOMER_CHOICE", + "STORE_CHOICE" + ] + }, + "defaultSla": { + "description": "This field contains the shipping method set by the store for new cycle generation. The only case when its value is not `null` is when the `slaOption` field is set as `STORE_CHOICE`.", + "type": "string", + "nullable": true + }, + "isUsingV3": { + "description": "Indicates if the store uses the updated Subscriptions V3 (`true`) or a previous version (`false`).", + "type": "boolean" + }, + "onMigrationProcess": { + "description": "Indicates if the store is in the process of migrating to Subscriptions V3 (`true`) or not (`false`).", + "type": "boolean" + }, + "executionHourInUtc": { + "description": "Indicates the time future subscription orders will be generated.", + "type": "integer" + }, + "workflowVersion": { + "description": "Workflow version.", + "type": "string" + }, + "deliveryChannels": { + "description": "Array containing delivery channels.", + "type": "array", + "items": { + "description": "Type of delivery channel. The values that are possible are: `pickupInPoint` for [pickup point](https://help.vtex.com/en/tutorial/pickup-points--2fljn6wLjn8M4lJHA6HP3R) and `delivery` for regular delivery.", + "type": "string", + "enum": [ + "delivery", + "pickupInPoint" + ] + } + }, + "randomIdGeneration": { + "description": "Defines if subscription order IDs are randomly generated (`true`) or not (`false`).", + "type": "boolean" + }, + "isMultipleInstallmentsEnabledOnCreation": { + "description": "Defines if the store allows multiple installments when a subscription is created (`true`) or not (`false`).", + "type": "boolean" + }, + "isMultipleInstallmentsEnabledOnUpdate": { + "description": "Defines if the store allows multiple installments when the subscription is updated (`true`) or not (`false`).", + "type": "boolean" + }, + "attachmentPreferences": { + "type": "object", + "description": "Store settings on how to process original orders with SKUs that contain [attachments](https://help.vtex.com/en/tutorial/what-is-an-attachment--aGICk0RVbqKg6GYmQcWUm).", + "properties": { + "enableAttachments": { + "type": "boolean", + "description": "Defines if the store [keeps attachments from original orders](https://developers.vtex.com/docs/guides/how-to-keep-attachments-from-original-orders-in-subscriptions) and subscription orders incorporate them (`true`) or if these attachments are disconsidered (`false`). By default, this field is set as `false`." + }, + "splitSameSkuWithDifferentAttachments": { + "type": "boolean", + "description": "Defines if the [same SKUs that contain different attachments](https://developers.vtex.com/docs/guides/how-to-keep-attachments-from-original-orders-in-subscriptions) in the original order are split (`true`) or not (`false`). By default, this field is set as `false`. It can only be set as `true` if the `enableAttachments` field is also set as `true`." + } + } + }, + "orderCustomDataAppId": { + "description": "When there are custom fields configured, this field passes along the `customData` information in the original order to the next subscriptions orders.", + "type": "string", + "nullable": true + }, + "postponeExpiration": { + "description": "Defines if the expiration of subscriptions can be postponed (`true`) or not (`false`).", + "type": "boolean" + }, + "manualPriceAllowed": { + "description": "Defines if the [manual price](https://help.vtex.com/en/tutorial/change-the-price-of-an-item-in-the-shopping-cart--7Cd37aCAmtL1qmoZJJvjNf) configuration is enabled for subscriptions items (`true`), or not (`false`). This is valid for all existing subscriptions, provided that there is a manual price configured and that the `isUsingV3` field is set as `true`.", + "type": "boolean" + + }, + "useItemPriceFromOriginalOrder": { + "description": "When set to `true`, this property enables using the manual price for each item from the original subscription order. This is only valid for new subscriptions created from the moment this configuration is enabled. For this to work, it is mandatory that the `manualPriceAllowed` and `isUsingV3` properties are set to `true`.", + "type": "boolean" + } + } + } + } + }, + "tags": [ + { + "name": "Cycles" + }, + { + "name": "Plans" + }, + { + "name": "Reports" + }, + { + "name": "Subscriptions" + }, + { + "name": "Settings" + } + ] +} \ No newline at end of file