Searches Parts List

post

/rest/v19/parts/actions/search

This operation is used to search parts based on Configuration attribute values. If account and user information is available in the authentication token, Eligibility Rules created on user and account attributes are applied.

Request

Supported Media Types
Body ()
Root Schema : Part Search Collection Request Definitions
Type: object
Title: Part Search Collection Request Definitions
Show Source
Nested Schema : Part Search Context
Type: object
Title: Part Search Context
Context definition for part search.
Show Source
Nested Schema : Query Definition
Type: object
Title: Query Definition
Captures the query definition for the current resource request.
Show Source
  • actions
    Array of actions names, whose state is requested in the state object response.
  • childDefs
  • Parameter value should be true to execute hierarchy search and sort. Default value is false.
  • excludeFieldTypes
    Array of field names that you want to exclude in the response.
  • expand
    Array of child resource names that you want to expand so that the contents return with the parent in the same request.
  • expandedDomainCriteria
    Map of dynamic menu field names, whose expanded domains are requested in the state object response, to a map of criteria, which are meant for filtering dynamic menu options. The criteria map should contain the node(s) information when dynamic menus on LIG are expanded. The criteria map also contains the search string. The search strings support contains, and are case-insensitive.
  • expandedDomains
    Array of field names, whose expanded domains are requested in the state object response.
  • Boolean value that only be available when enableHierarchy is true. True = all nodes will be expanded; False = All nodes will be collapsed.Default value is true.
  • fields
    Array of field names that you wanted returned in a request.
  • groups
    Array of group names, whose state is requested in the state object response.
  • Positive integer value that specifies the maximum number of items returned by the server.
  • nodesExceptionList
    Array of document_number, recording the nodes that violate current expandNodes flag
  • Non-negative integer values that specifies the index of the first item to be returned. The offset index begins at 0. By default, the offset is 0, which returns all items starting from the first item in the collection.
  • orderBy
    Array of field names, each optionally followed by asc or desc, that specifies the order of items returned in the response payload.
  • Filter (a ???where???clause) to restrict the items returned in the collection. By default, no filtering is applied.
  • Boolean value that specifies whether to calculate the state property. By default, this value is set to false indicating that state is not calculated.
  • Boolean value that specifies whether to calculate the totalResults property. By default, this value is set to false indicating that totalResults is not calculated.
Nested Schema : Commerce Data
Type: object
Title: Commerce Data
Transaction data for part search.
Show Source
  • Title: Cache Instance Id
    The unique identifier for the entry of transaction data stored in the cache. This typically is obtained from first createTransaction or OpenTransaction action to avoid reload transaction data from db.
  • Title: Currency Code
    The currencyCode value in which the attribute is represented
  • Title: Transaction Id
    Current Unique Buyside ID of the transaction.
  • MainDocument Data
    Title: MainDocument Data
    The transaction's main document data.
  • Process
    Title: Process
    The transaction's process meta-data.
Nested Schema : Config Data
Type: object
Title: Config Data
Config data for part search.
Show Source
Nested Schema : MainDocument Data
Type: object
Title: MainDocument Data
The transaction's main document data.
Show Source
  • Attributes
    Title: Attributes
    A set of key, value pairs with key being attribute's variableName and value being the value of the attribute. If it's an msm, it can take list of values in items array.
  • Title: MainDocument Variable Name
    The variable name of the main document that the current transaction data belongs to.
Nested Schema : Process
Type: object
Title: Process
The transaction's process meta-data.
Show Source
  • Title: Process Variable Name
    The variable name of the process that the current transaction data belongs to.
Nested Schema : Attributes
Type: object
Title: Attributes
A set of key, value pairs with key being attribute's variableName and value being the value of the attribute. If it's an msm, it can take list of values in items array.
Nested Schema : All Products
Type: object
Title: All Products
Holds attribute data that belong to all products
Show Source
  • Attributes
    Title: Attributes
    A set of key, value pairs with key being attribute's variableName and value being the value of the attribute. If it's an msm, it can take list of values in items array.
Nested Schema : ConfiguratorDataDefinition
Type: object
Title: ConfiguratorDataDefinition
Holds configurator related data like variable name and attribute values
Show Source
  • Attributes
    Title: Attributes
    A set of key, value pairs with key being attribute's variableName and value being the value of the attribute. If it's an msm, it can take list of values in items array.
  • The variableName of the configurator entity like segment,productLine,model
