Skip to content

Latest commit

 

History

History
364 lines (301 loc) · 19.3 KB

ProductCatalogApi.md

File metadata and controls

364 lines (301 loc) · 19.3 KB

xi.sdk.resellers.Api.ProductCatalogApi

All URIs are relative to https://api.ingrammicro.com:443

Method HTTP request Description
GetResellerV6Productdetail GET /resellers/v6/catalog/details/{ingramPartNumber} Product Details
GetResellerV6Productsearch GET /resellers/v6/catalog Search Products
PostPriceandavailability POST /resellers/v6/catalog/priceandavailability Price and Availability

GetResellerV6Productdetail

ProductDetailResponse GetResellerV6Productdetail (string ingramPartNumber, string iMCustomerNumber, string iMCountryCode, string iMCorrelationID, string? iMSenderID = null)

Product Details

Search all the product-related details using a unique Ingram Part Number. Currently, this API is available in the USA, India, and Netherlands.

Example

using System.Collections.Generic;
using System.Diagnostics;
using System.Net.Http;
using xi.sdk.resellers.Api;
using xi.sdk.resellers.Client;
using xi.sdk.resellers.Model;

namespace Example
{
    public class GetResellerV6ProductdetailExample
    {
        public static void Main()
        {
            Configuration config = new Configuration();
            config.BasePath = "https://api.ingrammicro.com:443";
            // Configure OAuth2 access token for authorization: application
            config.AccessToken = "YOUR_ACCESS_TOKEN";

            // create instances of HttpClient, HttpClientHandler to be reused later with different Api classes
            HttpClient httpClient = new HttpClient();
            HttpClientHandler httpClientHandler = new HttpClientHandler();
            var apiInstance = new ProductCatalogApi(httpClient, config, httpClientHandler);
            var ingramPartNumber = 6YE881;  // string | Ingram Micro unique part number for the product
            var iMCustomerNumber = 20-222222;  // string | Your unique Ingram Micro customer number
            var iMCountryCode = US;  // string | Two-character ISO country code.
            var iMCorrelationID = fbac82ba-cf0a-4bcf-fc03-0c5084;  // string | Unique transaction number to identify each transaction accross all the systems
            var iMSenderID = MyCompany;  // string? | Sender Identification text (optional) 

            try
            {
                // Product Details
                ProductDetailResponse result = apiInstance.GetResellerV6Productdetail(ingramPartNumber, iMCustomerNumber, iMCountryCode, iMCorrelationID, iMSenderID);
                Debug.WriteLine(result);
            }
            catch (ApiException  e)
            {
                Debug.Print("Exception when calling ProductCatalogApi.GetResellerV6Productdetail: " + e.Message);
                Debug.Print("Status Code: " + e.ErrorCode);
                Debug.Print(e.StackTrace);
            }
        }
    }
}

Using the GetResellerV6ProductdetailWithHttpInfo variant

This returns an ApiResponse object which contains the response data, status code and headers.

try
{
    // Product Details
    ApiResponse<ProductDetailResponse> response = apiInstance.GetResellerV6ProductdetailWithHttpInfo(ingramPartNumber, iMCustomerNumber, iMCountryCode, iMCorrelationID, iMSenderID);
    Debug.Write("Status Code: " + response.StatusCode);
    Debug.Write("Response Headers: " + response.Headers);
    Debug.Write("Response Body: " + response.Data);
}
catch (ApiException e)
{
    Debug.Print("Exception when calling ProductCatalogApi.GetResellerV6ProductdetailWithHttpInfo: " + e.Message);
    Debug.Print("Status Code: " + e.ErrorCode);
    Debug.Print(e.StackTrace);
}

Parameters

Name Type Description Notes
ingramPartNumber string Ingram Micro unique part number for the product
iMCustomerNumber string Your unique Ingram Micro customer number
iMCountryCode string Two-character ISO country code.
iMCorrelationID string Unique transaction number to identify each transaction accross all the systems
iMSenderID string? Sender Identification text [optional]

