- Links
- Servers
- Authentication
- Endpoints
- Components
- Schemas
- Account
- CatalogProduct
- CatalogProductAttributes
- CatalogProductCreate
- CatalogProductDelete
- CatalogProductOptions
- CatalogProductsCreateRequest
- CatalogProductsCreateResponse
- CatalogProductsDeleteRequest
- CatalogProductsDeleteResponse
- CatalogProductsFindRequest
- CatalogProductsFindResponse
- CatalogProductsUpdate
- CatalogProductsUpdateRequest
- CatalogProductsUpdateResponse
- CatalogProductsVariantsUpdate
- CatalogProductsVariantsUpdateRequest
- CatalogProductsVariantsUpdateResponse
- CatalogProductVariant
- Error
- ErrorList
- Order
- OrderItem
- OrdersFindRequest
- OrdersFindResponse
- UploadInvoiceRequest
- UploadInvoiceResponse
- UserAccountsResponse
- Response components
- Header components
- Schemas
OpenAPI: 3.1.0
Version: 4.0
The M2E Cloud Sales Channels API enables integration with various sales channels such as eBay, Amazon, Walmart, Kaufland, TikTok, Temu, Shein, OnBuy and more. It provides functionalities for product management, order processing, and channel-specific operations.
Links #
- Terms of Service: https://m2ecloud.com/terms-and-conditions.html
- Contact: M2E Cloud Support support@m2ecloud.com
Servers #
| Environment | URL |
|---|---|
| production | https://m2e.cloud/api/v1/api |
| dev | https://sales-channels.m2ecloud.dev/api/v1/api |
| local | https://10.0.30.15:56000/api/v1/api |
Authentication #
JWT #
JWT token for authentication, passed as access-token in header.
- Type:
apiKey - In:
header - Header/Param name:
access-token
Default security requirements #
JWT
Endpoints #
Catalog #
DELETE /catalog/product/ #
Summary: Deletes products in catalog
OperationId: CatalogProductDelete
Allows batch delete of products in the catalog.
Request body
A list of products to delete.
-
Required: Yes
-
Content-Type:
application/json- Schema: CatalogProductsDeleteRequest
Responses
- 200: Successfully deleted products in catalog.
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Retry-After - Content-Type:
application/json - Schema: CatalogProductsDeleteResponse
- Headers:
- 400: BadRequest
- 401: Unauthorized
- 404: NotFound
- 429: TooManyRequests
- 500: InternalError
GET /catalog/product/ #
Summary: Retrieve a catalog product by SKU
OperationId: CatalogProductGet
Fetches details of a product in the catalog.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
sku |
query |
string |
Yes | The Stock Keeping Unit (SKU) of the product. |
Responses
- 200: Successfully deleted products in catalog.
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Retry-After - Content-Type:
application/json - Schema: CatalogProduct
- Headers:
- 400: BadRequest
- 401: Unauthorized
- 404: NotFound
- 429: TooManyRequests
- 500: InternalError
PATCH /catalog/product/ #
Summary: Update products in catalog
OperationId: catalogProductsUpdate
Allows batch updates of products in the catalog, including currency, images and attributes information.
Request body
A list of products to update.
-
Required: Yes
-
Content-Type:
application/json- Schema: CatalogProductsUpdateRequest
Responses
- 200: Successfully updated products in catalog.
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Retry-After - Content-Type:
application/json - Schema: CatalogProductsUpdateResponse
- Headers:
- 400: BadRequest
- 401: Unauthorized
- 404: NotFound
- 429: TooManyRequests
- 500: InternalError
POST /catalog/product/ #
Summary: Creates products in catalog
OperationId: CatalogProductCreate
Allows batch create of products in the catalog.
Request body
A list of products to create.
-
Required: Yes
-
Content-Type:
application/json- Schema: CatalogProductsCreateRequest
Responses
- 200: Successfully created products in catalog.
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Retry-After - Content-Type:
application/json - Schema: CatalogProductsCreateResponse
- Headers:
- 400: BadRequest
- 401: Unauthorized
- 404: NotFound
- 429: TooManyRequests
- 500: InternalError
POST /catalog/product/find/ #
Summary: Retrieve products by criteria
OperationId: CatalogProductsFind
Finds products based on specified criteria.
Request body
Criteria for filtering and sorting products.
-
Required: No
-
Content-Type:
application/json- Schema: CatalogProductsFindRequest
Responses
- 200: Products retrieved successfully.
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Retry-After - Content-Type:
application/json - Schema: CatalogProductsFindResponse
- Headers:
- 400: BadRequest
- 401: Unauthorized
- 404: NotFound
- 429: TooManyRequests
- 500: InternalError
PATCH /catalog/product/variant/ #
Summary: Update variants in catalog
OperationId: catalogProductsVariantsUpdate
Allows batch updates of variants in the catalog.
Request body
A list of variants to update.
-
Required: Yes
-
Content-Type:
application/json
Responses
- 200: Successfully updated variants in catalog.
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Retry-After - Content-Type:
application/json - Schema: CatalogProductsVariantsUpdateResponse
- Headers:
- 400: BadRequest
- 401: Unauthorized
- 404: NotFound
- 429: TooManyRequests
- 500: InternalError
Orders #
POST /order/find/ #
Summary: Retrieve orders by criteria
OperationId: OrdersFind
Finds orders based on specified criteria, such as channel, account token, and various filters like sale date, status, and buyer details.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
channel |
query |
string |
Yes | The name of the sales channel (e.g., eBay, Amazon). |
account_token |
query |
string |
Yes | A unique token identifying the account on the specified sales channel. |
Request body
Criteria for filtering and sorting orders.
-
Required: No
-
Content-Type:
application/json- Schema: OrdersFindRequest
Responses
- 200: Orders retrieved successfully.
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Retry-After - Content-Type:
application/json - Schema: OrdersFindResponse
- Headers:
- 400: BadRequest
- 401: Unauthorized
- 404: NotFound
- 429: TooManyRequests
- 500: InternalError
POST /order/invoice/ #
Summary: Upload invoice for an order
OperationId: UploadOrderInvoice
Processes and uploads invoice data for a specific order using a base64-encoded PDF.
Request body
-
Required: Yes
-
Content-Type:
application/json- Schema: UploadInvoiceRequest
Responses
- 200: Invoice successfully processed
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Retry-After - Content-Type:
application/json - Schema: UploadInvoiceResponse
- Headers:
- 400: BadRequest
- 401: Unauthorized
- 404: NotFound
- 429: TooManyRequests
- 500: InternalError
User #
GET /user/accounts/ #
Summary: Retrieve accounts associated with a user
OperationId: UserAccountsList
Fetches a list of accounts linked to the specified user, identified by a unique token.
Responses
- 200: A list of accounts retrieved for the user.
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Retry-After - Content-Type:
application/json - Schema: UserAccountsResponse
- Headers:
- 401: Unauthorized
- 404: NotFound
- 429: TooManyRequests
- 500: InternalError
Components #
Schemas #
- Account
- CatalogProduct
- CatalogProductAttributes
- CatalogProductCreate
- CatalogProductDelete
- CatalogProductOptions
- CatalogProductsCreateRequest
- CatalogProductsCreateResponse
- CatalogProductsDeleteRequest
- CatalogProductsDeleteResponse
- CatalogProductsFindRequest
- CatalogProductsFindResponse
- CatalogProductsUpdate
- CatalogProductsUpdateRequest
- CatalogProductsUpdateResponse
- CatalogProductsVariantsUpdate
- CatalogProductsVariantsUpdateRequest
- CatalogProductsVariantsUpdateResponse
- CatalogProductVariant
- Error
- ErrorList
- Order
- OrderItem
- OrdersFindRequest
- OrdersFindResponse
- UploadInvoiceRequest
- UploadInvoiceResponse
- UserAccountsResponse
Account #
Represents an account object linked to a user, containing channel information, credentials validity, and other identifying details.
- Type:
object - Required:
token,channel,title,identifier,is_valid,create_date
Properties
| Name | Type | Required | Description |
|---|---|---|---|
token |
string format:uuid |
Yes | Unique token identifying the account. |
channel |
string (enum) |
Yes | Sales channel associated with this account (e.g., 'ebay', 'amazon'). |
title |
string |
Yes | User-defined title for the account, often used for easy identification. |
identifier |
string |
Yes | Unique identifier associated with the account on the specified sales channel. |
is_valid |
boolean |
Yes | Indicates whether the account's credentials are valid and active. |
create_date |
string format:date-time |
Yes | The date and time when the account was created. |
CatalogProduct #
- Type:
object - Required:
token,external_id,sku,quantity,is_simple,status,title,images,attributes,update_date,variants
Properties
| Name | Type | Required | Description |
|---|---|---|---|
token |
string format:uuid |
Yes | A unique token that identifies the product. |
external_id |
null | string |
Yes | An external identifier for the product, typically used for mapping with external systems. |
sku |
null | string |
Yes | Stock Keeping Unit (SKU). |
quantity |
integer |
Yes | The available stock quantity for the variant. |
is_simple |
boolean |
Yes | Indicates whether the product is a simple product (true) or has variants (false). |
status |
string (enum) |
Yes | The current status of the product. |
title |
string |
Yes | The name or title of the product. |
images |
array of string |
Yes | A list of image URLs representing the product. |
attributes |
CatalogProductAttributes | Yes | |
update_date |
string format:date-time |
Yes | The date and time when the product was last updated, in ISO 8601 format. |
variants |
array of CatalogProductVariant |
Yes | A list of product variants. |
CatalogProductAttributes #
A list of key-value pairs representing attributes.
- Type:
array - Items:
object
CatalogProductCreate #
- Type:
object - Required:
sku,status,is_simple,currency,title,variants
Properties
| Name | Type | Required | Description |
|---|---|---|---|
sku |
string |
Yes | Stock Keeping Unit (SKU). |
status |
integer (enum) |
Yes | Product statuses (e.g., 1 = Active, 2 = Inactive, 3 = Disabled, 4 = Preorder, 5 = Available, 7 = Draft, 8 = Pending, 9 = Private, 10 = Publish, 11 = Archived). |
is_simple |
boolean |
Yes | Indicates whether the product is a simple product (true) or has variants (false). |
currency |
string |
Yes | The currency code for the product's pricing, in ISO 4217 format (e.g., USD, EUR). |
title |
string |
Yes | The title or name of the product. |
description |
string |
No | A detailed description of the product. |
images |
array of string |
No | A list of image URLs representing the product. |
attributes |
CatalogProductAttributes | No | |
variants |
array of object |
Yes | A list of product variants. |
CatalogProductDelete #
- Type:
object - Required:
sku
Properties
| Name | Type | Required | Description |
|---|---|---|---|
sku |
string |
Yes | Stock Keeping Unit (SKU). |
CatalogProductOptions #
A list of options specifying attributes of the variant (e.g., size, color).
- Type:
array - Items:
object
CatalogProductsCreateRequest #
An array of products to be created in the catalog.
- Type:
array - Items: CatalogProductCreate
- minItems:
1 - maxItems:
500
CatalogProductsCreateResponse #
- Type:
object - Required:
created
Properties
| Name | Type | Required | Description |
|---|---|---|---|
deleted |
integer |
No | The count of products successfully created. |
CatalogProductsDeleteRequest #
An array of products to be deleted in the catalog.
- Type:
array - Items: CatalogProductDelete
- minItems:
1 - maxItems:
500
CatalogProductsDeleteResponse #
- Type:
object - Required:
deleted
Properties
| Name | Type | Required | Description |
|---|---|---|---|
deleted |
integer |
Yes | The count of products successfully deleted. |
CatalogProductsFindRequest #
- Type:
object
Properties
| Name | Type | Required | Description |
|---|---|---|---|
sort |
object |
No | Sorting options for the search results. |
filters |
object |
No | Filtering options. |
_result |
object |
No |
CatalogProductsFindResponse #
- Type:
object - Required:
list,total
Properties
| Name | Type | Required | Description |
|---|---|---|---|
list |
array of CatalogProduct |
Yes | A list of orders matching the query. |
total |
integer |
Yes | The total number of products matching the query. |
CatalogProductsUpdate #
- Type:
object - Required:
sku
Properties
| Name | Type | Required | Description |
|---|---|---|---|
sku |
string |
Yes | Stock Keeping Unit (SKU). |
currency |
string |
No | The currency code for the product's pricing, in ISO 4217 format (e.g., USD, EUR). |
title |
string |
No | The title or name of the product. |
description |
string |
No | A detailed description of the product. |
images |
array of string |
No | A list of image URLs representing the product. |
attributes |
CatalogProductAttributes | No |
CatalogProductsUpdateRequest #
- Type:
object - Required:
products
Properties
| Name | Type | Required | Description |
|---|---|---|---|
products |
array of CatalogProductsUpdate |
Yes | An array of products to be updated in the catalog. |
CatalogProductsUpdateResponse #
- Type:
object - Required:
updated
Properties
| Name | Type | Required | Description |
|---|---|---|---|
updated |
integer |
Yes | The count of products successfully updated. |
CatalogProductsVariantsUpdate #
- Type:
object - Required:
sku
Properties
| Name | Type | Required | Description |
|---|---|---|---|
sku |
string |
Yes | Stock Keeping Unit (SKU). |
barcode |
string |
No | The unique barcode for the variant, such as UPC or EAN. |
price |
number |
No | The price of the product in the specified currency. |
quantity |
integer |
No | The available stock quantity of the product. |
images |
array of string |
No | List of image URLs associated with the product variant. |
options |
CatalogProductOptions | No | |
attributes |
CatalogProductAttributes | No |
CatalogProductsVariantsUpdateRequest #
- Type:
object - Required:
variants
Properties
| Name | Type | Required | Description |
|---|---|---|---|
variants |
array of CatalogProductsVariantsUpdate |
Yes | An array of variants to be updated in the catalog. |
CatalogProductsVariantsUpdateResponse #
- Type:
object - Required:
updated
Properties
| Name | Type | Required | Description |
|---|---|---|---|
updated |
integer |
Yes | The count of variants successfully updated. |
CatalogProductVariant #
- Type:
object - Required:
token,sku,barcode,price,quantity,images,options,attributes,weight,weight_unit,height,depth,width,dimension_unit,update_date
Properties
| Name | Type | Required | Description |
|---|---|---|---|
token |
string format:uuid |
Yes | A unique token identifying the product variant. |
sku |
null | string |
Yes | Stock Keeping Unit (SKU). |
barcode |
null | string |
Yes | The unique barcode for the variant, such as UPC or EAN. |
price |
number |
Yes | The price of the variant in the specified currency. |
quantity |
integer |
Yes | The available stock quantity for the variant. |
images |
array of string |
Yes | A list of image URLs representing the product variant. |
options |
CatalogProductOptions | Yes | |
attributes |
CatalogProductAttributes | Yes | |
weight |
null | number |
Yes | The weight of the product variant. |
weight_unit |
null | string (enum) |
Yes | The unit of measurement for the weight. |
height |
null | number |
Yes | The height of the product variant. |
depth |
null | number |
Yes | The depth of the product variant. |
width |
null | number |
Yes | The width of the product variant. |
dimension_unit |
null | string (enum) |
Yes | The unit of measurement for dimensions (height, width, depth). |
update_date |
string format:date-time |
Yes | The date and time when the variant was last updated, in ISO 8601 format. |
Error #
An error response returned when the request is unsuccessful.
- Type:
object - Required:
message,code,data
Properties
| Name | Type | Required | Description |
|---|---|---|---|
code |
string |
Yes | An error code that identifies the type of error that occurred. |
message |
string |
Yes | A message that describes the error condition in a human-readable form. |
data |
object | array |
Yes | Additional information that can help the caller understand or fix the issue. |
ErrorList #
A list of errors returned when a request is unsuccessful.
- Type:
array - Items: Error
- minItems:
1
Order #
Represents an order with details about the buyer, status, dates, shipping, total cost, and items purchased.
- Type:
object - Required:
token,order_id,source_order_id,buyer_name,buyer_email,status,is_archived,sale_date,ship_date,ship_by_date,shipping_address,country_code,total,items
Properties
| Name | Type | Required | Description |
|---|---|---|---|
token |
string format:uuid |
Yes | A unique token associated with the order. |
order_id |
string |
Yes | The order ID assigned by the sales channel. |
source_order_id |
string |
Yes | The store-specific order ID, often used internally. |
buyer_name |
string | null |
Yes | Name of the buyer who placed the order. |
buyer_email |
string | null format:email |
Yes | Email address of the buyer. |
status |
string (enum) |
Yes | Current status of the order. |
is_archived |
boolean |
Yes | Indicates whether the order is archived. |
sale_date |
string format:date-time |
Yes | The date and time when the order was placed. |
ship_date |
string | null format:date-time |
Yes | The actual shipping date of the order, if available. |
ship_by_date |
string | null format:date-time |
Yes | The date by which the order should be shipped. |
shipping_address |
object |
Yes | Shipping address details for the order. |
country_code |
string |
Yes | ISO 3166-1 alpha-2 country code representing the shipping country. |
total |
object |
Yes | Total cost breakdown for the order. |
items |
array of OrderItem |
Yes | List of items included in the order. |
OrderItem #
Represents an individual item within an order, including details such as SKU, quantity, and tracking information.
- Type:
object - Required:
title,sku,barcode,item_id,quantity,price,tracking_service,tracking_numbers
Properties
| Name | Type | Required | Description |
|---|---|---|---|
title |
string |
Yes | The title or name of the item as it appears in the order. |
sku |
string |
Yes | Stock Keeping Unit (SKU) of the item. |
barcode |
string |
Yes | The barcode or UPC of the item. |
item_id |
string |
Yes | Unique identifier for the item. |
quantity |
integer |
Yes | The quantity of this item ordered. |
price |
number format:float |
Yes | The unit price of the item. |
tracking_service |
string | null |
Yes | The name of the tracking service. |
tracking_numbers |
array of string |
Yes | List of tracking numbers associated with this item. |
OrdersFindRequest #
- Type:
object
Properties
| Name | Type | Required | Description |
|---|---|---|---|
sort |
object |
No | Sorting options for the search results. |
filters |
object |
No | Filtering options. |
search |
string | null |
No | Search by Title, SKU, Identifier, GTIN |
_result |
object |
No |
OrdersFindResponse #
- Type:
object - Required:
list,total
Properties
| Name | Type | Required | Description |
|---|---|---|---|
list |
array of Order |
Yes | A list of orders matching the query. |
total |
integer |
Yes | The total number of orders matching the query. |
UploadInvoiceRequest #
- Type:
object - Required:
order_id,invoice_number,invoice_data
Properties
| Name | Type | Required | Description |
|---|---|---|---|
order_id |
string |
Yes | Unique identifier of the order within the store system. |
invoice_number |
string |
Yes | Invoice number. |
total_amount |
number | null format:float |
No | Total order amount including VAT, in the store's currency. |
total_vat_amount |
number | null format:float |
No | VAT portion of the total amount. |
shipping_id |
string | null |
No | Identifier of the related shipping record, if available. |
transaction_id |
string | null |
No | Identifier of the payment transaction, if available. |
invoice_data |
string |
Yes | Base64-encoded string of the PDF invoice file. |
UploadInvoiceResponse #
UserAccountsResponse #
An array of user accounts.
- Type:
array - Items: Account
Response components #
ApiError #
Api error
Content
application/json: ErrorList
Headers
X-RateLimit-Limit: X-RateLimit-LimitX-RateLimit-Remaining: X-RateLimit-RemainingX-RateLimit-Retry-After: X-RateLimit-Retry-After
BadRequest #
Bad request
Content
application/json: ErrorList
Headers
X-RateLimit-Limit: X-RateLimit-LimitX-RateLimit-Remaining: X-RateLimit-RemainingX-RateLimit-Retry-After: X-RateLimit-Retry-After
InternalError #
Internal server error
Content
application/json: ErrorList
NotFound #
Not found
Content
application/json: ErrorList
TooManyRequests #
Too many requests
Content
application/json: ErrorList
Headers
X-RateLimit-Limit: X-RateLimit-LimitX-RateLimit-Remaining: X-RateLimit-RemainingX-RateLimit-Retry-After: X-RateLimit-Retry-After
Unauthorized #
Unauthorized
Content
application/json: ErrorList
Header components #
X-RateLimit-Limit #
The number of allowed requests in the current period.
- Schema type:
number - Example:
100
X-RateLimit-Remaining #
The number of remaining requests in the current period.
- Schema type:
number - Example:
90
X-RateLimit-Retry-After #
The date of number of remaining requests will reset.
- Schema type:
string - Format:
datetime - Example:
2022-11-04T13:43:28Z