Integrations REST APIs

The Integrations REST APIs are a set of APIs that have same functionality as the existing APIs. The main difference being that the input for these REST APIs, is names instead of the traditional IDs.

Product Master supports following types of Integrations REST APIs.

Integrations REST APIs - Category

Request Method Description
GET Fetch all top-level categories of a hierarchy.
POST Perform add operation on category.
PUT Perform add or update operation on category.
Fix Pack 6DELETE Delete categories from a hierarchy.
GET Fetch a category from a hierarchy.
GET Fetch all sub-categories of the category in the hierarchy.

Integrations REST APIs - Lookup table

Request Method Description
POST Adding new entry in the Lookup table.
PUT Updating existing entry in the Lookup table.
DELETE Delete an entry from the Lookup table.

Integrations REST APIs - Search

Fix Pack 8
Request Method Description
POST Searching an item in the catalog based on the search criteria.

Integrations REST APIs - Catalog

Request Method Description
GET Fetch items from the catalog.
POST Perform create item operations on the catalog.
PUT Perform update operation on the catalog items.
DELETE Delete item from a catalog.
Fix Pack 7POST Load items data to queue.
GET Fetch an item from the catalog.
GET Fetch item from the catalog by categoryName and hierarchyName.
Fix Pack 6 GET Fetch the schema for the catalog.
Fix Pack 10 GET Fetches data for generating the Product Family tree visualization for a specified Base item.

Integrations REST APIs - Collaboration Area

Request Method Description
GET Fetch entries from a collaboration area step.
PUT Perform update operation on the entries in the collaboration area, based on the step name and collaboration name.
POST Perform add operation on the entries in the collaboration area step, based on the step name and collaboration name.
DELETE Perform delete operation on the entries in a collaboration area step.

Common attributes

  • Multi-occurrence attribute: A complete path should be provided in the "path" attribute.
    1. If attribute path is valid and multi-occurrence is not present, a new multi-occurrence instance is added, and value is set.
    2. If attribute instance is present and the value that is supplied is empty, then multi-occurrence instance gets deleted.

    Request body
    {
        "entryInfoList": [
            {
                "primaryKey": "6001",
                "attributeList": [
                    {
                        "path": "Producr_Hierarchy_Spec/multi#1",
                        "value": "1th occur"
                    },
                    {
                        "path": "Product_Hierarchy_Spec/multi#2",
                        "value": ""
                    }
                ]
            }
        ]
    }

    Response body
    {
        "entries": [
            {
                "primaryKey": "6000",
                "message": "Successfully updated [6000] category",
                "errors": []
            }
        ]
    }

  • Grouping attributes:
    • If a correct full path is provided, existing value gets updated.
    • If the attribute “path” is not present, but the path that is given is valid, the attribute instance is added, and value is set.

    Request body
    {
        "entryInfoList": [
            {
                "primaryKey": "6001",
                "attributeList": [
                    {
                        "path": "Product_Hierarchy_Spec/Grouping/Attri1",
                        "value": "Grouping Attri1 value"
                    }
                ]
            }
        ]
    }

    Response body
    {
        "entries": [
            {
                "primaryKey": "6000",
                "message": "Successfully updated [6000] category",
                "errors": []
            }
        ]
    }

  • Lookup attributes: The value should be in the following format:
    <Primary key of the Lookup table entry>

    Request body
    {
        "entryInfoList": [
            {
                "primaryKey": "6001",
                "attributeList": [
                    {
                        "path": "Product_Hierarchy_Spec/lookup_attr",
                        "value": "4"
                    }
                ]
            }
        ]
    }

    Response body
    {
        "entries": [
            {
                "primaryKey": "6000",
                "message": "Successfully updated [6000] category",
                "errors": []
            }
        ]
    }

  • Linked attributes: To update or add a linked attribute, pass primary key of the attribute.
    Request body
    {
        "entryInfoList": [
            {
                "primaryKey": "6001",
                "attributeList": [
    				{
                        "path": "Sample_Hierarchy_Spec/linkedAttr",
                        "value": "2"
                    }
                ]
            }
        ]
    }

    Response body
    {
        "entries": [
            {
                "primaryKey": "6000",
                "message": "Successfully updated [6000] category",
                "errors": []
            }
        ]
    }

  • Date attributes: The value should be in the following format.
    yyyy-MM-dd HH:mm:ss

    Request body
    {
        "entryInfoList": [
            {
                "primaryKey": "6001",
                "attributeList": [
    				{
                        "path": "Sample_Hierarchy_Spec/Date",
                        "value": "2020-10-28 12:00:00"
                    }
                ]
            }
        ]
    }

    Response body
    {
        "entries": [
            {
                "primaryKey": "6000",
                "message": "Successfully updated [6000] category",
                "errors": []
            }
        ]
    }

  • Relationship attributes: The value should be in the following format.
    <Catalog name>\u003E\u003E >> <Primary Key of the related Item>

    Request body
    {
        "entryInfoList": [
            {
                "primaryKey": "6001",
                "attributeList": [
                    {
                        "path": "Product_Hierarchy_Spec/RelationShipAttr",
                        "value": "Product Catalog>>1"
                    }
              	  ]
            }
        ]
    }

    Response body
    {
        "entries": [
            {
                "primaryKey": "6000",
                "message": "Successfully updated [6000] category",
                "errors": []
            }
        ]
    }
    

For more detailed information on the REST APIs, see IBM® Product Master Integrations REST APIs swagger file.