openapi: 3.0.0 info: title: Product Catalog APIs version: '1.0' description: Ingram Micro product catalog API for requesting price and availability of SKUs in real time. contact: name: Partner Central Support url: 'https://developer.ingrmmmicro.com/contact' servers: - url: 'https://api.ingrammicro.com:443/sandbox/products' description: Sandbox paths: /v4/productsearch: post: description: 'A real time search that provides the Ingram Micro part number using the manufacturer part number. This API is helpful to eliminate any errors when a manufactuer has the same part number and Ingram Micro has had to create multiple sku numbers ' requestBody: content: application/json: schema: title: productSearchRequest type: object properties: servicerequest: type: object properties: requestpreamble: type: object properties: isocountrycode: type: string customernumber: type: string vendornumber: type: string required: - isocountrycode - customernumber productsearchrequest: type: object properties: searchcriteria: type: object properties: vendor: type: string description: Name of the vendor or manufacturer or brand of the product vendorpartnumber: type: string description: Vendor provided part number example: WKB-1500GB partdescription: type: string description: This field seraches the decriptioon of the product. example: 'WRLS ERGO KEYBOARD & MOUSE' UPC: type: string description: Universal Product Code example: 783750005524 customerpartnumber: type: string description: 'Customer’s designated part number ' x-examples: 'Using Vendor Part #': servicerequest: requestpreamble: customernumber: 41-231791 isocountrycode: US productsearchrequest: searchcriteria: vendorpartnumber: TESTE IS description: Request object model for the product search endpoint x-tags: - catalog examples: Ingram Part Number: value: servicerequest: requestpreamble: isocountrycode: US customernumber: 20-222222 productsearchrequest: ingrampartnumber: TSXML3 responses: '200': description: Success content: application/json: schema: title: productSearchResponse type: object description: Response object model for the product search endpoint properties: serviceresponse: type: object properties: responsePreamble: type: object productsearchresponse: type: object properties: numberOfResults: type: string description: Number of records in the search result. product: type: array items: type: object properties: vendor: type: string description: 'Name of the vendor, manufacture or brand.' vendornumber: type: string description: '4 digit unique vendor # creted by Ingram' example: '4063' ingrampartnumber: type: string description: Unique Ingram part number vendorpartnumber: type: string description: Vendor provided number customerpartnumber: type: string description: Customer’s designated part number. iscustomerauthorized: type: string description: Is customer authorized for purchase of this product? partdescription: type: string description: Part description UPC: type: string description: Universal Product Code x-tags: - catalog examples: SKU found: value: serviceresponse: responsepreamble: requeststatus: SUCCESS returnmessage: Details Found productsearchresponse: - partnumbers: - ingrampartnumber: TSXML3 manufacturerpartnumber: TESTXMLSKU3 SKU Not Found: value: serviceresponse: responsepreamble: requeststatus: FAILED returnmessage: PART-NOT-FOUND tags: - catalog summary: Real-time product search parameters: [] operationId: ProductSearch security: - application: - read /v4/multiskupriceandstock: post: description: |- Find price and availability of up to 50 SKUs in a single request. As you increase the number of items in the request response time will be extended. This transaction must not be used as a continuous cyclical call to populate availability and pricing for your full catalog. Customers that perform this activity will lose access to price and availability. Ingram can provide a Price catalog file and an Inventory file in flat file format, which can be obtained through FTP download. Please contact 1800-616-4665 or Electronic.Services@ingrammicro.com for more information on these files. requestBody: content: application/json: schema: title: multiSKUPriceAndStockRequest type: object description: Request object model for the multi sku price and stock API endpoint x-examples: Example: servicerequest: requestpreamble: customernumber: 20-222222 isocountrycode: US priceandstockrequest: showwarehouseavailability: 'True' extravailabilityflag: 'Y' item: - ingrampartnumber: M93592 quantity: 1 includeallsystems: false x-tags: - catalog properties: servicerequest: type: object properties: requestpreamble: type: object properties: isocountrycode: type: string description: |- 2 Digit code “US”-United States “CA”-Canada example: US minLength: 2 maxLength: 2 customernumber: type: string description: |- Ingram Micro customer number 10-12389 example: '12-34567 or 12-345678 or 123456 ' required: - isocountrycode - customernumber priceandstockrequest: type: object properties: showwarehouseavailability: type: string description: True/false to show the availability of individual warehouses extravailabilityflag: type: string description: Y/N to show extra availability flag includeallsystems: type: boolean description: 'Flag to indicate if the price and stock information is required for all Ingram Micro systems. If it is set to true, the price and stock details will be returned from all Ingram Micro systems and if false, the price and stock will have returned from the system where the reseller number is set up in.' item: type: object properties: index: type: integer ingrampartnumber: type: string description: Ingram Micro system specific SKU number for the product for which the price is requested at Ingram Micro vendorpartnumber: type: string description: Vendor Part Number for the product for which the price is requested at Ingram Micro UPC: type: string description: Universal Product code for the product for which the price is requested at Ingram Micro customerpartnumber: type: string description: 'Unique identification number of customer. For this option the Ingram Micro Sales rep must set up a cross reference table. ' warehouseidlist: type: string description: Unique identity for Ingram Micro warehouses against which stock details are returned. examples: Ingram Part Number: value: "{ \n \"servicerequest\":{\n \"requestpreamble\":{ \n \"customernumber\":\"20-222223\",\n \"isocountrycode\":\"US\"\n },\n \"priceandstockrequest\":{ \n \"showwarehouseavailability\":\"True\",\n \"extravailabilityflag\":\"Y\",\n \"item\":[ \n {\"ingrampartnumber\":\"TB6489\",\"quantity\":1}\n ],\n \"includeallsystems\":false\n }\n }\n}" responses: '200': description: Success content: application/json: schema: title: multiSKUPriceAndStockResponse type: object x-examples: Success: serviceresponse: responsepreamble: responsestatus: SUCCESS statuscode: '200' responsemessage: Data Found priceandstockresponse: details: - itemstatus: SUCCESS statusmessage: A-No qty breaks availa ingrampartnumber: TB6489 vendorpartnumber: H1180HD globalskuid: A300-TB6489 customerprice: 850.54 currency: USD partdescription1: H1180HD DLP 3D PROJ 2000L 1080PPROJ partdescription2: '10000:1 VGA HDMI RCA' vendornumber: Q680 vendorname: VIVITEK cpucode: DLP-PR class: X skustatus: ACTIVE mediacpu: PROJ DLP-PR categorysubcategory: 04 25 retailprice: 899 newmedia: PROJ backorderflag: 'N' skuauthorized: 'Y' warehousedetails: - warehouseid: '80' warehousedescription: 'Jonestown, PA' availablequantity: 0 onorderquantity: 0 - warehouseid: '10' warehousedescription: 'Mira Loma, CA' availablequantity: 0 onorderquantity: 0 Invalid Customer: serviceresponse: responsepreamble: responsestatus: FAILED statuscode: '500' responsemessage: Data Not Found priceandstockresponse: details: - itemstatus: FAILED statusmessage: E-INVALID CUSTOMER NUMBER - itemstatus: FAILED statusmessage: E-INVALID CUSTOMER NUMBER - itemstatus: FAILED statusmessage: E-INVALID CUSTOMER NUMBER 'Invalid Country ': serviceresponse: responsepreamble: responsestatus: SUCCESSWITHERROR statuscode: '046' responsemessage: Partial Data Found priceandstockresponse: details: - itemstatus: SUCCESS statusmessage: edv 2 ingrampartnumber: NaN vendorpartnumber: null globalskuid: A001-NaN customernumber: 41-231791 quantity: 0 customerprice: 0 vendornumber: NaN retailprice: 0 enduserrequired: 'false' specialpromoflag: 'false' isavailable: false isstocakable: false isbom: false hasquantitybreaks: false haswebdiscounts: false issboprice: false extendednetamount: 0 taxamount: 0 totalfeeamount: 0 totalpromotionamount: 0 totalenvironmentalfees: 0 x-tags: - catalog description: Response object model for the multi sku price and stock API endpoint properties: serviceresponse: type: object properties: responsepreamble: type: object properties: responsestatus: type: string description: 'SUCCESS or FAILED, sometimes PARTIAL SUCCESS if connection to 1 of the systems fails' responsemessage: type: string description: Overall status message including error message statuscode: type: string description: Statuscode Message priceandstockresponse: type: object properties: details: type: array items: type: object properties: itemstatus: type: string statusmessage: type: string ingrampartnumber: type: string description: SKU number for the product for which order needs to be created with Ingram Micro maxLength: 6 vendorpartnumber: type: string description: Vendor Part number for the product maxLength: 21 globalskuid: type: string customerprice: type: string description: 'Customer specific price for the product, excluding taxes' partdescription1: type: string description: Description on the part number that is being requested partdescription2: type: string description: Contuiation of description on the part number that is being requested vendornumber: type: string description: Internal four digit code assigned by Ingram maxLength: 4 vendorname: type: string description: Name of the vendor cpucode: type: string description: Ingram internal code for a product maxLength: 6 class: type: string description: Ingram Micro assigned product classification. enum: - A-Stocked product in all IM warehouses - B-Limited stock in IM warehouses - C-Stocked in fewer wareshouses - D-Ingram discontinued - E-Planned to be phased out as per the vendor - F-Carried for specific customer as per the contract - N-New SKU - O-Discontinued to be liquidated - S-Order for specialized demand - V-Discontinued by vendor - X-Direct Ship products from vendor maxLength: 1 skustatus: type: string description: Identifies if the SKU has been discontinued. Rules must be defined on the values to be sent out to partner. maxLength: 1 mediacpu: type: string categorysubcategory: type: string description: "Ingram's internal categorization of the product" retailprice: type: number description: MSRP Price 0.00 newmedia: type: string description: Internal four-digit code assigned by Ingram to represent the item group enduserrequired: type: string description: Y - End user required N - Not required End user enum: - Y-End user data required - N-End user data not required maxLength: 1 backorderflag: type: string description: Y- Allow Backorder Flag N- Not allowed enum: - Y- Can be backordered - N-Cannot be backordered maxLength: 1 skuauthorized: type: string extendedvendorpartnumber: type: string warehousedetails: type: array items: type: object properties: warehouseid: type: string description: Unique 2-digit code of the Ingram Micro warehouse enum: - 10-Mira Loma CA - 20-Carrollton TX - 30-Millington TN - 40-Carol Stream IL - 80-Jonestown PA warehousedescription: type: string description: City of the Ingram Micro warehouse location availablequantity: type: integer description: On hand available quantity onorderquantity: type: integer description: On Order quantity onholdquantity: type: string etadate: type: string required: - retailprice examples: {} tags: - catalog summary: Product availability for upto 50 SKUs operationId: MultiSKUPriceAndStock parameters: [] security: - application: - read components: schemas: productSearchResponse: title: productSearchResponse type: object description: Response object model for the product search endpoint properties: serviceresponse: type: object properties: responsePreamble: type: object productsearchresponse: type: object properties: numberOfResults: type: string description: Number of records in the search result. product: type: array items: type: object properties: vendor: type: string description: 'Name of the vendor, manufacture or brand.' vendornumber: type: string description: '4 digit unique vendor # creted by Ingram' example: '4063' ingrampartnumber: type: string description: Unique Ingram part number vendorpartnumber: type: string description: Vendor provided number customerpartnumber: type: string description: Customer’s designated part number. iscustomerauthorized: type: string description: Is customer authorized for purchase of this product? partdescription: type: string description: Part description UPC: type: string description: Universal Product Code x-tags: - catalog productSearchRequest: title: productSearchRequest type: object properties: servicerequest: type: object properties: requestpreamble: type: object properties: isocountrycode: type: string customernumber: type: string vendornumber: type: string required: - isocountrycode - customernumber productsearchrequest: type: object properties: searchcriteria: type: object properties: vendor: type: string description: Name of the vendor or manufacturer or brand of the product vendorpartnumber: type: string description: Vendor provided part number example: WKB-1500GB partdescription: type: string description: This field seraches the decriptioon of the product. example: 'WRLS ERGO KEYBOARD & MOUSE' UPC: type: string description: Universal Product Code example: 783750005524 customerpartnumber: type: string description: 'Customer’s designated part number ' x-examples: 'Using Vendor Part #': servicerequest: requestpreamble: customernumber: 41-231791 isocountrycode: US productsearchrequest: searchcriteria: vendorpartnumber: TESTE IS description: Request object model for the product search endpoint x-tags: - catalog multiSKUPriceAndStockResponse: title: multiSKUPriceAndStockResponse type: object x-examples: Success: serviceresponse: responsepreamble: responsestatus: SUCCESS statuscode: '200' responsemessage: Data Found priceandstockresponse: details: - itemstatus: SUCCESS statusmessage: A-No qty breaks availa ingrampartnumber: TB6489 vendorpartnumber: H1180HD globalskuid: A300-TB6489 customerprice: 850.54 currency: USD partdescription1: H1180HD DLP 3D PROJ 2000L 1080PPROJ partdescription2: '10000:1 VGA HDMI RCA' vendornumber: Q680 vendorname: VIVITEK cpucode: DLP-PR class: X skustatus: ACTIVE mediacpu: PROJ DLP-PR categorysubcategory: 04 25 retailprice: 899 newmedia: PROJ backorderflag: 'N' skuauthorized: 'Y' warehousedetails: - warehouseid: '80' warehousedescription: 'Jonestown, PA' availablequantity: 0 onorderquantity: 0 - warehouseid: '10' warehousedescription: 'Mira Loma, CA' availablequantity: 0 onorderquantity: 0 Invalid Customer: serviceresponse: responsepreamble: responsestatus: FAILED statuscode: '500' responsemessage: Data Not Found priceandstockresponse: details: - itemstatus: FAILED statusmessage: E-INVALID CUSTOMER NUMBER - itemstatus: FAILED statusmessage: E-INVALID CUSTOMER NUMBER - itemstatus: FAILED statusmessage: E-INVALID CUSTOMER NUMBER 'Invalid Country ': serviceresponse: responsepreamble: responsestatus: SUCCESSWITHERROR statuscode: '046' responsemessage: Partial Data Found priceandstockresponse: details: - itemstatus: SUCCESS statusmessage: edv 2 ingrampartnumber: NaN vendorpartnumber: null globalskuid: A001-NaN customernumber: 41-231791 quantity: 0 customerprice: 0 vendornumber: NaN retailprice: 0 enduserrequired: 'false' specialpromoflag: 'false' isavailable: false isstocakable: false isbom: false hasquantitybreaks: false haswebdiscounts: false issboprice: false extendednetamount: 0 taxamount: 0 totalfeeamount: 0 totalpromotionamount: 0 totalenvironmentalfees: 0 x-tags: - catalog description: Response object model for the multi sku price and stock API endpoint properties: serviceresponse: type: object properties: responsepreamble: type: object properties: responsestatus: type: string description: 'SUCCESS or FAILED, sometimes PARTIAL SUCCESS if connection to 1 of the systems fails' responsemessage: type: string description: Overall status message including error message statuscode: type: string description: Statuscode Message priceandstockresponse: type: object properties: details: type: array items: type: object properties: itemstatus: type: string statusmessage: type: string ingrampartnumber: type: string description: SKU number for the product for which order needs to be created with Ingram Micro maxLength: 6 vendorpartnumber: type: string description: Vendor Part number for the product maxLength: 21 globalskuid: type: string customerprice: type: string description: 'Customer specific price for the product, excluding taxes' partdescription1: type: string description: Description on the part number that is being requested partdescription2: type: string description: Contuiation of description on the part number that is being requested vendornumber: type: string description: Internal four digit code assigned by Ingram maxLength: 4 vendorname: type: string description: Name of the vendor cpucode: type: string description: Ingram internal code for a product maxLength: 6 class: type: string description: Ingram Micro assigned product classification. enum: - A-Stocked product in all IM warehouses - B-Limited stock in IM warehouses - C-Stocked in fewer wareshouses - D-Ingram discontinued - E-Planned to be phased out as per the vendor - F-Carried for specific customer as per the contract - N-New SKU - O-Discontinued to be liquidated - S-Order for specialized demand - V-Discontinued by vendor - X-Direct Ship products from vendor maxLength: 1 skustatus: type: string description: Identifies if the SKU has been discontinued. Rules must be defined on the values to be sent out to partner. maxLength: 1 mediacpu: type: string categorysubcategory: type: string description: "Ingram's internal categorization of the product" retailprice: type: number description: MSRP Price 0.00 newmedia: type: string description: Internal four-digit code assigned by Ingram to represent the item group enduserrequired: type: string description: Y - End user required N - Not required End user enum: - Y-End user data required - N-End user data not required maxLength: 1 backorderflag: type: string description: Y- Allow Backorder Flag N- Not allowed enum: - Y- Can be backordered - N-Cannot be backordered maxLength: 1 skuauthorized: type: string extendedvendorpartnumber: type: string warehousedetails: type: array items: type: object properties: warehouseid: type: string description: Unique 2-digit code of the Ingram Micro warehouse enum: - 10-Mira Loma CA - 20-Carrollton TX - 30-Millington TN - 40-Carol Stream IL - 80-Jonestown PA warehousedescription: type: string description: City of the Ingram Micro warehouse location availablequantity: type: integer description: On hand available quantity onorderquantity: type: integer description: On Order quantity onholdquantity: type: string etadate: type: string required: - retailprice multiSKUPriceAndStockRequest: title: multiSKUPriceAndStockRequest type: object description: Request object model for the multi sku price and stock API endpoint x-examples: Example: servicerequest: requestpreamble: customernumber: 20-222222 isocountrycode: US priceandstockrequest: showwarehouseavailability: 'True' extravailabilityflag: 'Y' item: - ingrampartnumber: M93592 quantity: 1 includeallsystems: false x-tags: - catalog properties: servicerequest: type: object properties: requestpreamble: type: object properties: isocountrycode: type: string description: |- 2 Digit code “US”-United States “CA”-Canada example: US minLength: 2 maxLength: 2 customernumber: type: string description: |- Ingram Micro customer number 10-12389 example: '12-34567 or 12-345678 or 123456 ' required: - isocountrycode - customernumber priceandstockrequest: type: object properties: showwarehouseavailability: type: string description: True/false to show the availability of individual warehouses extravailabilityflag: type: string description: Y/N to show extra availability flag includeallsystems: type: boolean description: 'Flag to indicate if the price and stock information is required for all Ingram Micro systems. If it is set to true, the price and stock details will be returned from all Ingram Micro systems and if false, the price and stock will have returned from the system where the reseller number is set up in.' item: type: object properties: index: type: integer ingrampartnumber: type: string description: Ingram Micro system specific SKU number for the product for which the price is requested at Ingram Micro vendorpartnumber: type: string description: Vendor Part Number for the product for which the price is requested at Ingram Micro UPC: type: string description: Universal Product code for the product for which the price is requested at Ingram Micro customerpartnumber: type: string description: 'Unique identification number of customer. For this option the Ingram Micro Sales rep must set up a cross reference table. ' warehouseidlist: type: string description: Unique identity for Ingram Micro warehouses against which stock details are returned. securitySchemes: application: type: oauth2 flows: clientCredentials: tokenUrl: 'https://api.ingrammicro.com:443/oauth/oauth30/token' scopes: write: allows modifying resources read: allows reading resources description: '' tags: - name: catalog description: 'Search products, find availability and price.'