Nested Schema : actions
Type: array
Array of actions names, whose state is requested in the state object response.
Show Source
Nested Schema : childDefs
Type: array
Show Source
Nested Schema : excludeFieldTypes
Type: array
Array of field names that you want to exclude in the response.
Show Source
Nested Schema : expand
Type: array
Array of child resource names that you want to expand so that the contents return with the parent in the same request.
Show Source
Nested Schema : expandedDomainCriteria
Type: array
Map of dynamic menu field names, whose expanded domains are requested in the state object response, to a map of criteria, which are meant for filtering dynamic menu options. The criteria map should contain the node(s) information when dynamic menus on LIG are expanded. The criteria map also contains the search string. The search strings support contains, and are case-insensitive.
Show Source
Nested Schema : expandedDomains
Type: array
Array of field names, whose expanded domains are requested in the state object response.
Show Source
Nested Schema : fields
Type: array
Array of field names that you wanted returned in a request.
Show Source
Nested Schema : groups
Type: array
Array of group names, whose state is requested in the state object response.
Show Source
Nested Schema : nodesExceptionList
Type: array
Array of document_number, recording the nodes that violate current expandNodes flag
Show Source
Nested Schema : orderBy
Type: array
Array of field names, each optionally followed by asc or desc, that specifies the order of items returned in the response payload.
Show Source
Nested Schema : Child query criteria.
Type: object
Title: Child query criteria.
Captures the query criteria for the child resource.
Show Source
Back to Top

Response

Supported Media Types

Default Response

Body ()
Root Schema : Part Search Collection Response Definitions
Type: object
Title: Part Search Collection Response Definitions
Show Source
Nested Schema : Part Collection Definitions
Type: object
Title: Part Collection Definitions
Show Source
Nested Schema : items
Type: array
Show Source
Nested Schema : Part Instance Definitions
Type: object
Title: Part Instance Definitions
Show Source
Nested Schema : Price Period
Type: object
Title: Price Period
Show Source
  • Title: Display Value
    Translated display name of the type for which fixed list of values can be defined.
  • Title: Id
    Primary Key of the fixed list of value resource.
  • Title: Lookup Code
    Language independent code of the fixed list of value.
Nested Schema : Price Type
Type: object
Title: Price Type
Show Source
  • Title: Display Value
    Translated display name of the type for which fixed list of values can be defined.
  • Title: Id
    Primary Key of the fixed list of value resource.
  • Title: Lookup Code
    Language independent code of the fixed list of value.
Nested Schema : Configurable Flag
Type: object
Title: Configurable Flag
Part Configurable Flag
Show Source
  • Title: Display Value
    Translated display name of the type for which fixed list of values can be defined.
  • Title: Id
    Primary Key of the fixed list of value resource.
  • Title: Lookup Code
    Language independent code of the fixed list of value.
Nested Schema : Direct Buy
Type: object
Title: Direct Buy
Determines how the part must be purchased.
Show Source
  • Title: Display Value
    Translated display name of the type for which fixed list of values can be defined.
  • Title: Id
    Primary Key of the fixed list of value resource.
  • Title: Lookup Code
    Language independent code of the fixed list of value.
Nested Schema : Product Status
Type: object
Title: Product Status
Status of the product
Show Source
  • Title: Display Value
    Translated display name of the type for which fixed list of values can be defined.
  • Title: Id
    Primary Key of the fixed list of value resource.
  • Title: Lookup Code
    Language independent code of the fixed list of value.
Back to Top

Examples

The Search Parts REST API supports customizing the REST response by specifying an advanced query object (i.e. "q" criteria) as a request body parameter. This allows administrators to customize the query by specifying various combinations of criteria.

The following examples show how to search parts by submitting a POST request to the REST resource using cURL. For more information about cURL, see Use cURL.

curl - X POST -H "Authorization: Bearer <token>" - H "Content-type: application/json"
https://sitename.oracle.com/rest/v19/parts/actions/search

Request Body Samples

Configuration Context Parts Search

This operation is used to search parts based on Configuration attribute values. If account and user information is available in the authentication token, Eligibility Rules created on user and account attributes are applied.

