From ab0366a00ca68e14e341d89ce7f25f25305e6cfd Mon Sep 17 00:00:00 2001 From: Ana Barbosa Date: Thu, 12 Mar 2026 15:58:47 -0300 Subject: [PATCH 1/3] docs: add OpenAPI documentation for Shopee integration endpoints --- VTEX - Shopee Integration API.json | 1209 ++++++++++++++++++++++++++++ 1 file changed, 1209 insertions(+) create mode 100644 VTEX - Shopee Integration API.json diff --git a/VTEX - Shopee Integration API.json b/VTEX - Shopee Integration API.json new file mode 100644 index 000000000..dbed228f9 --- /dev/null +++ b/VTEX - Shopee Integration API.json @@ -0,0 +1,1209 @@ +{ + "openapi": "3.0.0", + "info": { + "version": "1.0.0", + "title": "VTEX Shopee Integration API", + "description": "The VTEX Shopee Integration API provides endpoints for handling Shopee order webhooks, reprocessing order synchronization workflows, querying Shopee order data, and receiving VTEX marketplace order callbacks." + }, + "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/shopeeintegration/order/hook": { + "post": { + "tags": [ + "Shopee orders" + ], + "summary": "Receive Shopee order webhook", + "description": "Receives Shopee webhook notifications and queues order messages for asynchronous processing.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "security": [], + "parameters": [ + { + "$ref": "#/components/parameters/Content-Type" + }, + { + "$ref": "#/components/parameters/Accept" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShopeeOrderHookRequest" + }, + "example": { + "code": 3, + "shopId": 123456789, + "data": { + "orderSn": "240101ABC123", + "status": "READY_TO_SHIP" + } + } + } + } + }, + "responses": { + "200": { + "description": "200 OK\n\nWebhook processed successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericSuccessResponse" + }, + "example": { + "message": "Webhook processed successfully." + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nInvalid webhook payload.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Invalid JSON payload." + } + } + } + }, + "500": { + "description": "500 Internal Server Error\n\nUnexpected error while processing the webhook.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Unexpected error while processing the webhook." + } + } + } + } + } + } + }, + "/api/shopeeintegration/order/shipping/label/legacy": { + "get": { + "tags": [ + "Shopee orders" + ], + "summary": "Download legacy shipping label", + "description": "Downloads a legacy shipping label for the given Shopee order.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "security": [], + "parameters": [ + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/AccountNameQuery" + }, + { + "$ref": "#/components/parameters/ShopeeOrderIdQuery" + } + ], + "responses": { + "200": { + "description": "200 OK\n\nLegacy shipping label retrieved successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShippingLabelLegacyResponse" + }, + "example": { + "orderId": "240101ABC123", + "labelFormat": "PDF", + "labelUrl": "https://storage.example.com/shopee/labels/240101ABC123.pdf", + "labelContentBase64": null + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nMissing or invalid query parameters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Account name (an) is required." + } + } + } + }, + "500": { + "description": "500 Internal Server Error\n\nUnexpected error while downloading the label.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Unexpected error while downloading the label." + } + } + } + } + } + } + }, + "/api/shopeeintegration/order/{orderId}": { + "get": { + "tags": [ + "Shopee orders" + ], + "summary": "Get Shopee order details", + "description": "Gets order details from Shopee for the informed account and order identifier.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "parameters": [ + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/AccountNameQuery" + }, + { + "$ref": "#/components/parameters/OrderIdPath" + } + ], + "responses": { + "200": { + "description": "200 OK\n\nShopee order details retrieved successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShopeeOrderDetailsResponse" + }, + "example": { + "orderId": "240101ABC123", + "accountName": "store01", + "status": "READY_TO_SHIP", + "createdAt": "2026-03-12T13:00:00Z", + "updatedAt": "2026-03-12T13:15:00Z", + "totalAmount": 259.9, + "currency": "BRL", + "items": [ + { + "sku": "SKU-001", + "name": "Running Shoes", + "quantity": 1, + "unitPrice": 259.9 + } + ] + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nMissing account name or order identifier.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Account name (an) and OrderId is required." + } + } + } + } + } + } + }, + "/api/shopeeintegration/order/reprocess/readytoship": { + "post": { + "tags": [ + "Shopee orders" + ], + "summary": "Reprocess ready-to-ship orders", + "description": "Forces creation and invoicing of Shopee orders in READY_TO_SHIP status for a given time window.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "parameters": [ + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/AccountNameQuery" + }, + { + "$ref": "#/components/parameters/TimeWindowQuery" + } + ], + "responses": { + "200": { + "description": "200 OK\n\nReady-to-ship reprocessing completed successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReadyToShipSyncResponse" + }, + "example": { + "message": "Ready-to-ship reprocessing completed successfully.", + "accountName": "store01", + "timeWindow": 15 + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nInvalid request for reprocessing ready-to-ship orders.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Not able to reprocess all Ready to Ship orders." + } + } + } + } + } + } + }, + "/api/shopeeintegration/order/reprocess/cancelled": { + "post": { + "tags": [ + "Shopee orders" + ], + "summary": "Reprocess cancelled orders", + "description": "Forces VTEX OMS cancellation for Shopee orders in CANCELLED status for a given time window.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "parameters": [ + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/AccountNameQuery" + }, + { + "$ref": "#/components/parameters/TimeWindowQuery" + } + ], + "responses": { + "200": { + "description": "200 OK\n\nCancelled orders reprocessing completed successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelledSyncResponse" + }, + "example": { + "message": "Cancelled orders reprocessing completed successfully.", + "accountName": "store01", + "timeWindow": 15 + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nInvalid request for reprocessing cancelled orders.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Not able to reprocess all Cancelled orders." + } + } + } + } + } + } + }, + "/api/shopeeintegration/order/pvt/{orderId}/escrow": { + "get": { + "tags": [ + "Shopee orders" + ], + "summary": "Get order escrow details", + "description": "Gets escrow details for a Shopee order.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "parameters": [ + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/AccountNameQuery" + }, + { + "$ref": "#/components/parameters/OrderIdPath" + } + ], + "responses": { + "200": { + "description": "200 OK\n\nEscrow details retrieved successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EscrowDetailsResponse" + }, + "example": { + "orderId": "240101ABC123", + "releaseStatus": "HOLDING", + "escrowAmount": 259.9, + "currency": "BRL", + "lastUpdated": "2026-03-12T13:30:00Z" + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nInvalid request for escrow details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Invalid request for escrow details." + } + } + } + } + } + } + }, + "/api/shopeeintegration/order/pvt/{orderId}/build": { + "get": { + "tags": [ + "Shopee orders" + ], + "summary": "Build VTEX order payload", + "description": "Builds and formats a Shopee order payload to the VTEX fulfillment format.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "parameters": [ + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/AccountNameQuery" + }, + { + "$ref": "#/components/parameters/OrderIdPath" + } + ], + "responses": { + "200": { + "description": "200 OK\n\nOrder build generated successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrderBuildResponse" + }, + "example": { + "orderId": "240101ABC123", + "vtexOrderId": "VTX-123456", + "status": "READY_TO_FULFILL", + "items": [ + { + "sku": "SKU-001", + "name": "Running Shoes", + "quantity": 1, + "price": 259.9 + } + ], + "shippingData": { + "carrierName": "Shopee Xpress", + "trackingNumber": "BR123456789", + "shippingEstimateDate": "2026-03-15T18:00:00Z" + } + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nInvalid request for order build.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Invalid request for order build." + } + } + } + } + } + } + }, + "/api/shopeeintegration/order/pvt/orderfrom/config": { + "get": { + "tags": [ + "Shopee orders" + ], + "summary": "Configure seller order form apps", + "description": "Creates or updates marketplace order form app settings for the informed account.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "parameters": [ + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/AccountNameQuery" + } + ], + "responses": { + "200": { + "description": "200 OK\n\nOrder form app settings updated successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrderFormConfigResponse" + }, + "example": { + "message": "Order Form atualizado com sucesso.", + "accountName": "store01" + } + } + } + }, + "404": { + "description": "404 Not Found\n\nShopee credentials were not found for the account.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Shopee credentials were not found for the account." + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nInvalid request for order form configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Invalid request for order form configuration." + } + } + } + } + } + } + }, + "/api/shopeeintegration/{accountName}/pvt/orders/{mktplaceOrderId}/cancel": { + "post": { + "tags": [ + "VTEX order callbacks" + ], + "summary": "Cancel marketplace order", + "description": "Receives a VTEX cancellation callback and queues the marketplace order cancellation flow.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "security": [], + "parameters": [ + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/AccountNamePath" + }, + { + "$ref": "#/components/parameters/MarketplaceOrderIdPath" + } + ], + "responses": { + "200": { + "description": "200 OK\n\nCancellation callback accepted successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericSuccessResponse" + }, + "example": { + "message": "Cancellation callback accepted successfully." + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nInvalid cancellation callback request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Invalid cancellation callback request." + } + } + } + } + } + } + }, + "/api/shopeeintegration/{accountName}/pub/orders/{mktplaceOrderId}/invoice": { + "post": { + "tags": [ + "VTEX order callbacks" + ], + "summary": "Invoice marketplace order via public route", + "description": "Receives a VTEX invoice callback on the public route and queues invoice processing.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "security": [], + "parameters": [ + { + "$ref": "#/components/parameters/Content-Type" + }, + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/AccountNamePath" + }, + { + "$ref": "#/components/parameters/MarketplaceOrderIdPath" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VTEXInvoiceOrderRequest" + }, + "example": { + "invoiceNumber": "NF-123456", + "invoiceDate": "2026-03-12T13:45:00Z", + "invoiceValue": 259.9, + "trackingNumber": "BR123456789", + "trackingUrl": "https://tracking.example.com/BR123456789" + } + } + } + }, + "responses": { + "200": { + "description": "200 OK\n\nInvoice callback accepted successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericSuccessResponse" + }, + "example": { + "message": "Invoice callback accepted successfully." + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nInvalid invoice callback request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Invalid invoice callback request." + } + } + } + } + } + } + }, + "/api/shopeeintegration/{accountName}/pvt/orders/{mktplaceOrderId}/invoice": { + "post": { + "tags": [ + "VTEX order callbacks" + ], + "summary": "Invoice marketplace order via private route", + "description": "Receives a VTEX invoice callback on the private route and queues invoice processing.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "security": [], + "parameters": [ + { + "$ref": "#/components/parameters/Content-Type" + }, + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/AccountNamePath" + }, + { + "$ref": "#/components/parameters/MarketplaceOrderIdPath" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VTEXInvoiceOrderRequest" + }, + "example": { + "invoiceNumber": "NF-123456", + "invoiceDate": "2026-03-12T13:45:00Z", + "invoiceValue": 259.9, + "trackingNumber": "BR123456789", + "trackingUrl": "https://tracking.example.com/BR123456789" + } + } + } + }, + "responses": { + "200": { + "description": "200 OK\n\nInvoice callback accepted successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericSuccessResponse" + }, + "example": { + "message": "Invoice callback accepted successfully." + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nInvalid invoice callback request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Invalid invoice callback request." + } + } + } + } + } + } + }, + "/api/shopeeintegration/{accountName}/pub/orders/{mktplaceOrderId}/cancelDelivery": { + "post": { + "tags": [ + "VTEX order callbacks" + ], + "summary": "Cancel marketplace delivery", + "description": "Cancels delivery for a marketplace order received through VTEX callback.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "security": [], + "parameters": [ + { + "$ref": "#/components/parameters/Accept" + }, + { + "$ref": "#/components/parameters/AccountNamePath" + }, + { + "$ref": "#/components/parameters/MarketplaceOrderIdPath" + } + ], + "responses": { + "200": { + "description": "200 OK\n\nDelivery cancellation completed successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericSuccessResponse" + }, + "example": { + "message": "Delivery cancellation completed successfully." + } + } + } + }, + "400": { + "description": "400 Bad Request\n\nInvalid delivery cancellation request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "message": "Conta não encontrada." + } + } + } + } + } + } + } + }, + "security": [ + { + "appKey": [], + "appToken": [] + }, + { + "VtexIdclientAutCookie": [] + } + ], + "components": { + "securitySchemes": { + "appKey": { + "type": "apiKey", + "in": "header", + "name": "X-VTEX-API-AppKey", + "description": "Unique identifier of the [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys)." + }, + "appToken": { + "type": "apiKey", + "in": "header", + "name": "X-VTEX-API-AppToken", + "description": "Secret token of the [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys)." + }, + "VtexIdclientAutCookie": { + "type": "apiKey", + "in": "header", + "name": "VtexIdclientAutCookie", + "description": "[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours." + } + }, + "parameters": { + "Content-Type": { + "name": "Content-Type", + "in": "header", + "description": "Type of the content being sent.", + "required": true, + "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, + "schema": { + "type": "string", + "example": "application/json" + } + }, + "AccountNameQuery": { + "name": "an", + "in": "query", + "description": "Account name used by the Shopee integration.", + "required": true, + "schema": { + "type": "string", + "example": "store01" + } + }, + "ShopeeOrderIdQuery": { + "name": "shopeeOrderId", + "in": "query", + "description": "Shopee order identifier.", + "required": true, + "schema": { + "type": "string", + "example": "240101ABC123" + } + }, + "OrderIdPath": { + "name": "orderId", + "in": "path", + "description": "Shopee order identifier.", + "required": true, + "schema": { + "type": "string", + "example": "240101ABC123" + } + }, + "TimeWindowQuery": { + "name": "timeWindow", + "in": "query", + "description": "Time window in days to look back when reprocessing orders.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 15, + "minimum": 1, + "example": 15 + } + }, + "AccountNamePath": { + "name": "accountName", + "in": "path", + "description": "VTEX account name.", + "required": true, + "schema": { + "type": "string", + "example": "store01" + } + }, + "MarketplaceOrderIdPath": { + "name": "mktplaceOrderId", + "in": "path", + "description": "Marketplace order identifier.", + "required": true, + "schema": { + "type": "string", + "example": "MKT-123456" + } + } + }, + "schemas": { + "GenericSuccessResponse": { + "type": "object", + "description": "Generic success response payload.", + "properties": { + "message": { + "type": "string", + "description": "Result message." + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Generic error response payload.", + "properties": { + "message": { + "type": "string", + "description": "Error message." + }, + "stackTrace": { + "type": "string", + "description": "Stack trace when available.", + "nullable": true + } + } + }, + "ShopeeOrderHookRequest": { + "type": "object", + "description": "Webhook payload sent by Shopee.", + "required": [ + "code", + "shopId", + "data" + ], + "properties": { + "code": { + "type": "integer", + "format": "int32", + "description": "Shopee webhook event code." + }, + "shopId": { + "type": "integer", + "format": "int64", + "description": "Shopee shop identifier." + }, + "data": { + "type": "object", + "description": "Order payload details.", + "required": [ + "orderSn", + "status" + ], + "properties": { + "orderSn": { + "type": "string", + "description": "Shopee order serial number." + }, + "status": { + "type": "string", + "description": "Shopee order status." + } + } + } + } + }, + "ShippingLabelLegacyResponse": { + "type": "object", + "description": "Legacy shipping label response payload.", + "properties": { + "orderId": { + "type": "string", + "description": "Shopee order identifier." + }, + "labelFormat": { + "type": "string", + "description": "Label file format." + }, + "labelUrl": { + "type": "string", + "format": "uri", + "description": "Download URL for the legacy label." + }, + "labelContentBase64": { + "type": "string", + "description": "Legacy label content in base64 when available.", + "nullable": true + } + } + }, + "ShopeeOrderDetailsResponse": { + "type": "object", + "description": "Shopee order details payload.", + "properties": { + "orderId": { + "type": "string", + "description": "Shopee order identifier." + }, + "accountName": { + "type": "string", + "description": "VTEX account name associated with the order." + }, + "status": { + "type": "string", + "description": "Current Shopee order status." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "Date and time when the order was created." + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "Date and time when the order was last updated." + }, + "totalAmount": { + "type": "number", + "format": "double", + "description": "Order total amount." + }, + "currency": { + "type": "string", + "description": "Currency code." + }, + "items": { + "type": "array", + "description": "Order item list.", + "items": { + "$ref": "#/components/schemas/ShopeeOrderItem" + } + } + } + }, + "ShopeeOrderItem": { + "type": "object", + "description": "Shopee order item payload.", + "properties": { + "sku": { + "type": "string", + "description": "Item SKU." + }, + "name": { + "type": "string", + "description": "Item name." + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Purchased quantity." + }, + "unitPrice": { + "type": "number", + "format": "double", + "description": "Unit price." + } + } + }, + "ReadyToShipSyncResponse": { + "type": "object", + "description": "Ready-to-ship reprocessing result payload.", + "properties": { + "message": { + "type": "string", + "description": "Result message." + }, + "accountName": { + "type": "string", + "description": "Account name used for reprocessing." + }, + "timeWindow": { + "type": "integer", + "format": "int32", + "description": "Time window used for reprocessing in days." + } + } + }, + "CancelledSyncResponse": { + "type": "object", + "description": "Cancelled orders reprocessing result payload.", + "properties": { + "message": { + "type": "string", + "description": "Result message." + }, + "accountName": { + "type": "string", + "description": "Account name used for reprocessing." + }, + "timeWindow": { + "type": "integer", + "format": "int32", + "description": "Time window used for reprocessing in days." + } + } + }, + "EscrowDetailsResponse": { + "type": "object", + "description": "Escrow detail payload for a Shopee order.", + "properties": { + "orderId": { + "type": "string", + "description": "Shopee order identifier." + }, + "releaseStatus": { + "type": "string", + "description": "Escrow release status." + }, + "escrowAmount": { + "type": "number", + "format": "double", + "description": "Escrow amount." + }, + "currency": { + "type": "string", + "description": "Currency code." + }, + "lastUpdated": { + "type": "string", + "format": "date-time", + "description": "Date and time of the latest escrow update." + } + } + }, + "OrderBuildResponse": { + "type": "object", + "description": "Order build payload converted to VTEX fulfillment format.", + "properties": { + "orderId": { + "type": "string", + "description": "Shopee order identifier." + }, + "vtexOrderId": { + "type": "string", + "description": "Generated VTEX order identifier." + }, + "status": { + "type": "string", + "description": "Order processing status." + }, + "items": { + "type": "array", + "description": "Built order items.", + "items": { + "$ref": "#/components/schemas/OrderBuildItem" + } + }, + "shippingData": { + "type": "object", + "description": "Shipping information for the built order.", + "properties": { + "carrierName": { + "type": "string", + "description": "Carrier name." + }, + "trackingNumber": { + "type": "string", + "description": "Tracking number." + }, + "shippingEstimateDate": { + "type": "string", + "format": "date-time", + "description": "Estimated shipping date." + } + } + } + } + }, + "OrderBuildItem": { + "type": "object", + "description": "Built order item payload.", + "properties": { + "sku": { + "type": "string", + "description": "Item SKU." + }, + "name": { + "type": "string", + "description": "Item name." + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Item quantity." + }, + "price": { + "type": "number", + "format": "double", + "description": "Item total price." + } + } + }, + "OrderFormConfigResponse": { + "type": "object", + "description": "Order form configuration result payload.", + "properties": { + "message": { + "type": "string", + "description": "Configuration result message." + }, + "accountName": { + "type": "string", + "description": "Account name used for the configuration." + } + } + }, + "VTEXInvoiceOrderRequest": { + "type": "object", + "description": "Invoice callback payload received from VTEX.", + "required": [ + "invoiceNumber", + "invoiceDate", + "invoiceValue" + ], + "properties": { + "invoiceNumber": { + "type": "string", + "description": "Invoice number." + }, + "invoiceDate": { + "type": "string", + "format": "date-time", + "description": "Invoice issuance date and time." + }, + "invoiceValue": { + "type": "number", + "format": "double", + "description": "Invoice amount." + }, + "trackingNumber": { + "type": "string", + "description": "Tracking number associated with the invoice.", + "nullable": true + }, + "trackingUrl": { + "type": "string", + "format": "uri", + "description": "Tracking URL associated with the invoice.", + "nullable": true + } + } + } + } + }, + "tags": [ + { + "name": "Shopee orders" + }, + { + "name": "VTEX order callbacks" + } + ] +} From 22cbdbc97fcbef310f8c4fc3b817aaf817560e9c Mon Sep 17 00:00:00 2001 From: anabaarbosa <> Date: Thu, 12 Mar 2026 19:02:46 +0000 Subject: [PATCH 2/3] chore: update postman files --- .../VTEX - Shopee Integration API.json | 3083 +++++++++++++++++ 1 file changed, 3083 insertions(+) create mode 100644 PostmanCollections/VTEX - Shopee Integration API.json diff --git a/PostmanCollections/VTEX - Shopee Integration API.json b/PostmanCollections/VTEX - Shopee Integration API.json new file mode 100644 index 000000000..b052b2213 --- /dev/null +++ b/PostmanCollections/VTEX - Shopee Integration API.json @@ -0,0 +1,3083 @@ +{ + "_": { + "postman_id": "eedc6ee3-cf4d-4c5b-8c49-a26b27535896" + }, + "item": [ + { + "id": "58036a30-bf2d-4b5b-aaba-6b8157db9f59", + "name": "Shopee orders", + "description": { + "content": "", + "type": "text/plain" + }, + "item": [ + { + "id": "b806a5d8-f50f-4099-b511-d570fc7fb5b1", + "name": "Receive Shopee order webhook", + "request": { + "name": "Receive Shopee order webhook", + "description": { + "content": "Receives Shopee webhook notifications and queues order messages for asynchronous processing.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "hook" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) Type of the content being sent.", + "type": "text/plain" + }, + "key": "Content-Type", + "value": "application/json" + }, + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"code\": 3,\n \"shopId\": 123456789,\n \"data\": {\n \"orderSn\": \"240101ABC123\",\n \"status\": \"READY_TO_SHIP\"\n }\n}", + "options": { + "raw": { + "headerFamily": "json", + "language": "json" + } + } + } + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "d930687b-6569-490b-ad8a-2197300f8d3b", + "name": "200 OK\n\nWebhook processed successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "hook" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) Type of the content being sent.", + "type": "text/plain" + }, + "key": "Content-Type", + "value": "application/json" + }, + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"code\": 3,\n \"shopId\": 123456789,\n \"data\": {\n \"orderSn\": \"240101ABC123\",\n \"status\": \"READY_TO_SHIP\"\n }\n}", + "options": { + "raw": { + "headerFamily": "json", + "language": "json" + } + } + } + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Webhook processed successfully.\"\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "a894d055-09b9-4c7a-bc36-f13e2d9af2ec", + "name": "400 Bad Request\n\nInvalid webhook payload.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "hook" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) Type of the content being sent.", + "type": "text/plain" + }, + "key": "Content-Type", + "value": "application/json" + }, + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"code\": 3,\n \"shopId\": 123456789,\n \"data\": {\n \"orderSn\": \"240101ABC123\",\n \"status\": \"READY_TO_SHIP\"\n }\n}", + "options": { + "raw": { + "headerFamily": "json", + "language": "json" + } + } + } + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Invalid JSON payload.\"\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "3355a54f-ec86-4ef2-94d7-8a01fc8b3a80", + "name": "500 Internal Server Error\n\nUnexpected error while processing the webhook.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "hook" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) Type of the content being sent.", + "type": "text/plain" + }, + "key": "Content-Type", + "value": "application/json" + }, + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"code\": 3,\n \"shopId\": 123456789,\n \"data\": {\n \"orderSn\": \"240101ABC123\",\n \"status\": \"READY_TO_SHIP\"\n }\n}", + "options": { + "raw": { + "headerFamily": "json", + "language": "json" + } + } + } + }, + "status": "Internal Server Error", + "code": 500, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Unexpected error while processing the webhook.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "e3762d2f-c5df-4bbb-bf13-c9504c59e76b", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[POST]::/api/shopeeintegration/order/hook - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[POST]::/api/shopeeintegration/order/hook - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[POST]::/api/shopeeintegration/order/hook - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Generic success response payload.\",\"properties\":{\"message\":{\"type\":\"string\",\"description\":\"Result message.\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/api/shopeeintegration/order/hook - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + }, + { + "id": "b0123594-4d5a-47a9-a70c-d94db398bfd0", + "name": "Download legacy shipping label", + "request": { + "name": "Download legacy shipping label", + "description": { + "content": "Downloads a legacy shipping label for the given Shopee order.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "shipping", + "label", + "legacy" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + }, + { + "disabled": false, + "description": { + "content": "(Required) Shopee order identifier.", + "type": "text/plain" + }, + "key": "shopeeOrderId", + "value": "240101ABC123" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "GET", + "body": {} + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "c8a17943-7284-4cee-8e4c-1fdce1358ae8", + "name": "200 OK\n\nLegacy shipping label retrieved successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "shipping", + "label", + "legacy" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + }, + { + "disabled": false, + "description": { + "content": "(Required) Shopee order identifier.", + "type": "text/plain" + }, + "key": "shopeeOrderId", + "value": "240101ABC123" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"orderId\": \"240101ABC123\",\n \"labelFormat\": \"PDF\",\n \"labelUrl\": \"https://storage.example.com/shopee/labels/240101ABC123.pdf\",\n \"labelContentBase64\": null\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "d8cf237f-67e9-42af-baa8-5db3b78d379c", + "name": "400 Bad Request\n\nMissing or invalid query parameters.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "shipping", + "label", + "legacy" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + }, + { + "disabled": false, + "description": { + "content": "(Required) Shopee order identifier.", + "type": "text/plain" + }, + "key": "shopeeOrderId", + "value": "240101ABC123" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Account name (an) is required.\"\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "0844845b-102e-47e8-b7a4-f8ad35208217", + "name": "500 Internal Server Error\n\nUnexpected error while downloading the label.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "shipping", + "label", + "legacy" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + }, + { + "disabled": false, + "description": { + "content": "(Required) Shopee order identifier.", + "type": "text/plain" + }, + "key": "shopeeOrderId", + "value": "240101ABC123" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "Internal Server Error", + "code": 500, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Unexpected error while downloading the label.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "a4855e78-b678-4d6e-a4b1-180d563242c6", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[GET]::/api/shopeeintegration/order/shipping/label/legacy - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[GET]::/api/shopeeintegration/order/shipping/label/legacy - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[GET]::/api/shopeeintegration/order/shipping/label/legacy - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Legacy shipping label response payload.\",\"properties\":{\"orderId\":{\"type\":\"string\",\"description\":\"Shopee order identifier.\"},\"labelFormat\":{\"type\":\"string\",\"description\":\"Label file format.\"},\"labelUrl\":{\"type\":\"string\",\"format\":\"uri\",\"description\":\"Download URL for the legacy label.\"},\"labelContentBase64\":{\"type\":[\"string\",\"null\"],\"description\":\"Legacy label content in base64 when available.\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/api/shopeeintegration/order/shipping/label/legacy - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + }, + { + "id": "e8e779fd-4582-4ab3-aae7-52ddf71dbba2", + "name": "Get Shopee order details", + "request": { + "name": "Get Shopee order details", + "description": { + "content": "Gets order details from Shopee for the informed account and order identifier.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + ":orderId" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [ + { + "disabled": false, + "description": { + "content": "(Required) Shopee order identifier.", + "type": "text/plain" + }, + "type": "any", + "value": "240101ABC123", + "key": "orderId" + } + ] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "GET", + "body": {} + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "f4356582-976a-4dbd-a21a-0a3dc131e6c8", + "name": "200 OK\n\nShopee order details retrieved successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + ":orderId" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"orderId\": \"240101ABC123\",\n \"accountName\": \"store01\",\n \"status\": \"READY_TO_SHIP\",\n \"createdAt\": \"2026-03-12T13:00:00Z\",\n \"updatedAt\": \"2026-03-12T13:15:00Z\",\n \"totalAmount\": 259.9,\n \"currency\": \"BRL\",\n \"items\": [\n {\n \"sku\": \"SKU-001\",\n \"name\": \"Running Shoes\",\n \"quantity\": 1,\n \"unitPrice\": 259.9\n }\n ]\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "6242769f-2001-4c17-9d7a-014817785377", + "name": "400 Bad Request\n\nMissing account name or order identifier.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + ":orderId" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Account name (an) and OrderId is required.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "4f311c55-3eec-4d05-9436-d228267112b5", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[GET]::/api/shopeeintegration/order/:orderId - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[GET]::/api/shopeeintegration/order/:orderId - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[GET]::/api/shopeeintegration/order/:orderId - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Shopee order details payload.\",\"properties\":{\"orderId\":{\"type\":\"string\",\"description\":\"Shopee order identifier.\"},\"accountName\":{\"type\":\"string\",\"description\":\"VTEX account name associated with the order.\"},\"status\":{\"type\":\"string\",\"description\":\"Current Shopee order status.\"},\"createdAt\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Date and time when the order was created.\"},\"updatedAt\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Date and time when the order was last updated.\"},\"totalAmount\":{\"type\":\"number\",\"format\":\"double\",\"description\":\"Order total amount.\"},\"currency\":{\"type\":\"string\",\"description\":\"Currency code.\"},\"items\":{\"type\":\"array\",\"description\":\"Order item list.\",\"items\":{\"type\":\"object\",\"description\":\"Shopee order item payload.\",\"properties\":{\"sku\":{\"type\":\"string\",\"description\":\"Item SKU.\"},\"name\":{\"type\":\"string\",\"description\":\"Item name.\"},\"quantity\":{\"type\":\"integer\",\"format\":\"int32\",\"description\":\"Purchased quantity.\"},\"unitPrice\":{\"type\":\"number\",\"format\":\"double\",\"description\":\"Unit price.\"}}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/api/shopeeintegration/order/:orderId - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + }, + { + "id": "de04dd55-c9ba-45b9-b98d-89071656675b", + "name": "Reprocess ready-to-ship orders", + "request": { + "name": "Reprocess ready-to-ship orders", + "description": { + "content": "Forces creation and invoicing of Shopee orders in READY_TO_SHIP status for a given time window.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "reprocess", + "readytoship" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + }, + { + "disabled": true, + "description": { + "content": "Time window in days to look back when reprocessing orders.", + "type": "text/plain" + }, + "key": "timeWindow", + "value": "15" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "POST", + "body": {} + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "b3db89ef-8dda-4d39-b29d-cb1065965ea6", + "name": "200 OK\n\nReady-to-ship reprocessing completed successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "reprocess", + "readytoship" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + }, + { + "disabled": true, + "description": { + "content": "Time window in days to look back when reprocessing orders.", + "type": "text/plain" + }, + "key": "timeWindow", + "value": "15" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": {} + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Ready-to-ship reprocessing completed successfully.\",\n \"accountName\": \"store01\",\n \"timeWindow\": 15\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "c44c81cf-4970-4903-b7bb-8203929dc671", + "name": "400 Bad Request\n\nInvalid request for reprocessing ready-to-ship orders.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "reprocess", + "readytoship" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + }, + { + "disabled": true, + "description": { + "content": "Time window in days to look back when reprocessing orders.", + "type": "text/plain" + }, + "key": "timeWindow", + "value": "15" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": {} + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Not able to reprocess all Ready to Ship orders.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "f0ccd504-eb1f-47e3-84e6-c30449f9fb50", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[POST]::/api/shopeeintegration/order/reprocess/readytoship - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[POST]::/api/shopeeintegration/order/reprocess/readytoship - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[POST]::/api/shopeeintegration/order/reprocess/readytoship - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Ready-to-ship reprocessing result payload.\",\"properties\":{\"message\":{\"type\":\"string\",\"description\":\"Result message.\"},\"accountName\":{\"type\":\"string\",\"description\":\"Account name used for reprocessing.\"},\"timeWindow\":{\"type\":\"integer\",\"format\":\"int32\",\"description\":\"Time window used for reprocessing in days.\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/api/shopeeintegration/order/reprocess/readytoship - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + }, + { + "id": "415fd4e7-94c6-40c7-8d80-139d2fde777c", + "name": "Reprocess cancelled orders", + "request": { + "name": "Reprocess cancelled orders", + "description": { + "content": "Forces VTEX OMS cancellation for Shopee orders in CANCELLED status for a given time window.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "reprocess", + "cancelled" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + }, + { + "disabled": true, + "description": { + "content": "Time window in days to look back when reprocessing orders.", + "type": "text/plain" + }, + "key": "timeWindow", + "value": "15" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "POST", + "body": {} + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "9875de12-a9db-4305-b86f-16260fa3c21e", + "name": "200 OK\n\nCancelled orders reprocessing completed successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "reprocess", + "cancelled" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + }, + { + "disabled": true, + "description": { + "content": "Time window in days to look back when reprocessing orders.", + "type": "text/plain" + }, + "key": "timeWindow", + "value": "15" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": {} + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Cancelled orders reprocessing completed successfully.\",\n \"accountName\": \"store01\",\n \"timeWindow\": 15\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "d701fec5-9154-4165-b67f-8df04e2d11d6", + "name": "400 Bad Request\n\nInvalid request for reprocessing cancelled orders.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "reprocess", + "cancelled" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + }, + { + "disabled": true, + "description": { + "content": "Time window in days to look back when reprocessing orders.", + "type": "text/plain" + }, + "key": "timeWindow", + "value": "15" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": {} + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Not able to reprocess all Cancelled orders.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "451f214a-8d69-4e2c-9207-b13d29e94bf7", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[POST]::/api/shopeeintegration/order/reprocess/cancelled - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[POST]::/api/shopeeintegration/order/reprocess/cancelled - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[POST]::/api/shopeeintegration/order/reprocess/cancelled - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Cancelled orders reprocessing result payload.\",\"properties\":{\"message\":{\"type\":\"string\",\"description\":\"Result message.\"},\"accountName\":{\"type\":\"string\",\"description\":\"Account name used for reprocessing.\"},\"timeWindow\":{\"type\":\"integer\",\"format\":\"int32\",\"description\":\"Time window used for reprocessing in days.\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/api/shopeeintegration/order/reprocess/cancelled - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + }, + { + "id": "d943dd70-a1dc-4d1c-b58b-3a94e82621f4", + "name": "Get order escrow details", + "request": { + "name": "Get order escrow details", + "description": { + "content": "Gets escrow details for a Shopee order.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "pvt", + ":orderId", + "escrow" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [ + { + "disabled": false, + "description": { + "content": "(Required) Shopee order identifier.", + "type": "text/plain" + }, + "type": "any", + "value": "240101ABC123", + "key": "orderId" + } + ] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "GET", + "body": {} + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "33664a92-fdd5-4932-8975-396c04693225", + "name": "200 OK\n\nEscrow details retrieved successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "pvt", + ":orderId", + "escrow" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"orderId\": \"240101ABC123\",\n \"releaseStatus\": \"HOLDING\",\n \"escrowAmount\": 259.9,\n \"currency\": \"BRL\",\n \"lastUpdated\": \"2026-03-12T13:30:00Z\"\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "6c74b74d-da72-4faa-b686-50b8eada65cc", + "name": "400 Bad Request\n\nInvalid request for escrow details.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "pvt", + ":orderId", + "escrow" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Invalid request for escrow details.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "af9676fa-f033-4eee-879f-e8652ae9e160", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[GET]::/api/shopeeintegration/order/pvt/:orderId/escrow - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[GET]::/api/shopeeintegration/order/pvt/:orderId/escrow - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[GET]::/api/shopeeintegration/order/pvt/:orderId/escrow - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Escrow detail payload for a Shopee order.\",\"properties\":{\"orderId\":{\"type\":\"string\",\"description\":\"Shopee order identifier.\"},\"releaseStatus\":{\"type\":\"string\",\"description\":\"Escrow release status.\"},\"escrowAmount\":{\"type\":\"number\",\"format\":\"double\",\"description\":\"Escrow amount.\"},\"currency\":{\"type\":\"string\",\"description\":\"Currency code.\"},\"lastUpdated\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Date and time of the latest escrow update.\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/api/shopeeintegration/order/pvt/:orderId/escrow - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + }, + { + "id": "957ff131-fff7-4086-831f-a770fc802c8d", + "name": "Build VTEX order payload", + "request": { + "name": "Build VTEX order payload", + "description": { + "content": "Builds and formats a Shopee order payload to the VTEX fulfillment format.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "pvt", + ":orderId", + "build" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [ + { + "disabled": false, + "description": { + "content": "(Required) Shopee order identifier.", + "type": "text/plain" + }, + "type": "any", + "value": "240101ABC123", + "key": "orderId" + } + ] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "GET", + "body": {} + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "ebd15304-a940-4225-9e33-e981f0703a1f", + "name": "200 OK\n\nOrder build generated successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "pvt", + ":orderId", + "build" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"orderId\": \"240101ABC123\",\n \"vtexOrderId\": \"VTX-123456\",\n \"status\": \"READY_TO_FULFILL\",\n \"items\": [\n {\n \"sku\": \"SKU-001\",\n \"name\": \"Running Shoes\",\n \"quantity\": 1,\n \"price\": 259.9\n }\n ],\n \"shippingData\": {\n \"carrierName\": \"Shopee Xpress\",\n \"trackingNumber\": \"BR123456789\",\n \"shippingEstimateDate\": \"2026-03-15T18:00:00Z\"\n }\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "cffc1f77-97a6-4042-9fb4-d0bbde5fc81d", + "name": "400 Bad Request\n\nInvalid request for order build.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "pvt", + ":orderId", + "build" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Invalid request for order build.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "8d201cb6-5888-4e6a-96f9-82748bb09726", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[GET]::/api/shopeeintegration/order/pvt/:orderId/build - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[GET]::/api/shopeeintegration/order/pvt/:orderId/build - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[GET]::/api/shopeeintegration/order/pvt/:orderId/build - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Order build payload converted to VTEX fulfillment format.\",\"properties\":{\"orderId\":{\"type\":\"string\",\"description\":\"Shopee order identifier.\"},\"vtexOrderId\":{\"type\":\"string\",\"description\":\"Generated VTEX order identifier.\"},\"status\":{\"type\":\"string\",\"description\":\"Order processing status.\"},\"items\":{\"type\":\"array\",\"description\":\"Built order items.\",\"items\":{\"type\":\"object\",\"description\":\"Built order item payload.\",\"properties\":{\"sku\":{\"type\":\"string\",\"description\":\"Item SKU.\"},\"name\":{\"type\":\"string\",\"description\":\"Item name.\"},\"quantity\":{\"type\":\"integer\",\"format\":\"int32\",\"description\":\"Item quantity.\"},\"price\":{\"type\":\"number\",\"format\":\"double\",\"description\":\"Item total price.\"}}}},\"shippingData\":{\"type\":\"object\",\"description\":\"Shipping information for the built order.\",\"properties\":{\"carrierName\":{\"type\":\"string\",\"description\":\"Carrier name.\"},\"trackingNumber\":{\"type\":\"string\",\"description\":\"Tracking number.\"},\"shippingEstimateDate\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Estimated shipping date.\"}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/api/shopeeintegration/order/pvt/:orderId/build - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + }, + { + "id": "80e5036d-242a-44b5-872a-f60491828611", + "name": "Configure seller order form apps", + "request": { + "name": "Configure seller order form apps", + "description": { + "content": "Creates or updates marketplace order form app settings for the informed account.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "pvt", + "orderfrom", + "config" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "GET", + "body": {} + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "9d26ed0d-7089-429f-a6c2-00c727a7831c", + "name": "200 OK\n\nOrder form app settings updated successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "pvt", + "orderfrom", + "config" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Order Form atualizado com sucesso.\",\n \"accountName\": \"store01\"\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "35fd3776-3afb-47bb-8911-eb5452e88185", + "name": "400 Bad Request\n\nInvalid request for order form configuration.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "pvt", + "orderfrom", + "config" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Invalid request for order form configuration.\"\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "e87800fa-09d4-4079-8c1d-e2d7964c8d1f", + "name": "404 Not Found\n\nShopee credentials were not found for the account.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + "order", + "pvt", + "orderfrom", + "config" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [ + { + "disabled": false, + "description": { + "content": "(Required) Account name used by the Shopee integration.", + "type": "text/plain" + }, + "key": "an", + "value": "store01" + } + ], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "Not Found", + "code": 404, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Shopee credentials were not found for the account.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "35c6afbf-8f81-4cce-9e83-ef4216244d4b", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[GET]::/api/shopeeintegration/order/pvt/orderfrom/config - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[GET]::/api/shopeeintegration/order/pvt/orderfrom/config - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[GET]::/api/shopeeintegration/order/pvt/orderfrom/config - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Order form configuration result payload.\",\"properties\":{\"message\":{\"type\":\"string\",\"description\":\"Configuration result message.\"},\"accountName\":{\"type\":\"string\",\"description\":\"Account name used for the configuration.\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/api/shopeeintegration/order/pvt/orderfrom/config - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + } + ], + "event": [] + }, + { + "id": "ea839bab-579a-439b-9236-80fdc970d4be", + "name": "VTEX order callbacks", + "description": { + "content": "", + "type": "text/plain" + }, + "item": [ + { + "id": "a0a58605-b308-4edc-9963-ffc3b31d4a1b", + "name": "Cancel marketplace order", + "request": { + "name": "Cancel marketplace order", + "description": { + "content": "Receives a VTEX cancellation callback and queues the marketplace order cancellation flow.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pvt", + "orders", + ":mktplaceOrderId", + "cancel" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [ + { + "disabled": false, + "description": { + "content": "(Required) VTEX account name.", + "type": "text/plain" + }, + "type": "any", + "value": "store01", + "key": "accountName" + }, + { + "disabled": false, + "description": { + "content": "(Required) Marketplace order identifier.", + "type": "text/plain" + }, + "type": "any", + "value": "MKT-123456", + "key": "mktplaceOrderId" + } + ] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "POST", + "body": {} + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "de772484-0e05-4bb4-abe8-a51a0b17fa5c", + "name": "200 OK\n\nCancellation callback accepted successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pvt", + "orders", + ":mktplaceOrderId", + "cancel" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": {} + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Cancellation callback accepted successfully.\"\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "efa37981-ab24-4c65-9fba-7e9ee4cf58ce", + "name": "400 Bad Request\n\nInvalid cancellation callback request.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pvt", + "orders", + ":mktplaceOrderId", + "cancel" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": {} + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Invalid cancellation callback request.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "36408af4-5f03-4ba0-90da-90972a408596", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pvt/orders/:mktplaceOrderId/cancel - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[POST]::/api/shopeeintegration/:accountName/pvt/orders/:mktplaceOrderId/cancel - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pvt/orders/:mktplaceOrderId/cancel - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Generic success response payload.\",\"properties\":{\"message\":{\"type\":\"string\",\"description\":\"Result message.\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pvt/orders/:mktplaceOrderId/cancel - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + }, + { + "id": "95d2ae45-48d2-44b7-9b0d-9b1f6939ee5b", + "name": "Invoice marketplace order via public route", + "request": { + "name": "Invoice marketplace order via public route", + "description": { + "content": "Receives a VTEX invoice callback on the public route and queues invoice processing.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pub", + "orders", + ":mktplaceOrderId", + "invoice" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [ + { + "disabled": false, + "description": { + "content": "(Required) VTEX account name.", + "type": "text/plain" + }, + "type": "any", + "value": "store01", + "key": "accountName" + }, + { + "disabled": false, + "description": { + "content": "(Required) Marketplace order identifier.", + "type": "text/plain" + }, + "type": "any", + "value": "MKT-123456", + "key": "mktplaceOrderId" + } + ] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) Type of the content being sent.", + "type": "text/plain" + }, + "key": "Content-Type", + "value": "application/json" + }, + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"invoiceNumber\": \"NF-123456\",\n \"invoiceDate\": \"2026-03-12T13:45:00Z\",\n \"invoiceValue\": 259.9,\n \"trackingNumber\": \"BR123456789\",\n \"trackingUrl\": \"https://tracking.example.com/BR123456789\"\n}", + "options": { + "raw": { + "headerFamily": "json", + "language": "json" + } + } + } + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "1b246356-636d-46b6-8552-28f9d5406ac5", + "name": "200 OK\n\nInvoice callback accepted successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pub", + "orders", + ":mktplaceOrderId", + "invoice" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) Type of the content being sent.", + "type": "text/plain" + }, + "key": "Content-Type", + "value": "application/json" + }, + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"invoiceNumber\": \"NF-123456\",\n \"invoiceDate\": \"2026-03-12T13:45:00Z\",\n \"invoiceValue\": 259.9,\n \"trackingNumber\": \"BR123456789\",\n \"trackingUrl\": \"https://tracking.example.com/BR123456789\"\n}", + "options": { + "raw": { + "headerFamily": "json", + "language": "json" + } + } + } + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Invoice callback accepted successfully.\"\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "f9c943db-7e6e-45fc-b045-4c706b8abf53", + "name": "400 Bad Request\n\nInvalid invoice callback request.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pub", + "orders", + ":mktplaceOrderId", + "invoice" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) Type of the content being sent.", + "type": "text/plain" + }, + "key": "Content-Type", + "value": "application/json" + }, + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"invoiceNumber\": \"NF-123456\",\n \"invoiceDate\": \"2026-03-12T13:45:00Z\",\n \"invoiceValue\": 259.9,\n \"trackingNumber\": \"BR123456789\",\n \"trackingUrl\": \"https://tracking.example.com/BR123456789\"\n}", + "options": { + "raw": { + "headerFamily": "json", + "language": "json" + } + } + } + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Invalid invoice callback request.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "f97dc896-81a3-47b6-b9de-d0d20c70a40d", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pub/orders/:mktplaceOrderId/invoice - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[POST]::/api/shopeeintegration/:accountName/pub/orders/:mktplaceOrderId/invoice - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pub/orders/:mktplaceOrderId/invoice - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Generic success response payload.\",\"properties\":{\"message\":{\"type\":\"string\",\"description\":\"Result message.\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pub/orders/:mktplaceOrderId/invoice - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + }, + { + "id": "2f4a6b04-6a5d-4d3d-8c4b-29a798699cb0", + "name": "Invoice marketplace order via private route", + "request": { + "name": "Invoice marketplace order via private route", + "description": { + "content": "Receives a VTEX invoice callback on the private route and queues invoice processing.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pvt", + "orders", + ":mktplaceOrderId", + "invoice" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [ + { + "disabled": false, + "description": { + "content": "(Required) VTEX account name.", + "type": "text/plain" + }, + "type": "any", + "value": "store01", + "key": "accountName" + }, + { + "disabled": false, + "description": { + "content": "(Required) Marketplace order identifier.", + "type": "text/plain" + }, + "type": "any", + "value": "MKT-123456", + "key": "mktplaceOrderId" + } + ] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) Type of the content being sent.", + "type": "text/plain" + }, + "key": "Content-Type", + "value": "application/json" + }, + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"invoiceNumber\": \"NF-123456\",\n \"invoiceDate\": \"2026-03-12T13:45:00Z\",\n \"invoiceValue\": 259.9,\n \"trackingNumber\": \"BR123456789\",\n \"trackingUrl\": \"https://tracking.example.com/BR123456789\"\n}", + "options": { + "raw": { + "headerFamily": "json", + "language": "json" + } + } + } + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "f084a9b8-b1c8-4e4b-ba64-717feb7ea134", + "name": "200 OK\n\nInvoice callback accepted successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pvt", + "orders", + ":mktplaceOrderId", + "invoice" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) Type of the content being sent.", + "type": "text/plain" + }, + "key": "Content-Type", + "value": "application/json" + }, + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"invoiceNumber\": \"NF-123456\",\n \"invoiceDate\": \"2026-03-12T13:45:00Z\",\n \"invoiceValue\": 259.9,\n \"trackingNumber\": \"BR123456789\",\n \"trackingUrl\": \"https://tracking.example.com/BR123456789\"\n}", + "options": { + "raw": { + "headerFamily": "json", + "language": "json" + } + } + } + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Invoice callback accepted successfully.\"\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "95eac36b-0aec-4dce-bded-a9f971829e85", + "name": "400 Bad Request\n\nInvalid invoice callback request.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pvt", + "orders", + ":mktplaceOrderId", + "invoice" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) Type of the content being sent.", + "type": "text/plain" + }, + "key": "Content-Type", + "value": "application/json" + }, + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"invoiceNumber\": \"NF-123456\",\n \"invoiceDate\": \"2026-03-12T13:45:00Z\",\n \"invoiceValue\": 259.9,\n \"trackingNumber\": \"BR123456789\",\n \"trackingUrl\": \"https://tracking.example.com/BR123456789\"\n}", + "options": { + "raw": { + "headerFamily": "json", + "language": "json" + } + } + } + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Invalid invoice callback request.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "6b971ad7-a05f-42dc-824c-2e977dcd5f06", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pvt/orders/:mktplaceOrderId/invoice - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[POST]::/api/shopeeintegration/:accountName/pvt/orders/:mktplaceOrderId/invoice - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pvt/orders/:mktplaceOrderId/invoice - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Generic success response payload.\",\"properties\":{\"message\":{\"type\":\"string\",\"description\":\"Result message.\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pvt/orders/:mktplaceOrderId/invoice - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + }, + { + "id": "10e9bb04-8337-4805-8e27-6bfa63c595b8", + "name": "Cancel marketplace delivery", + "request": { + "name": "Cancel marketplace delivery", + "description": { + "content": "Cancels delivery for a marketplace order received through VTEX callback.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "type": "text/plain" + }, + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pub", + "orders", + ":mktplaceOrderId", + "cancelDelivery" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [ + { + "disabled": false, + "description": { + "content": "(Required) VTEX account name.", + "type": "text/plain" + }, + "type": "any", + "value": "store01", + "key": "accountName" + }, + { + "disabled": false, + "description": { + "content": "(Required) Marketplace order identifier.", + "type": "text/plain" + }, + "type": "any", + "value": "MKT-123456", + "key": "mktplaceOrderId" + } + ] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "POST", + "body": {} + }, + "response": [ + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "4907d9ef-02f9-4de4-b1a4-d6c99246d6f3", + "name": "200 OK\n\nDelivery cancellation completed successfully.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pub", + "orders", + ":mktplaceOrderId", + "cancelDelivery" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": {} + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Delivery cancellation completed successfully.\"\n}", + "cookie": [] + }, + { + "_": { + "postman_previewlanguage": "json" + }, + "id": "7f2e5463-e4fe-4af4-9bb3-8da8b35671d0", + "name": "400 Bad Request\n\nInvalid delivery cancellation request.", + "originalRequest": { + "url": { + "path": [ + "api", + "shopeeintegration", + ":accountName", + "pub", + "orders", + ":mktplaceOrderId", + "cancelDelivery" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "disabled": false, + "description": { + "content": "(Required) HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", + "type": "text/plain" + }, + "key": "Accept", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "X-VTEX-API-AppKey", + "value": "" + } + ], + "method": "POST", + "body": {} + }, + "status": "Bad Request", + "code": 400, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"message\": \"Conta não encontrada.\"\n}", + "cookie": [] + } + ], + "event": [ + { + "listen": "test", + "script": { + "id": "9f8ea0b6-edfc-40a7-90e7-93b8aa22b834", + "type": "text/javascript", + "exec": [ + "// Validate status 2xx \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pub/orders/:mktplaceOrderId/cancelDelivery - Status code is 2xx\", function () {\n pm.response.to.be.success;\n});\n", + "// Validate if response header has matching content-type\npm.test(\"[POST]::/api/shopeeintegration/:accountName/pub/orders/:mktplaceOrderId/cancelDelivery - Content-Type is application/json\", function () {\n pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n", + "// Validate if response has JSON Body \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pub/orders/:mktplaceOrderId/cancelDelivery - Response has JSON Body\", function () {\n pm.response.to.have.jsonBody();\n});\n", + "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Generic success response payload.\",\"properties\":{\"message\":{\"type\":\"string\",\"description\":\"Result message.\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/api/shopeeintegration/:accountName/pub/orders/:mktplaceOrderId/cancelDelivery - Schema is valid\", function() {\n pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n" + ] + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + } + ], + "event": [] + } + ], + "auth": { + "type": "apikey", + "apikey": [ + { + "type": "any", + "value": "X-VTEX-API-AppKey", + "key": "key" + }, + { + "type": "any", + "value": "{{apiKey}}", + "key": "value" + }, + { + "type": "any", + "value": "header", + "key": "in" + } + ] + }, + "event": [], + "variable": [ + { + "type": "any", + "value": "apiexamples", + "key": "accountName" + }, + { + "type": "any", + "value": "vtexcommercestable", + "key": "environment" + }, + { + "type": "any", + "value": "https://{{accountName}}.{{environment}}.com.br", + "key": "baseUrl" + } + ], + "info": { + "_postman_id": "eedc6ee3-cf4d-4c5b-8c49-a26b27535896", + "name": "VTEX Shopee Integration API", + "version": { + "raw": "1.0.0", + "major": 1, + "minor": 0, + "patch": 0, + "prerelease": [], + "build": [], + "string": "1.0.0" + }, + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "description": { + "content": "The VTEX Shopee Integration API provides endpoints for handling Shopee order webhooks, reprocessing order synchronization workflows, querying Shopee order data, and receiving VTEX marketplace order callbacks.", + "type": "text/plain" + } + } +} \ No newline at end of file From a757e4e9d22016c24e103db013f4fd2fd19f3681 Mon Sep 17 00:00:00 2001 From: Ana Barbosa Date: Fri, 13 Mar 2026 15:42:09 -0300 Subject: [PATCH 3/3] Update VTEX - Shopee Integration API.json --- VTEX - Shopee Integration API.json | 921 +---------------------------- 1 file changed, 18 insertions(+), 903 deletions(-) diff --git a/VTEX - Shopee Integration API.json b/VTEX - Shopee Integration API.json index dbed228f9..9ce8c4043 100644 --- a/VTEX - Shopee Integration API.json +++ b/VTEX - Shopee Integration API.json @@ -25,664 +25,64 @@ } ], "paths": { - "/api/shopeeintegration/order/hook": { - "post": { - "tags": [ - "Shopee orders" - ], - "summary": "Receive Shopee order webhook", - "description": "Receives Shopee webhook notifications and queues order messages for asynchronous processing.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", - "security": [], - "parameters": [ - { - "$ref": "#/components/parameters/Content-Type" - }, - { - "$ref": "#/components/parameters/Accept" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ShopeeOrderHookRequest" - }, - "example": { - "code": 3, - "shopId": 123456789, - "data": { - "orderSn": "240101ABC123", - "status": "READY_TO_SHIP" - } - } - } - } - }, - "responses": { - "200": { - "description": "200 OK\n\nWebhook processed successfully.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenericSuccessResponse" - }, - "example": { - "message": "Webhook processed successfully." - } - } - } - }, - "400": { - "description": "400 Bad Request\n\nInvalid webhook payload.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Invalid JSON payload." - } - } - } - }, - "500": { - "description": "500 Internal Server Error\n\nUnexpected error while processing the webhook.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Unexpected error while processing the webhook." - } - } - } - } - } - } - }, - "/api/shopeeintegration/order/shipping/label/legacy": { - "get": { - "tags": [ - "Shopee orders" - ], - "summary": "Download legacy shipping label", - "description": "Downloads a legacy shipping label for the given Shopee order.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", - "security": [], - "parameters": [ - { - "$ref": "#/components/parameters/Accept" - }, - { - "$ref": "#/components/parameters/AccountNameQuery" - }, - { - "$ref": "#/components/parameters/ShopeeOrderIdQuery" - } - ], - "responses": { - "200": { - "description": "200 OK\n\nLegacy shipping label retrieved successfully.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ShippingLabelLegacyResponse" - }, - "example": { - "orderId": "240101ABC123", - "labelFormat": "PDF", - "labelUrl": "https://storage.example.com/shopee/labels/240101ABC123.pdf", - "labelContentBase64": null - } - } - } - }, - "400": { - "description": "400 Bad Request\n\nMissing or invalid query parameters.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Account name (an) is required." - } - } - } - }, - "500": { - "description": "500 Internal Server Error\n\nUnexpected error while downloading the label.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Unexpected error while downloading the label." - } - } - } - } - } - } - }, - "/api/shopeeintegration/order/{orderId}": { - "get": { - "tags": [ - "Shopee orders" - ], - "summary": "Get Shopee order details", - "description": "Gets order details from Shopee for the informed account and order identifier.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", - "parameters": [ - { - "$ref": "#/components/parameters/Accept" - }, - { - "$ref": "#/components/parameters/AccountNameQuery" - }, - { - "$ref": "#/components/parameters/OrderIdPath" - } - ], - "responses": { - "200": { - "description": "200 OK\n\nShopee order details retrieved successfully.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ShopeeOrderDetailsResponse" - }, - "example": { - "orderId": "240101ABC123", - "accountName": "store01", - "status": "READY_TO_SHIP", - "createdAt": "2026-03-12T13:00:00Z", - "updatedAt": "2026-03-12T13:15:00Z", - "totalAmount": 259.9, - "currency": "BRL", - "items": [ - { - "sku": "SKU-001", - "name": "Running Shoes", - "quantity": 1, - "unitPrice": 259.9 - } - ] - } - } - } - }, - "400": { - "description": "400 Bad Request\n\nMissing account name or order identifier.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Account name (an) and OrderId is required." - } - } - } - } - } - } - }, - "/api/shopeeintegration/order/reprocess/readytoship": { - "post": { - "tags": [ - "Shopee orders" - ], - "summary": "Reprocess ready-to-ship orders", - "description": "Forces creation and invoicing of Shopee orders in READY_TO_SHIP status for a given time window.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", - "parameters": [ - { - "$ref": "#/components/parameters/Accept" - }, - { - "$ref": "#/components/parameters/AccountNameQuery" - }, - { - "$ref": "#/components/parameters/TimeWindowQuery" - } - ], - "responses": { - "200": { - "description": "200 OK\n\nReady-to-ship reprocessing completed successfully.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReadyToShipSyncResponse" - }, - "example": { - "message": "Ready-to-ship reprocessing completed successfully.", - "accountName": "store01", - "timeWindow": 15 - } - } - } - }, - "400": { - "description": "400 Bad Request\n\nInvalid request for reprocessing ready-to-ship orders.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Not able to reprocess all Ready to Ship orders." - } - } - } - } - } - } - }, - "/api/shopeeintegration/order/reprocess/cancelled": { - "post": { - "tags": [ - "Shopee orders" - ], - "summary": "Reprocess cancelled orders", - "description": "Forces VTEX OMS cancellation for Shopee orders in CANCELLED status for a given time window.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", - "parameters": [ - { - "$ref": "#/components/parameters/Accept" - }, - { - "$ref": "#/components/parameters/AccountNameQuery" - }, - { - "$ref": "#/components/parameters/TimeWindowQuery" - } - ], - "responses": { - "200": { - "description": "200 OK\n\nCancelled orders reprocessing completed successfully.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CancelledSyncResponse" - }, - "example": { - "message": "Cancelled orders reprocessing completed successfully.", - "accountName": "store01", - "timeWindow": 15 - } - } - } - }, - "400": { - "description": "400 Bad Request\n\nInvalid request for reprocessing cancelled orders.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Not able to reprocess all Cancelled orders." - } - } - } - } - } - } - }, - "/api/shopeeintegration/order/pvt/{orderId}/escrow": { - "get": { - "tags": [ - "Shopee orders" - ], - "summary": "Get order escrow details", - "description": "Gets escrow details for a Shopee order.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", - "parameters": [ - { - "$ref": "#/components/parameters/Accept" - }, - { - "$ref": "#/components/parameters/AccountNameQuery" - }, - { - "$ref": "#/components/parameters/OrderIdPath" - } - ], - "responses": { - "200": { - "description": "200 OK\n\nEscrow details retrieved successfully.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EscrowDetailsResponse" - }, - "example": { - "orderId": "240101ABC123", - "releaseStatus": "HOLDING", - "escrowAmount": 259.9, - "currency": "BRL", - "lastUpdated": "2026-03-12T13:30:00Z" - } - } - } - }, - "400": { - "description": "400 Bad Request\n\nInvalid request for escrow details.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Invalid request for escrow details." - } - } - } - } - } - } - }, - "/api/shopeeintegration/order/pvt/{orderId}/build": { - "get": { - "tags": [ - "Shopee orders" - ], - "summary": "Build VTEX order payload", - "description": "Builds and formats a Shopee order payload to the VTEX fulfillment format.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", - "parameters": [ - { - "$ref": "#/components/parameters/Accept" - }, - { - "$ref": "#/components/parameters/AccountNameQuery" - }, - { - "$ref": "#/components/parameters/OrderIdPath" - } - ], - "responses": { - "200": { - "description": "200 OK\n\nOrder build generated successfully.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OrderBuildResponse" - }, - "example": { - "orderId": "240101ABC123", - "vtexOrderId": "VTX-123456", - "status": "READY_TO_FULFILL", - "items": [ - { - "sku": "SKU-001", - "name": "Running Shoes", - "quantity": 1, - "price": 259.9 - } - ], - "shippingData": { - "carrierName": "Shopee Xpress", - "trackingNumber": "BR123456789", - "shippingEstimateDate": "2026-03-15T18:00:00Z" - } - } - } - } - }, - "400": { - "description": "400 Bad Request\n\nInvalid request for order build.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Invalid request for order build." - } - } - } - } - } - } - }, - "/api/shopeeintegration/order/pvt/orderfrom/config": { - "get": { - "tags": [ - "Shopee orders" - ], - "summary": "Configure seller order form apps", - "description": "Creates or updates marketplace order form app settings for the informed account.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", - "parameters": [ - { - "$ref": "#/components/parameters/Accept" - }, - { - "$ref": "#/components/parameters/AccountNameQuery" - } - ], - "responses": { - "200": { - "description": "200 OK\n\nOrder form app settings updated successfully.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OrderFormConfigResponse" - }, - "example": { - "message": "Order Form atualizado com sucesso.", - "accountName": "store01" - } - } - } - }, - "404": { - "description": "404 Not Found\n\nShopee credentials were not found for the account.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Shopee credentials were not found for the account." - } - } - } - }, - "400": { - "description": "400 Bad Request\n\nInvalid request for order form configuration.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Invalid request for order form configuration." - } - } - } - } - } - } - }, - "/api/shopeeintegration/{accountName}/pvt/orders/{mktplaceOrderId}/cancel": { - "post": { - "tags": [ - "VTEX order callbacks" - ], - "summary": "Cancel marketplace order", - "description": "Receives a VTEX cancellation callback and queues the marketplace order cancellation flow.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", - "security": [], - "parameters": [ - { - "$ref": "#/components/parameters/Accept" - }, - { - "$ref": "#/components/parameters/AccountNamePath" - }, - { - "$ref": "#/components/parameters/MarketplaceOrderIdPath" - } - ], - "responses": { - "200": { - "description": "200 OK\n\nCancellation callback accepted successfully.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenericSuccessResponse" - }, - "example": { - "message": "Cancellation callback accepted successfully." - } - } - } - }, - "400": { - "description": "400 Bad Request\n\nInvalid cancellation callback request.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "message": "Invalid cancellation callback request." - } - } - } - } - } - } - }, - "/api/shopeeintegration/{accountName}/pub/orders/{mktplaceOrderId}/invoice": { - "post": { + "/api/shopeeintegration/order/shipping/label/legacy": { + "get": { "tags": [ - "VTEX order callbacks" + "Shopee orders" ], - "summary": "Invoice marketplace order via public route", - "description": "Receives a VTEX invoice callback on the public route and queues invoice processing.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", + "summary": "Download legacy shipping label", + "description": "Downloads a legacy shipping label for the given Shopee order.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", "security": [], "parameters": [ - { - "$ref": "#/components/parameters/Content-Type" - }, { "$ref": "#/components/parameters/Accept" }, { - "$ref": "#/components/parameters/AccountNamePath" + "$ref": "#/components/parameters/AccountNameQuery" }, { - "$ref": "#/components/parameters/MarketplaceOrderIdPath" + "$ref": "#/components/parameters/ShopeeOrderIdQuery" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VTEXInvoiceOrderRequest" - }, - "example": { - "invoiceNumber": "NF-123456", - "invoiceDate": "2026-03-12T13:45:00Z", - "invoiceValue": 259.9, - "trackingNumber": "BR123456789", - "trackingUrl": "https://tracking.example.com/BR123456789" - } - } - } - }, "responses": { "200": { - "description": "200 OK\n\nInvoice callback accepted successfully.", + "description": "200 OK\n\nLegacy shipping label retrieved successfully.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenericSuccessResponse" + "$ref": "#/components/schemas/ShippingLabelLegacyResponse" }, "example": { - "message": "Invoice callback accepted successfully." + "orderId": "240101ABC123", + "labelFormat": "PDF", + "labelUrl": "https://storage.example.com/shopee/labels/240101ABC123.pdf", + "labelContentBase64": null } } } }, "400": { - "description": "400 Bad Request\n\nInvalid invoice callback request.", + "description": "400 Bad Request\n\nMissing or invalid query parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { - "message": "Invalid invoice callback request." - } - } - } - } - } - } - }, - "/api/shopeeintegration/{accountName}/pvt/orders/{mktplaceOrderId}/invoice": { - "post": { - "tags": [ - "VTEX order callbacks" - ], - "summary": "Invoice marketplace order via private route", - "description": "Receives a VTEX invoice callback on the private route and queues invoice processing.\r\n\r\n## Permissions\r\n\r\nAny user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| 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-api-keys--7b6nD1VMHa49aI5brlOvJm). To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).", - "security": [], - "parameters": [ - { - "$ref": "#/components/parameters/Content-Type" - }, - { - "$ref": "#/components/parameters/Accept" - }, - { - "$ref": "#/components/parameters/AccountNamePath" - }, - { - "$ref": "#/components/parameters/MarketplaceOrderIdPath" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VTEXInvoiceOrderRequest" - }, - "example": { - "invoiceNumber": "NF-123456", - "invoiceDate": "2026-03-12T13:45:00Z", - "invoiceValue": 259.9, - "trackingNumber": "BR123456789", - "trackingUrl": "https://tracking.example.com/BR123456789" - } - } - } - }, - "responses": { - "200": { - "description": "200 OK\n\nInvoice callback accepted successfully.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenericSuccessResponse" - }, - "example": { - "message": "Invoice callback accepted successfully." + "message": "Account name (an) is required." } } } }, - "400": { - "description": "400 Bad Request\n\nInvalid invoice callback request.", + "500": { + "description": "500 Internal Server Error\n\nUnexpected error while downloading the label.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { - "message": "Invalid invoice callback request." + "message": "Unexpected error while downloading the label." } } } @@ -771,16 +171,6 @@ } }, "parameters": { - "Content-Type": { - "name": "Content-Type", - "in": "header", - "description": "Type of the content being sent.", - "required": true, - "schema": { - "type": "string", - "example": "application/json" - } - }, "Accept": { "name": "Accept", "in": "header", @@ -811,29 +201,6 @@ "example": "240101ABC123" } }, - "OrderIdPath": { - "name": "orderId", - "in": "path", - "description": "Shopee order identifier.", - "required": true, - "schema": { - "type": "string", - "example": "240101ABC123" - } - }, - "TimeWindowQuery": { - "name": "timeWindow", - "in": "query", - "description": "Time window in days to look back when reprocessing orders.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 15, - "minimum": 1, - "example": 15 - } - }, "AccountNamePath": { "name": "accountName", "in": "path", @@ -943,258 +310,6 @@ "nullable": true } } - }, - "ShopeeOrderDetailsResponse": { - "type": "object", - "description": "Shopee order details payload.", - "properties": { - "orderId": { - "type": "string", - "description": "Shopee order identifier." - }, - "accountName": { - "type": "string", - "description": "VTEX account name associated with the order." - }, - "status": { - "type": "string", - "description": "Current Shopee order status." - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "Date and time when the order was created." - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "Date and time when the order was last updated." - }, - "totalAmount": { - "type": "number", - "format": "double", - "description": "Order total amount." - }, - "currency": { - "type": "string", - "description": "Currency code." - }, - "items": { - "type": "array", - "description": "Order item list.", - "items": { - "$ref": "#/components/schemas/ShopeeOrderItem" - } - } - } - }, - "ShopeeOrderItem": { - "type": "object", - "description": "Shopee order item payload.", - "properties": { - "sku": { - "type": "string", - "description": "Item SKU." - }, - "name": { - "type": "string", - "description": "Item name." - }, - "quantity": { - "type": "integer", - "format": "int32", - "description": "Purchased quantity." - }, - "unitPrice": { - "type": "number", - "format": "double", - "description": "Unit price." - } - } - }, - "ReadyToShipSyncResponse": { - "type": "object", - "description": "Ready-to-ship reprocessing result payload.", - "properties": { - "message": { - "type": "string", - "description": "Result message." - }, - "accountName": { - "type": "string", - "description": "Account name used for reprocessing." - }, - "timeWindow": { - "type": "integer", - "format": "int32", - "description": "Time window used for reprocessing in days." - } - } - }, - "CancelledSyncResponse": { - "type": "object", - "description": "Cancelled orders reprocessing result payload.", - "properties": { - "message": { - "type": "string", - "description": "Result message." - }, - "accountName": { - "type": "string", - "description": "Account name used for reprocessing." - }, - "timeWindow": { - "type": "integer", - "format": "int32", - "description": "Time window used for reprocessing in days." - } - } - }, - "EscrowDetailsResponse": { - "type": "object", - "description": "Escrow detail payload for a Shopee order.", - "properties": { - "orderId": { - "type": "string", - "description": "Shopee order identifier." - }, - "releaseStatus": { - "type": "string", - "description": "Escrow release status." - }, - "escrowAmount": { - "type": "number", - "format": "double", - "description": "Escrow amount." - }, - "currency": { - "type": "string", - "description": "Currency code." - }, - "lastUpdated": { - "type": "string", - "format": "date-time", - "description": "Date and time of the latest escrow update." - } - } - }, - "OrderBuildResponse": { - "type": "object", - "description": "Order build payload converted to VTEX fulfillment format.", - "properties": { - "orderId": { - "type": "string", - "description": "Shopee order identifier." - }, - "vtexOrderId": { - "type": "string", - "description": "Generated VTEX order identifier." - }, - "status": { - "type": "string", - "description": "Order processing status." - }, - "items": { - "type": "array", - "description": "Built order items.", - "items": { - "$ref": "#/components/schemas/OrderBuildItem" - } - }, - "shippingData": { - "type": "object", - "description": "Shipping information for the built order.", - "properties": { - "carrierName": { - "type": "string", - "description": "Carrier name." - }, - "trackingNumber": { - "type": "string", - "description": "Tracking number." - }, - "shippingEstimateDate": { - "type": "string", - "format": "date-time", - "description": "Estimated shipping date." - } - } - } - } - }, - "OrderBuildItem": { - "type": "object", - "description": "Built order item payload.", - "properties": { - "sku": { - "type": "string", - "description": "Item SKU." - }, - "name": { - "type": "string", - "description": "Item name." - }, - "quantity": { - "type": "integer", - "format": "int32", - "description": "Item quantity." - }, - "price": { - "type": "number", - "format": "double", - "description": "Item total price." - } - } - }, - "OrderFormConfigResponse": { - "type": "object", - "description": "Order form configuration result payload.", - "properties": { - "message": { - "type": "string", - "description": "Configuration result message." - }, - "accountName": { - "type": "string", - "description": "Account name used for the configuration." - } - } - }, - "VTEXInvoiceOrderRequest": { - "type": "object", - "description": "Invoice callback payload received from VTEX.", - "required": [ - "invoiceNumber", - "invoiceDate", - "invoiceValue" - ], - "properties": { - "invoiceNumber": { - "type": "string", - "description": "Invoice number." - }, - "invoiceDate": { - "type": "string", - "format": "date-time", - "description": "Invoice issuance date and time." - }, - "invoiceValue": { - "type": "number", - "format": "double", - "description": "Invoice amount." - }, - "trackingNumber": { - "type": "string", - "description": "Tracking number associated with the invoice.", - "nullable": true - }, - "trackingUrl": { - "type": "string", - "format": "uri", - "description": "Tracking URL associated with the invoice.", - "nullable": true - } - } } } },