Skip to main content

Product API

The Product API allows you to programmatically manage products in your EverShop store. This RESTful interface provides endpoints for creating, updating, retrieving, and deleting products.

Create a Product

Creates a new product in your EverShop store with the specified attributes.

Request Schema (application/json)
Field NameField TypeRequired
namestringYes
descriptionstringNo
short_descriptionstringNo
url_keystring (^\S+$)Yes
meta_titlestringYes
meta_descriptionstringNo
meta_keywordsstringNo
statusinteger or string (0, 1, '0', '1')Yes
skustringYes
pricestring or numberYes
weightstring or numberYes
qtystring or numberYes
manage_stockstring or number (0, 1, '0', '1')No
stock_availabilitystring or number (0, 1, '0', '1')No
group_idstring or integerYes
visibilityinteger or string (0, 1, '0', '1')Yes
imagesarray of stringNo
attributesarray of objectNo
Field NameField TypeRequired
attribute_codestringNo
valuestring or arrayNo
category_idstring or integer or nullNo
optionsarray of objectNo
Field NameField TypeRequired
option_namestringYes
option_typestring (select, multiselect)Yes
is_requiredstring or integer (0, 1, '0', '1')No
valuesarray of objectYes
Field NameField TypeRequired
valuestringNo
extra_pricestring or numberNo
POST/api/products
curl
-H "Accept: application/json"
-H "Cookie: asid=<your admin cookie>"
https://<your domain>/api/products
Sample Of Response
{
"data": {
"product_id": 281,
"uuid": "99a7b39ca63211edb46b60d819134f39",
"variant_group_id": null,
"visibility": 1,
"group_id": 4,
"image": null,
"sku": "Q7Oq0kxZIMQ5isUyJRbg",
"price": 43,
"qty": 123,
"weight": 17,
"manage_stock": 1,
"stock_availability": 1,
"tax_class": null,
"status": 0,
"created_at": "2023-02-07 00:01:46",
"updated_at": "2023-02-07 00:01:46",
"product_description_id": 351,
"product_description_product_id": 281,
"name": "Q7Oq0kxZIMQ5isUyJRbg",
"description": null,
"short_description": null,
"url_key": "Q7Oq0kxZIMQ5isUyJRbg",
"meta_title": "Q7Oq0kxZIMQ5isUyJRbg",
"meta_description": null,
"meta_keywords": null,
"links": [
{
"rel": "productGrid",
"href": "/admin/products",
"action": "GET",
"types": [
"text/xml"
]
},
{
"rel": "view",
"href": "/product/Q7Oq0kxZIMQ5isUyJRbg",
"action": "GET",
"types": [
"text/xml"
]
},
{
"rel": "edit",
"href": "/admin/products/edit/99a7b39ca63211edb46b60d819134f39",
"action": "GET",
"types": [
"text/xml"
]
}
]
}
}

Update a Product

Updates an existing product with new attribute values.

Request Schema (application/json)
Field NameField TypeRequired
namestringNo
descriptionstringNo
short_descriptionstringNo
url_keystring (^\S+$)No
meta_titlestringNo
meta_descriptionstringNo
meta_keywordsstringNo
statusinteger or string (0, 1, '0', '1')No
skustringNo
pricestring or numberNo
weightstring or numberNo
qtystring or numberNo
manage_stockstring or number (0, 1, '0', '1')No
stock_availabilitystring or number (0, 1, '0', '1')No
group_idstring or integerNo
visibilityinteger or string (0, 1, '0', '1')No
imagesarray of stringNo
attributesarray of objectNo
Field NameField TypeRequired
attribute_codestringNo
valuestring or arrayNo
categoriesarray of string,integerNo
optionsarray of objectNo
Field NameField TypeRequired
option_idnumberNo
option_namestringYes
option_typestring (select, multiselect)Yes
is_requiredstring or integer (0, 1, '0', '1')No
valuesarray of objectYes
Field NameField TypeRequired
value_idnumberNo
valuestringYes
extra_pricestring or numberYes
PATCH/api/products/433ba97f-8be7-4be9-be3f-a9f341f2b89f
curl
-H "Accept: application/json"
-H "Cookie: asid=<your admin cookie>"
https://<your domain>/api/products/433ba97f-8be7-4be9-be3f-a9f341f2b89f
Sample Of Response
{
"data": {
"product_id": 281,
"uuid": "433ba97f-8be7-4be9-be3f-a9f341f2b89f",
"variant_group_id": null,
"visibility": 1,
"group_id": 4,
"image": null,
"sku": "Q7Oq0kxZIMQ5isUyJRbg",
"price": 43,
"qty": 123,
"weight": 17,
"manage_stock": 1,
"stock_availability": 1,
"tax_class": null,
"status": 0,
"created_at": "2023-02-07 00:01:46",
"updated_at": "2023-02-07 00:01:46",
"product_description_id": 351,
"product_description_product_id": 281,
"name": "Q7Oq0kxZIMQ5isUyJRbg",
"description": null,
"short_description": null,
"url_key": "Q7Oq0kxZIMQ5isUyJRbg",
"meta_title": "Q7Oq0kxZIMQ5isUyJRbg",
"meta_description": null,
"meta_keywords": null,
"links": [
{
"rel": "productGrid",
"href": "/admin/products",
"action": "GET",
"types": [
"text/xml"
]
},
{
"rel": "view",
"href": "/product/Q7Oq0kxZIMQ5isUyJRbg",
"action": "GET",
"types": [
"text/xml"
]
},
{
"rel": "edit",
"href": "/admin/products/edit/99a7b39ca63211edb46b60d819134f39",
"action": "GET",
"types": [
"text/xml"
]
}
]
}
}

Path Parameters