{
  "criteria": {
    "totalResults": true,
    "limit": 15,
    "offset": 0,
    "fields": ["partNumber", "_part_custom_field8", "_part_custom_field9", "_part_custom_field11", "_part_custom_field17", "directBuy", "units", "leadTime", "partDisplayNumber"],
    "q": "{\"partNumber\":{\"$like\": \"EligibilityForPartRESTAPICONFIGPart%\"}}"
  },
  "context": {
    "pricebookVarName": "pricebook1",
    "config": {
      "allProducts": {
        "attributes": {
          "conditionsAllPF": "true"
        }
      },
      "segment": {
        "variableName": "testbed",
        "attributes": {
          "aVPMSMCheckboxesOther": {
            "items": ["Value 1"]
          }
        }
      },
      "productLine": {
        "variableName": "recommendedItems",
        "attributes": {
          "advancedCondition1": "true"
        }
      },
      "model": {
        "variableName": "performance",
        "attributes": {
          "numberOfLineItems": "50"
        }
      }
    }
  }
}

Commerce Context Parts Search

When an Eligibility Rule is based on a Commerce attribute and a Transaction is created with values that satisfy the Eligibility Rule, this operation is used to search for parts using Transaction data.

{
  "criteria": {
    "totalResults": true,
    "limit": 15,
    "offset": 0,
    "fields": ["partNumber", "_part_custom_field8", "_part_custom_field9", "_part_custom_field11", "_part_custom_field17", "directBuy", "units", "leadTime", "partDisplayNumber"],
    "q": "{\"partNumber\":{\"$like\": \"Basic Pricing 01\"}}"
  },
  "context": {
    "pricebookVarName": "pricebook1",
    "commerce": {
      "id": "20587705"
    }
  }
}

Commerce Quick Key Search

In a CPQ Transaction, Quick Key line items are used to add parts to a quote without navigating away from the Transaction page and to auto - suggest a part to aid in part selection.The Search Part REST API allows implementers to build similar functionality where the Quick Key part selector auto - populates with part numbers when users enter characters into an item field in the Line Item Grid.

{
  "context": {
    "pricebookVarName": "pricebook1",
    "commerce": {
      "id": "20516360",
      "cacheInstanceId": "3KR11zuA1UZzhlH2ohStrgwgRrlrYa9YbrSIY2OofoRPBbluv12MCYfm40Ag33nGP"
    }
  },
  "criteria": {
    "q": "{\"partNumber\":{$like: \"part2690%\", $options:\"I\"}}",
    "fields": ["partDisplayNumber", "partNumber"],
    "totalResults": true,
    "limit": 10,
    "offset": 0
  }
}

Notes:

  • If cacheInstanceId is present, the id and process data are ignored.
  • If cacheInstanceId is not present and id is present, the id is used.
  • If cacheInstanceId and id are not available, Commerce attribute values are passed.

Search List of Part Numbers

Used to filter a given list of parts. The list of parts is provided in the "q" parameter (concatenated with 'OR') of the criteria object.

{
  "context": {
    "pricebookVarName": "pricebook1",
    "commerce": {
      "id": "20104203"
    }
  },
  "criteria": {
    "q": "{ $or: [ { \"partNumber\": { $eq: \"part2690\" }}, { \"partNumber\": { $eq: \"part2691\" }} ] }"
  }
}

Advanced Part Search

This operation is used to search for parts using a single or combination of multiple part fields with Eligibility Rules applied. The part search criteria supports operators based on field type.

Search parts based on a part custom field, such as an MSM field.As shown in the below example, any MSM field can be searched using the value attribute.

{
  "criteria": {
    "totalResults": true,
    "limit": 5,
    "offset": 0,
    "fields": ["_part_customfield16", "partNumber"],
    "q": "{$and:[{partNumber:\"EligibilityForPartRESTAPIPart3\"},{\"_part_customfield16.value\":{$ne:[\"Value 1\"]}}]}"
  },
  "context": {
    "pricebookVarname": "pricebook1"
  }
}

Keywords Parts Search

The Parts Search REST API now accepts keywords as part of the search query. Keywords can include indexed parts fields and Part Custom Fields that have the Search Page field enabled.

Parts Field Example

{
  "criteria": {
    "totalResults": true,
    "offset": 0,
    "limit": 10,
    "keywords": ["part10007"]
  },
  "context": {
    "pricebookVarName": "_default_price_book"
  }
}

Part Custom Field Example

{
  "criteria": {
    "totalResults": true,
    "offset": 0,
    "limit": 10,
    "keywords": ["Custom Field 25"]
  },
  "context": {
    "pricebookVarName": "_default_price_book"
  }
}
Back to Top