Products API (PRICAT)

Products API (PRICAT)

The  vuuh.com  API for products creation.


Endpoint URI

POST https://onix.vuuh.com/api/v1/products/
Staging URL: https://onix-staging.vuuh.com/api/v1/products


Authentication

Authentication is required to use this endpoint.   Read more on the  🔒⁠⁠Authentication⁠  page.


Payload

Content Type

application/json

Format

The payload must be of JSON type and comply with the following structure:
{
"products": [
{
"style_name": "Regular Fit T-shirt",
"style_number": "452313",
"collection_name": "Summer 2024",
"color_name": "Green",
"color_code": "323",
"size_eu": "S",
"gtin": "598030652943",
"category": "T-shirts",
"sub_category": "T-shirts for men"
},
{
"style_name": "Regular Fit T-shirt",
"style_number": "452313",
"collection_name": "Summer 2024",
"color_name": "Green",
"color_code": "323",
"size_eu": "M",
"gtin": "598030652944",
"category": "T-shirts",
"sub_category": "T-shirts for men"
}
]
}
JSON Structure
  • "products" (required): This is a list of objects, each representing a product. The list can contain one or more product objects.
Product Object
  • Each product object must contain details about the product. The product schema, which shows which keys are supported, can be found on the  ⁠⁠Product schema⁠  page.


Example HTTP Request (cURL)


curl -X POST -H "Authorization: Bearer mytoken34" -H "Content-Type: application/json" -d '{
"products": [
{
"style_name": "Regular Fit T-shirt",
"style_number": "452313",
"collection_name": "Summer 2024",
"color_name": "Green",
"color_code": "323",
"size_eu": "S",
"gtin": "598030652943",
"category": "T-shirts",
"sub_category": "T-shirts for men"
},
{
"style_name": "Regular Fit T-shirt",
"style_number": "452313",
"collection_name": "Summer 2024",
"color_name": "Green",
"color_code": "323",
"size_eu": "M",
"gtin": "598030652944",
"category": "T-shirts",
"sub_category": "T-shirts for men"
}
]
}' https://onix.vuuh.com/api/v1/products/


Response

  • 200 OK: The products are being added to the system. You can check the status using the provided job id. More details can be found on  ⁠⁠Jobs API⁠  page.
Example:
{
"status": "success",
"substatus": "job_scheduled",
"job": {
"id": "core:ingestjob:11024"
}
}

  • 400 Bad Request: The JSON content is invalid or there are errors in the request.
Example:
{
"status": "error",
"substatus": "invalid_product_shape",
"description": {
"products[0]": "The keys ['style_name'] are mandatory but are missing. The keys ['prices'] have invalid shape. "
}
}
  • 401 Unauthorized: Authentication is required and the provided credentials are missing.
Example:
{
"status": "error",
"substatus": "not_authenticated",
"description": "Authentication credentials were not provided."
}
  • 403 Forbidden: Authentication is required and the provided credentials are invalid.
Example:
{
"status": "error",
"substatus": "permission_denied",
"description": "Invalid token."
}
  • 500 Internal Server Error: An internal server error occurred.
Example:
{
"status": "error",
"substatus": "internal_error",
"description": "An internal problem related to data loading has occurred."
}