Searches Parts List
/rest/v16/parts/actions/search
Request
- application/json
object
Part Search Collection Request Definitions
-
context:
object Part Search Context
Title:
Part Search Context
Context definition for part search. -
criteria:
object Query Definition
Title:
Query Definition
Captures the query definition for the current resource request.
object
Part Search Context
-
commerce:
object Commerce Data
Title:
Commerce Data
Transaction data for part search. -
config:
object Config Data
Title:
Config Data
Config data for part search. -
pricebookVarName:
string
Title:
Pricebook Variable Name
String value that specifies the variable Name of the pricebook.
object
Query Definition
-
actions:
array actions
Array of actions names, whose state is requested in the state object response.
-
childDefs:
array childDefs
-
expand:
array expand
Array of child resource names that you want to expand so that the contents return with the parent in the same request.
-
expandedDomains:
array expandedDomains
Array of field names, whose expanded domains are requested in the state object response.
-
fields:
array fields
Array of field names that you wanted returned in a request.
-
state:
boolean
Boolean value that specifies whether to calculate the state property. By default, this value is set to false indicating that state is not calculated.
object
Commerce Data
-
cacheInstanceId:
string
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. -
currencyCode:
string
Title:
Currency Code
The currencyCode value in which the attribute is represented -
id:
string
Title:
Transaction Id
Current Unique Buyside ID of the transaction. -
mainDocument:
object MainDocument Data
Title:
MainDocument Data
The transaction's main document data. -
process:
object Process
Title:
Process
The transaction's process meta-data.
object
Config Data
-
allProducts:
object All Products
Title:
All Products
Holds attribute data that belong to all products -
currencyCode:
string
Title:
Currency Code
The currencyCode value in which the attribute is represented -
model:
object ConfiguratorDataDefinition
Title:
ConfiguratorDataDefinition
Holds configurator related data like variable name and attribute values -
productLine:
object ConfiguratorDataDefinition
Title:
ConfiguratorDataDefinition
Holds configurator related data like variable name and attribute values -
segment:
object ConfiguratorDataDefinition
Title:
ConfiguratorDataDefinition
Holds configurator related data like variable name and attribute values
object
MainDocument Data
-
attributes:
object Attributes
Title:
Attributes
A set of key, value pairs with key being attribute's variableName and value being the value of the attribute.If its an msm, it can take list of values in items array. -
variableName:
string
Title:
MainDocument Variable Name
The variable name of the main document that the current transaction data belongs to.
object
Process
-
variableName:
string
Title:
Process Variable Name
The variable name of the process that the current transaction data belongs to.
object
Attributes
object
All Products
-
attributes:
object Attributes
Title:
Attributes
A set of key, value pairs with key being attribute's variableName and value being the value of the attribute.If its an msm, it can take list of values in items array.
object
ConfiguratorDataDefinition
-
attributes:
object Attributes
Title:
Attributes
A set of key, value pairs with key being attribute's variableName and value being the value of the attribute.If its an msm, it can take list of values in items array. -
variableName:
string
The variableName of the configurator entity like segment,productLine,model
array
array
-
Array of:
object Child query criteria.
Title:
Child query criteria.
Captures the query criteria for the child resource.
array
array
array
object
Child query criteria.
-
name:
string
Rest alias name of the child resource this query belongs to.
-
queryDef:
object Query Definition
Title:
Query Definition
Captures the query definition for the current resource request. -
recursive:
boolean
Boolean value that specifies whether this query is a recursive expand on the current child resource query.
Response
- application/json
Default Response
object
Part Search Collection Response Definitions
-
result:
object Part Collection Definitions
Title:
Part Collection Definitions
object
Part Collection Definitions
-
count:
integer
The number of resource instances returned in the current range.
-
hasMore:
boolean
Returns true if more resources are available on the server than the subset returned in current page.
-
items:
array items
-
limit:
integer
The actual paging size used by the server.
-
offset:
integer
The offset used in the current page.
-
totalResults:
integer
Capture the total count of the resource instances, which not only includes the instances in the current range, but all instances on the server that satisfy the request.
array
-
Array of:
object Part Instance Definitions
Title:
Part Instance Definitions
object
Part Instance Definitions
-
bomItemVariableName:
string
Title:
Default Bom Item Variable Name
Variable name of the root BOM item. -
configurableFlag:
object Configurable Flag
Title:
Configurable Flag
Part Configurable Flag -
dateAdded:
string
Title:
Date Added
System field indicating the date on which the Resource was created. -
dateModified:
string
Title:
Date Modified
System field indicating the date on which the Resource was last modified. -
defaultUOMCode:
string
Title:
Default UOM Code
Default Unit of Measure. -
description:
string
Title:
Description
Description of the part -
directBuy:
object Direct Buy
Title:
Direct Buy
Determines how the part must be purchased. -
eligibleForService:
string
Title:
Eligible for Service
Enable this option, when integrating with a service request application. -
eligibleToSell:
string
Title:
Eligible to Sell
Check this if the part should be visible to a sales person (If the part is sellable or not). -
enableSelfService:
string
Title:
Enable Customer Self-Service
When integrating with any customer self service application- enable this option to identify parts as self-service eligible. -
externalKey1:
string
Title:
External Key 1
References for parts coming in from external third party system. -
externalKey2:
string
Title:
External Key 2
References for parts coming in from external third party system. -
id:
integer
Title:
Id
Primary Key of the part resource. -
leadTime:
integer
Title:
Lead Time
Time taken in days for the part to be shipped. -
numberOfPricePeriods:
integer
Title:
Number of Price Periods
Default number of price periods for a part. -
partDisplayNumber:
string
Title:
Part Display Number
Part Number for display purpose. -
partNumber:
string
Title:
Part Number
Part Number used to identify a part. -
partNumberLower:
string
Title:
Part Number Lower
Used to store part number in lower case. -
pricePeriod:
string
Title:
Price Period
Default price period for the period. -
priceType:
string
Title:
Price Type
Default price type applicable to the part- e.g. One-Time, Recurring or Usage-based. -
salesProductType:
string
Title:
Sales Product Type
Categorize the product by selecting a product type. -
status:
object Product Status
Title:
Product Status
Status of the product -
units:
string
Title:
Units
Number of units for the part number
object
Configurable Flag
-
displayValue:
string
Title:
Display Value
Translated display name of the type for which fixed list of values can be defined. -
id:
integer
Title:
Id
Primary Key of the fixed list of value resource. -
lookupCode:
string
Title:
Lookup Code
Language independent code of the fixed list of value.
object
Direct Buy
-
displayValue:
string
Title:
Display Value
Translated display name of the type for which fixed list of values can be defined. -
id:
integer
Title:
Id
Primary Key of the fixed list of value resource. -
lookupCode:
string
Title:
Lookup Code
Language independent code of the fixed list of value.
object
Product Status
-
displayValue:
string
Title:
Display Value
Translated display name of the type for which fixed list of values can be defined. -
id:
integer
Title:
Id
Primary Key of the fixed list of value resource. -
lookupCode:
string
Title:
Lookup Code
Language independent code of the fixed list of value.
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 - i - H "Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQg" - H "Content-type: application/json" https://sitename.oracle.com/rest/v16/parts/actions/search
Search Parts Using Configuration Context
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 Body Sample
{ "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" } } } } }
Search Parts Using Commerce Context
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.
Request Body Sample
{ "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" } } }
Perform a Quick Key Search in Commerce
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.
Request Body Sample
{ "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.
Request Body Sample
{ "context": { "pricebookVarName": "pricebook1", "commerce": { "id": "20104203" } }, "criteria": { "q": "{ $or: [ { \"partNumber\": { $eq: \"part2690\" }}, { \"partNumber\": { $eq: \"part2691\" }} ] }" } }
Perform an 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.
Request Body Sample
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" } }