Skip to content

Search Resources

The iPIM Server REST API exposes a few endpoints for search, like:

json
.../iPIM/rest/api/products/searchWeb
.../iPIM/rest/api/assets/searchStandard
.../iPIM/rest/api/assets/searchUsage
.../iPIM/rest/api/contentobjects/searchList
.../iPIM/rest/api/assettrees/nodes/search
.../iPIM/rest/api/categories/mappings/search
.../iPIM/rest/api/categories/search
.../iPIM/rest/api/logentries/search
.../iPIM/rest/api/ratings/search

Each endpoint handles the search differently:

  • Some endpoints use exact queries to search for entities having a specific value.
  • Some endpoints use LIKE queries to search for entities.
  • Other endpoints provide different search options to pick from and customize the search.

Product Search Endpoints

Product search endpoints like the following, provide multiple search customizations:

json
.../iPIM/rest/api/products/searchStandard
.../iPIM/rest/api/products/searchList
.../iPIM/rest/api/products/searchList/nonMatchingParams
.../iPIM/rest/api/items/searchList
.../iPIM/rest/api/items/searchListModes
.../iPIM/rest/api/dimensions/searchStandard
.../iPIM/rest/api/dimensions/searchList

Search Options

  1. Quick search Use a search term to search.

  2. List search Use a list of search terms to search.

    List Search Parameters

    used to decide what to match the search terms to:

    • DIMENSION Variant
    • ALL
    • PRODUCTNO Product Number
    • ITEMEXTID External supplier number
    • ARTICLENO Item Number
    • STD_EAN Standard EAN

List Search Modes

Product search endpoints handle multiple search modes. The property search.list.default.mode can be used to set a custom default search mode.
The search modes use the wildcard "%" in different ways which influences the search results as well as the search performance

| Mode | Identifier | Description | Example | | ----------------------- | ----------------- | ----------------- | | Standard (default) |SEARCH_MODE_STANDARD | Places a % at the end of the term in the Value field, i.e. the term must occur at the beginning of the attribute field. | 1001% - yields results in the form of 100128, 100139, but also e.g. 100128_345 and the likes. | | Comfort (advanced search) | SEARCH_MODE_COMFORT | Sets %search term%, i.e. the term must occur somewhere in the attribute field (slowest, most performance-intensive search variation). | %001% - yields 100128, 200128, 300145, 200328_001 etc. | | Professional | SEARCH_MODE_PROFESSIONAL |You can set % yourself to define searches. | 1001%8 - yields 100128, 100158, 100168 etc. |

The search mode setting affects all search fields that represent a text field and all attributes that contain text. That includes the Product number and the Relation number.

List Search Match Modes

Product search endpoints handle multiple match modes. The property search.match.mode.default can be used to set a custom default match mode.

  • ALL - returns all entities matching the search terms in response
  • FIRST_MATCH - returns the first entity matching the search terms in response

Query Parameters

  • required parameters:

    • createWorklist (boolean) - if true a worklist will be created from the search results. Default: false
    • clientInheritance (boolean) - if true data will be inherited from parent client levels. Default: false
  • optional parameters:

    • attributes (String) - list of attribute identifiers (comma separated). Default: ALL
    • partner (string) - unique identifier for a partner
    • searchCap (string) - limit of results to return in response
  • standard parameters: type, locale, mainAsset, assetSize, include

    For Example:

    json
    POST .../iPIM/rest/api/products/searchList?createWorklist=false&clientInheritance=false

    Request

    json
    {
      "parameter": "PRODUCTNO",
      "list": [
        "100990", "100050"
      ],
      "showAttribute": false,
      "responseAttributes": [
        "Std_EAN"
      ],
      "searchMode": "SEARCH_MODE_STANDARD",
      "matchMode": "ALL"
    }

    Response

    json
    [
      {
        "productNo": "100050",
        "articleNo": "100050",
        "itemNo": "100050",
        "description": "JUnit Testprodukt 2",
        "match": "100050",
        "state1": {
          "state": "2"
        },
        "state2": {
          "state": "2"
        },
        "state3": {
          "state": "2"
        },
        "state4": {
          "state": "2"
        },
        "objectType": "ARTICLE_TYPE_PRODUCT",
        "productURI": "/iPIM/rest/api/products/100050",
        "deleted": false,
        "selfURI": "/iPIM/rest/api/products/100050",
        "attributes": [],
        "pimRef": 10128306
      },
      {
        "productNo": "100990",
        "articleNo": "100990",
        "itemNo": "100990",
        "description": "DatenfeedTestProdukt",
        "match": "100990",
        "state1": {
          "state": "2"
        },
        "state2": {
          "state": "2"
        },
        "state3": {
          "state": "2"
        },
        "state4": {
          "state": "2"
        },
        "objectType": "ARTICLE_TYPE_PRODUCT",
        "productURI": "/iPIM/rest/api/products/100990",
        "deleted": false,
        "selfURI": "/iPIM/rest/api/products/100990",
        "sequenceNo": 1,
        "attributes": [
          {
            "identifier": "Std_EAN",
            "type": "attribute",
            "attributeDataType": "PLAIN_STRING",
            "values": [
              {
                "value": "325648",
                "inherited": false,
                "isFromParent": false,
                "client": {
                  "id": 1,
                  "pimRef": "1",
                  "identifier": "CUSTOMER"
                }
              }
            ]
          }
        ],
        "pimRef": 10007255
      }
    ]