Welcome to the API documentation for the Product Information Management (PIM) service. This document provides details on how to use the various APIs provided by PIM to manage your product catalog.
Table of Contents
Introduction
PIM offers two sets of APIs to manage and search product information. You can review and try out all available APIs using the Swagger Schema.
Authentication
To use most APIs, you need to authenticate using a giosg access token. You can create an access token in giosg Company Settings
API Endpoints
Adding Products to PIM
To add a product the following endpoint should be used.
| POST https://api.giosg.com/api/pim/v2/orgs/{organization_id}/catalogue/
|
Authorization: Token <access_token>
Request Payload
1
2
3
4
5
6
7
8
9
10
11
12
13 | {
"product_id": "str",
"name": "str",
"price": "Optional[str]",
"currency": "Optional[str]",
"text": "str",
"description": "str",
"short_description": "Optional[str]",
"manufacturer": "Optional[str]",
"category": "str",
"url": "str",
"custom_attributes": "Optional[dict]"
}
|
product_id should be unique. If a product with given product_id already exists, it will be updated. Otherwise a new product will be created.
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 | {
"product_id": "example-smarthphone-xyz-5G",
"name": "Example Smartphone XYZ",
"price": "499.99",
"currency": "EUR",
"text": "Smartphone XYZ 5G, 6.5-inch display, 128GB storage, large battery.",
"description": "This smartphone comes with a 6.5-inch display, 128GB storage, and a large battery.",
"short_description": "Smartphone XYZ with with a 6.5-inch display, 128GB storage, and a large battery.",
"manufacturer": "XYZ Electronics",
"category": "phones",
"url": "https://example.com/products/phones/xyz-smartphone-",
"custom_attributes": {
"variants": [
{
"color": "Black",
"availability": "In Stock"
},
{
"color": "White",
"availability": "In Stock"
}
]
}
}
|
Searching Products
To search through the catalog, use the following public API: https://api.giosg.com/api/pim/v2/public/orgs/{organization_id}/search/
Query Parameters
| Parameter |
Description |
| name |
Search through product names |
| category |
Filter by product category |
| description |
Search for text contained in description field |
| text |
Search for text contained in text field |
| manufacturer |
Search for text contained in manufacturer field |
| short_description |
Search for text contained in the short_description field |
| limit |
Number of results to return per page |
| offset |
The initial index from which to return the results |
| ordering |
Which field to use when ordering the results |
Example Request
| GET https://api.giosg.com/api/pim/v2/public/orgs/9e5d4028-2b94-11ee-adfe-0242ac120020/search/?category=phones&manufacturer=XYZ&ordering=-price&text=5G&limit=5
|
Response
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 | {
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "6225b7d2-38b8-41a4-97b6-118e12d1670e",
"product_id": "example-smarthphone-xyz-5G",
"name": "Example Smartphone XYZ",
"price": "499.99",
"currency": "EUR",
"text": "Smartphone XYZ 5G, 6.5-inch display, 128GB storage, large battery.",
"description": "This smartphone comes with a 6.5-inch display, 128GB storage, and a large battery.",
"short_description": "Smartphone XYZ with with a 6.5-inch display, 128GB storage, and a large battery.",
"manufacturer": "XYZ Electronics",
"category": "phones",
"url": "https://example.com/products/phones/xyz-smartphone-",
"custom_attributes": {
"variants": [
{
"color": "Black",
"availability": "In Stock"
},
{
"color": "White",
"availability": "In Stock"
}
]
}
}
]
}
|