Return type

ProductDetailResponse

Authorization

application

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Success -
400 Bad Request -
404 No Content -
500 Internal Server Error -

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetResellerV6Productsearch

ProductSearchResponse GetResellerV6Productsearch (string iMCustomerNumber, string iMCorrelationID, string iMCountryCode, int? pageNumber = null, int? pageSize = null, string? iMSenderID = null, string? type = null, string? hasDiscounts = null, List? vendor = null, List? vendorPartNumber = null, string? acceptLanguage = null, string? vendorNumber = null, List? keyword = null, string? category = null, string? skipAuthorisation = null)

Search Products

Search the Ingram Micro product catalog by providing any of the information in the keyword(Ingram part number / vendor part number/ product description / UPC

Example

using System.Collections.Generic;
using System.Diagnostics;
using System.Net.Http;
using xi.sdk.resellers.Api;
using xi.sdk.resellers.Client;
using xi.sdk.resellers.Model;

namespace Example
{
    public class GetResellerV6ProductsearchExample
    {
        public static void Main()
        {
            Configuration config = new Configuration();
            config.BasePath = "https://api.ingrammicro.com:443";
            // Configure OAuth2 access token for authorization: application
            config.AccessToken = "YOUR_ACCESS_TOKEN";

            // create instances of HttpClient, HttpClientHandler to be reused later with different Api classes
            HttpClient httpClient = new HttpClient();
            HttpClientHandler httpClientHandler = new HttpClientHandler();
            var apiInstance = new ProductCatalogApi(httpClient, config, httpClientHandler);
            var iMCustomerNumber = 20-222222;  // string | Your unique Ingram Micro customer number
            var iMCorrelationID = fbac82ba-cf0a-4bcf-fc03-0c5084;  // string | Unique transaction number to identify each transaction accross all the systems
            var iMCountryCode = US;  // string | Two-character ISO country code.
            var pageNumber = 56;  // int? | Current page number. Default is 1 (optional) 
            var pageSize = 56;  // int? | Number of records required in the call - max records 100 per page (optional) 
            var iMSenderID = MyCompany;  // string? | Sender Identification text (optional) 
            var type = "IM::physical";  // string? | The SKU type of product. One of Physical, Digital, or Any. (optional) 
            var hasDiscounts = true;  // string? | Specifies if there are discounts available for the product. (optional) 
            var vendor = new List<string>?(); // List<string>? | The name of the vendor/manufacturer of the product. (optional) 
            var vendorPartNumber = new List<string>?(); // List<string>? | The vendors part number for the product. (optional) 
            var acceptLanguage = "\"en\"";  // string? | Header to the API calls, the content will help us identify the response language. (optional)  (default to "en")
            var vendorNumber = "vendorNumber_example";  // string? | Vendor number of the product (optional) 
            var keyword = new List<string>?(); // List<string>? | Keyword search,can be ingram part number or vendor part number or product title or vendor nameKeyword search. Can be Ingram Micro part number, vender part number, product title, or vendor name. (optional) 
            var category = Accessories;  // string? | The category of the product. Example: Displays. (optional) 
            var skipAuthorisation = true;  // string? | This parameter is True when you want Skip the authorization, so template will work like current B2b template. (optional) 

            try
            {
                // Search Products
                ProductSearchResponse result = apiInstance.GetResellerV6Productsearch(iMCustomerNumber, iMCorrelationID, iMCountryCode, pageNumber, pageSize, iMSenderID, type, hasDiscounts, vendor, vendorPartNumber, acceptLanguage, vendorNumber, keyword, category, skipAuthorisation);
                Debug.WriteLine(result);
            }
            catch (ApiException  e)
            {
                Debug.Print("Exception when calling ProductCatalogApi.GetResellerV6Productsearch: " + e.Message);
                Debug.Print("Status Code: " + e.ErrorCode);
                Debug.Print(e.StackTrace);
            }
        }
    }
}

Using the GetResellerV6ProductsearchWithHttpInfo variant

This returns an ApiResponse object which contains the response data, status code and headers.

try
{
    // Search Products
    ApiResponse<ProductSearchResponse> response = apiInstance.GetResellerV6ProductsearchWithHttpInfo(iMCustomerNumber, iMCorrelationID, iMCountryCode, pageNumber, pageSize, iMSenderID, type, hasDiscounts, vendor, vendorPartNumber, acceptLanguage, vendorNumber, keyword, category, skipAuthorisation);
    Debug.Write("Status Code: " + response.StatusCode);
    Debug.Write("Response Headers: " + response.Headers);
    Debug.Write("Response Body: " + response.Data);
}
catch (ApiException e)
{
    Debug.Print("Exception when calling ProductCatalogApi.GetResellerV6ProductsearchWithHttpInfo: " + e.Message);
    Debug.Print("Status Code: " + e.ErrorCode);
    Debug.Print(e.StackTrace);
}

Parameters

Name Type Description Notes
iMCustomerNumber string Your unique Ingram Micro customer number
iMCorrelationID string Unique transaction number to identify each transaction accross all the systems
iMCountryCode string Two-character ISO country code.
pageNumber int? Current page number. Default is 1 [optional]
pageSize int? Number of records required in the call - max records 100 per page [optional]
iMSenderID string? Sender Identification text [optional]
type string? The SKU type of product. One of Physical, Digital, or Any. [optional]
hasDiscounts string? Specifies if there are discounts available for the product. [optional]
vendor List<string>? The name of the vendor/manufacturer of the product. [optional]
vendorPartNumber List<string>? The vendors part number for the product. [optional]
acceptLanguage string? Header to the API calls, the content will help us identify the response language. [optional] [default to "en"]
vendorNumber string? Vendor number of the product [optional]
keyword List<string>? Keyword search,can be ingram part number or vendor part number or product title or vendor nameKeyword search. Can be Ingram Micro part number, vender part number, product title, or vendor name. [optional]
category string? The category of the product. Example: Displays. [optional]
skipAuthorisation string? This parameter is True when you want Skip the authorization, so template will work like current B2b template. [optional]

Return type

ProductSearchResponse

Authorization

application

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 a ProductSearchv6ResponseElement to be returned * IM-CorrelationID - Unique transaction number to identify each transaction across all the systems.
* IM-SenderID - Sender Identification text .
400 Bad Request * IM-CorrelationID - Unique transaction number to identify each transaction across all the systems.
* IM-SenderID - Sender Identification text .
404 No Content -
500 Internal Server Error * IM-CorrelationID - Unique transaction number to identify each transaction across all the systems.
* IM-SenderID - Sender Identification text .

[Back to top] [Back to API list] [Back to Model list] [Back to README]

PostPriceandavailability

List<PriceAndAvailabilityResponseInner> PostPriceandavailability (bool includeAvailability, bool includePricing, string iMCustomerNumber, string iMCountryCode, string iMCorrelationID, PriceAndAvailabilityRequest priceAndAvailabilityRequest, bool? includeProductAttributes = null, string? iMSenderID = null)

Price and Availability

The PriceAndAvailability API, will retrieve Pricing, Availability, discounts, Inventory Location, Reserve Inventory for the products upto 50 products.

Example

using System.Collections.Generic;
using System.Diagnostics;
using System.Net.Http;
using xi.sdk.resellers.Api;
using xi.sdk.resellers.Client;
using xi.sdk.resellers.Model;

namespace Example
{
    public class PostPriceandavailabilityExample
    {
        public static void Main()
        {
            Configuration config = new Configuration();
            config.BasePath = "https://api.ingrammicro.com:443";
            // Configure OAuth2 access token for authorization: application
            config.AccessToken = "YOUR_ACCESS_TOKEN";

            // create instances of HttpClient, HttpClientHandler to be reused later with different Api classes
            HttpClient httpClient = new HttpClient();
            HttpClientHandler httpClientHandler = new HttpClientHandler();
            var apiInstance = new ProductCatalogApi(httpClient, config, httpClientHandler);
            var includeAvailability = true;  // bool | Pass boolean value as input, if true the response will contain warehouse availability details, if false the response will not hold warehouse availability details
            var includePricing = true;  // bool | Pass boolean value as input, if true the response will contain Pricing details of the Product, if false the response will not hold Pricing details.
            var iMCustomerNumber = 20-222222;  // string | Your unique Ingram Micro customer number.
            var iMCountryCode = US;  // string | Two-character ISO country code.
            var iMCorrelationID = fbac82ba-cf0a-4bcf-fc03-0c5084;  // string | Unique transaction number to identify each transaction across all the systems.
            var priceAndAvailabilityRequest = new PriceAndAvailabilityRequest(); // PriceAndAvailabilityRequest | 
            var includeProductAttributes = true;  // bool? | Pass boolean value as input, if true the response will contain detailed attributes related to the Product, if false or not sent the response will contain very few Product details. (optional) 
            var iMSenderID = MyCompany;  // string? | Unique value used to identify the sender of the transaction. Example: MyCompany (optional) 

            try
            {
                // Price and Availability
                List<PriceAndAvailabilityResponseInner> result = apiInstance.PostPriceandavailability(includeAvailability, includePricing, iMCustomerNumber, iMCountryCode, iMCorrelationID, priceAndAvailabilityRequest, includeProductAttributes, iMSenderID);
                Debug.WriteLine(result);
            }
            catch (ApiException  e)
            {
                Debug.Print("Exception when calling ProductCatalogApi.PostPriceandavailability: " + e.Message);
                Debug.Print("Status Code: " + e.ErrorCode);
                Debug.Print(e.StackTrace);
            }
        }
    }
}

Using the PostPriceandavailabilityWithHttpInfo variant

This returns an ApiResponse object which contains the response data, status code and headers.

try
{
    // Price and Availability
    ApiResponse<List<PriceAndAvailabilityResponseInner>> response = apiInstance.PostPriceandavailabilityWithHttpInfo(includeAvailability, includePricing, iMCustomerNumber, iMCountryCode, iMCorrelationID, priceAndAvailabilityRequest, includeProductAttributes, iMSenderID);
    Debug.Write("Status Code: " + response.StatusCode);
    Debug.Write("Response Headers: " + response.Headers);
    Debug.Write("Response Body: " + response.Data);
}
catch (ApiException e)
{
    Debug.Print("Exception when calling ProductCatalogApi.PostPriceandavailabilityWithHttpInfo: " + e.Message);
    Debug.Print("Status Code: " + e.ErrorCode);
    Debug.Print(e.StackTrace);
}

Parameters

Name Type Description Notes
includeAvailability bool Pass boolean value as input, if true the response will contain warehouse availability details, if false the response will not hold warehouse availability details
includePricing bool Pass boolean value as input, if true the response will contain Pricing details of the Product, if false the response will not hold Pricing details.
iMCustomerNumber string Your unique Ingram Micro customer number.
iMCountryCode string Two-character ISO country code.
iMCorrelationID string Unique transaction number to identify each transaction across all the systems.
priceAndAvailabilityRequest PriceAndAvailabilityRequest
includeProductAttributes bool? Pass boolean value as input, if true the response will contain detailed attributes related to the Product, if false or not sent the response will contain very few Product details. [optional]
iMSenderID string? Unique value used to identify the sender of the transaction. Example: MyCompany [optional]

Return type

List<PriceAndAvailabilityResponseInner>

Authorization

application

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 OK -
207 Multi Status -
400 Bad Request * IM-CorrelationID - Unique transaction number to identify each transaction across all the systems.
* IM-SenderID - Unique value used to identify the sender of the transaction. Example: MyCompany
401 Unauthorized -
500 Internal Server Error -

[Back to top] [Back to API list] [Back to Model list] [Back to README]