Skip to content

Product Information Management (PIM) API Documentation

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.

1
POST https://api.giosg.com/api/pim/v2/orgs/{organization_id}/catalogue/

Request Headers

  • 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
content Search for text in all fields
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

1
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"
                    }
                ]
            }
        }
    ]
}