# Nr1CatalogApp.ItemCustomModifiersApi

All URIs are relative to *http://api.ncr.com/catalog/v2*

Method | HTTP request | Description
------------- | ------------- | -------------
[**itemCustomModifiersFindMultiple**](ItemCustomModifiersApi.md#itemCustomModifiersFindMultiple) | **POST** /item-custom-modifiers/get-multiple | Retrieve a collection of matching custom item modifier documents
[**itemCustomModifiersGet**](ItemCustomModifiersApi.md#itemCustomModifiersGet) | **GET** /item-custom-modifiers/{itemCode}/{linkGroupCode}/{linkedItemCode} | Retrieve an item-custom-modifier document by the resource identifier
[**itemCustomModifiersSaveMultiple**](ItemCustomModifiersApi.md#itemCustomModifiersSaveMultiple) | **PUT** /item-custom-modifiers | Imports a mini-batch of item custom modifier documents.


<a name="itemCustomModifiersFindMultiple"></a>
# **itemCustomModifiersFindMultiple**
> GetItemCustomModifiersResponse itemCustomModifiersFindMultiple(nepEnterpriseUnit, opts)

Retrieve a collection of matching custom item modifier documents

<p>This API retrieves a set of item-custom-modifier-documents for a given set of item identifiers. This API is executed on a context of a single  enterprise unit which is expected to be passed as a standard header. The API does not fail if any of the provided item codes do not have corresponding custom modifiers defined at the specified enterprise unit (instead it returns empty object response). This API allows clients to orchestrate multiple catalog APIs more effectively. For example, a client may run a search against global items by various supported parameters and then retrieve single call all custom modifiers for a given enterprise unit (e.g. store/site)with a of the catalog items matched by the previous search. This API has no side-effects.<br/></p><p><h3>Input parameters:-</h3> <code>request:</code> Identifies context of the client, such as enterprise unit that the client belongs to.<br/><code>itemIdentifiers:</code> Object containing the item codes to use for bulk retrieval.<br/><br/><h3>Returns:</h3> A collection of the matched documents or empty collection if not matches were found.</p>

### Example
```javascript
var Nr1CatalogApp = require('nr1_catalog_app');

var apiInstance = new Nr1CatalogApp.ItemCustomModifiersApi();

var nepEnterpriseUnit = "nepEnterpriseUnit_example"; // String | Enterprise unit id

var opts = { 
  'pageNumber': 0, // Number | The requested page number (starting from zero)
  'pageSize': 200, // Number | The page size
  'body': new Nr1CatalogApp.ItemIdCollectionData(), // ItemIdCollectionData | 
  'nepCorrelationId': "nepCorrelationId_example", // String | A unique ID that can be used to correlate one or more related requests for debugging or tracing purposes
  'nepOrganization': "nepOrganization_example" // String | The organization the request applies to
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
apiInstance.itemCustomModifiersFindMultiple(nepEnterpriseUnit, opts, callback);
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **nepEnterpriseUnit** | **String**| Enterprise unit id | 
 **pageNumber** | **Number**| The requested page number (starting from zero) | [optional] [default to 0]
 **pageSize** | **Number**| The page size | [optional] [default to 200]
 **body** | [**ItemIdCollectionData**](ItemIdCollectionData.md)|  | [optional] 
 **nepCorrelationId** | **String**| A unique ID that can be used to correlate one or more related requests for debugging or tracing purposes | [optional] 
 **nepOrganization** | **String**| The organization the request applies to | [optional] 

### Return type

[**GetItemCustomModifiersResponse**](GetItemCustomModifiersResponse.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

<a name="itemCustomModifiersGet"></a>
# **itemCustomModifiersGet**
> ItemCustomModifierViewData itemCustomModifiersGet(itemCode, nepEnterpriseUnit, linkGroupCode, linkedItemCode, opts)

Retrieve an item-custom-modifier document by the resource identifier

<p>This API retrieves a complete item-custom-modifier document based on provided <b>itemCode,linkGroupCode and linkedItemCode</b> It is executed on a context of a single enterprise unit which is expected to be passed as a standard header.<br/></p><p><h3>Input parameters:-</h3> <code>itemCustomModifierIdentifier:</code> uniquely identifies item custom modifier to retrieve consisting of itemCode, linkGroupCode, and linkedItemCode.<br/><br/><h3>Returns:</h3> Object containing complete writable set of attributes for item custom modifier.</p>

### Example
```javascript
var Nr1CatalogApp = require('nr1_catalog_app');

var apiInstance = new Nr1CatalogApp.ItemCustomModifiersApi();

var itemCode = "itemCode_example"; // String | A unique item (unique per Tenant) code which is used to identify the item.

var nepEnterpriseUnit = "nepEnterpriseUnit_example"; // String | Enterprise unit identifier for which the item attributes are defined.

var linkGroupCode = "linkGroupCode_example"; // String | A unique (per tenant) link group code that identifies the link group.

var linkedItemCode = "linkedItemCode_example"; // String | A unique item (unique per Tenant) code which is used to identify the item.

var opts = { 
  'nepCorrelationId': "nepCorrelationId_example", // String | A unique ID that can be used to correlate one or more related requests for debugging or tracing purposes
  'nepOrganization': "nepOrganization_example" // String | The organization the request applies to
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
apiInstance.itemCustomModifiersGet(itemCode, nepEnterpriseUnit, linkGroupCode, linkedItemCode, opts, callback);
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **itemCode** | **String**| A unique item (unique per Tenant) code which is used to identify the item. | 
 **nepEnterpriseUnit** | **String**| Enterprise unit identifier for which the item attributes are defined. | 
 **linkGroupCode** | **String**| A unique (per tenant) link group code that identifies the link group. | 
 **linkedItemCode** | **String**| A unique item (unique per Tenant) code which is used to identify the item. | 
 **nepCorrelationId** | **String**| A unique ID that can be used to correlate one or more related requests for debugging or tracing purposes | [optional] 
 **nepOrganization** | **String**| The organization the request applies to | [optional] 

### Return type

[**ItemCustomModifierViewData**](ItemCustomModifierViewData.md)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

<a name="itemCustomModifiersSaveMultiple"></a>
# **itemCustomModifiersSaveMultiple**
> itemCustomModifiersSaveMultiple(opts)

Imports a mini-batch of item custom modifier documents.

<p>This import API will either create or update existing item custom modifier documents. If the item-custom-modifier already exists, the document will be updated only if the version number is greater than the version number of the existing document. It allows specifying multiple enterprise units in the request, with a maximum of 100 enterprise units per request. The API will perform an authorization check on the supplied enterprise units.<br/></p> <p><h3>Input parameters:-</h3>  <code>request:</code> contains the list of item custom modifiers to save<br/> 

### Example
```javascript
var Nr1CatalogApp = require('nr1_catalog_app');

var apiInstance = new Nr1CatalogApp.ItemCustomModifiersApi();

var opts = { 
  'body': new Nr1CatalogApp.SaveMultipleItemCustomModifierRequest(), // SaveMultipleItemCustomModifierRequest | 
  'nepCorrelationId': "nepCorrelationId_example", // String | A unique ID that can be used to correlate one or more related requests for debugging or tracing purposes
  'nepOrganization': "nepOrganization_example" // String | The organization the request applies to
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
};
apiInstance.itemCustomModifiersSaveMultiple(opts, callback);
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **body** | [**SaveMultipleItemCustomModifierRequest**](SaveMultipleItemCustomModifierRequest.md)|  | [optional] 
 **nepCorrelationId** | **String**| A unique ID that can be used to correlate one or more related requests for debugging or tracing purposes | [optional] 
 **nepOrganization** | **String**| The organization the request applies to | [optional] 

### Return type

null (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