ParameterTypeRequiredDescription
idstringYesThe UUID of the product to update

Update Parameters

All parameters are optional for updates. Only include the parameters you want to modify. See the Create a Product section for detailed parameter descriptions.


Delete a Product

Removes a product from your EverShop store.

Request Schema (application/json)
No request body required
DELETE/api/products/433ba97f-8be7-4be9-be3f-a9f341f2b89f
curl
-H "Accept: application/json"
-H "Cookie: asid=<your admin cookie>"
https://<your domain>/api/products/433ba97f-8be7-4be9-be3f-a9f341f2b89f
Sample Of Response
{
"data": {
"product_id": 281,
"uuid": "433ba97f-8be7-4be9-be3f-a9f341f2b89f",
"variant_group_id": null,
"visibility": 1,
"group_id": 4,
"image": null,
"sku": "skuUpdated",
"price": 45,
"qty": 123,
"weight": 17,
"manage_stock": 1,
"stock_availability": 1,
"tax_class": null,
"status": 1,
"created_at": "2023-02-07 00:01:46",
"updated_at": "2023-02-07 00:01:46",
"product_description_id": null,
"product_description_product_id": null,
"name": null,
"description": null,
"short_description": null,
"url_key": null,
"meta_title": null,
"meta_description": null,
"meta_keywords": null
}
}

Path Parameters

ParameterTypeRequiredDescription
idstringYesThe UUID of the product to delete

Get a Product

Retrieves detailed information about a specific product.

Request Schema (application/json)
No request body required
GET/api/products/433ba97f-8be7-4be9-be3f-a9f341f2b89f
curl
-H "Accept: application/json"
-H "Cookie: asid=<your admin cookie>"
https://<your domain>/api/products/433ba97f-8be7-4be9-be3f-a9f341f2b89f
Sample Of Response
{
"data": {
"product_id": 281,
"uuid": "433ba97f-8be7-4be9-be3f-a9f341f2b89f",
"variant_group_id": null,
"visibility": 1,
"group_id": 4,
"image": null,
"sku": "Q7Oq0kxZIMQ5isUyJRbg",
"price": 43,
"qty": 123,
"weight": 17,
"manage_stock": 1,
"stock_availability": 1,
"tax_class": null,
"status": 0,
"created_at": "2023-02-07 00:01:46",
"updated_at": "2023-02-07 00:01:46",
"product_description_id": 351,
"product_description_product_id": 281,
"name": "Q7Oq0kxZIMQ5isUyJRbg",
"description": null,
"short_description": null,
"url_key": "Q7Oq0kxZIMQ5isUyJRbg",
"meta_title": "Q7Oq0kxZIMQ5isUyJRbg",
"meta_description": null,
"meta_keywords": null,
"images": [],
"attributes": [],
"options": [],
"categories": [],
"links": [
{
"rel": "productGrid",
"href": "/admin/products",
"action": "GET",
"types": [
"text/xml"
]
},
{
"rel": "view",
"href": "/product/Q7Oq0kxZIMQ5isUyJRbg",
"action": "GET",
"types": [
"text/xml"
]
},
{
"rel": "edit",
"href": "/admin/products/edit/99a7b39ca63211edb46b60d819134f39",
"action": "GET",
"types": [
"text/xml"
]
}
]
}
}

Path Parameters

ParameterTypeRequiredDescription
idstringYesThe UUID of the product to retrieve

List Products

Retrieves a paginated list of products from your EverShop store.

Request Schema (application/json)
No request body required
GET/api/products
curl
-H "Accept: application/json"
-H "Cookie: asid=<your admin cookie>"
https://<your domain>/api/products
Sample Of Response
{
"data": [
{
"product_id": 281,
"uuid": "99a7b39ca63211edb46b60d819134f39",
"variant_group_id": null,
"visibility": 1,
"group_id": 4,
"image": null,
"sku": "Q7Oq0kxZIMQ5isUyJRbg",
"price": 43,
"qty": 123,
"weight": 17,
"manage_stock": 1,
"stock_availability": 1,
"tax_class": null,
"status": 0,
"created_at": "2023-02-07 00:01:46",
"updated_at": "2023-02-07 00:01:46",
"name": "Q7Oq0kxZIMQ5isUyJRbg",
"url_key": "Q7Oq0kxZIMQ5isUyJRbg",
"links": [
{
"rel": "view",
"href": "/product/Q7Oq0kxZIMQ5isUyJRbg",
"action": "GET",
"types": [
"text/xml"
]
},
{
"rel": "edit",
"href": "/admin/products/edit/99a7b39ca63211edb46b60d819134f39",
"action": "GET",
"types": [
"text/xml"
]
}
]
},
// More products...
],
"total": 42,
"currentPage": 1,
"limit": 20,
"links": [
{
"rel": "first",
"href": "/api/products?page=1",
"action": "GET"
},
{
"rel": "last",
"href": "/api/products?page=3",
"action": "GET"
},
{
"rel": "next",
"href": "/api/products?page=2",
"action": "GET"
}
]
}

Best Practices

  1. Rate Limiting: Be mindful of API rate limits to avoid being throttled.
  2. Batch Processing: For bulk operations, consider creating products in batches.
  3. Error Handling: Always implement proper error handling for API responses.
  4. Unique SKUs: Ensure all products have unique SKUs to avoid conflicts.
  5. Image URLs: For product images, provide publicly accessible URLs.

Troubleshooting

Common Error Codes

Status CodeDescriptionSolution
400Bad RequestCheck your request payload for invalid data
401UnauthorizedEnsure your API credentials are correct
404Not FoundVerify the product ID exists
409ConflictThe SKU or URL key may already be in use
429Too Many RequestsReduce your API call frequency
500Server ErrorContact support if the issue persists