Ingram Micro Purchase Order v1 Webhook enables Vendors to:
- Receive purchase orders in real-time by subscribing to the webhook.
- Reduce manual purchase order submission.
- Allows for immediate HTTP acknowledgement of receipt.
Notification Event | Event code | Sub-event code | Description |
---|---|---|---|
Purchase Order Webhook | IM::vendor_po | IM::vendor_po (v1) | Purchase Order Webhook |
New Order Data Parameters
Data element | Description | Type/Length | Constraints | Capture Code |
---|---|---|---|---|
topic | The main purpose/action of this notification example: vendors/purchaseorders | string | required | |
event | Indicates the occurrence of a purchase order being created | ENUM {im::vendorpocreate} | required | |
eventTimeStamp | The date and time the event occurred in UTC format | string | required | |
eventid | Unique identification that corresponds to this event | string | required | |
resource | This is the array that contains all the objects and new purchase order information | array | required | |
resource/eventType | The kind of purchase order being made | ENUM {im::new_purchaseorder} | required | |
resource/ingramPurchaseOrderNumber | Ingram Micro’s Purchase Order number to the vendor | string | required | |
resource/ingramPurchaseOrderDate | Ingram Micro’s purchase order date and timestamp. The date is in UTC format corresponding to the date purchase order was created in Ingram Micro'\'s system. | string | required | |
resource/resellerOrderNumber | Reseller Order number | string | required | |
resource/orderType | The order type. One of: im::government, im::educational, im::commercial, im::consumer | ENUM{im::government, im::educational, im::commercial, im::consumer} | required, default = im::commercial | B: (Type of Order Flag) |
resource/vendorQuoteNumber | Reference number for the quote provided from the vendor to the buyer | string | optional | I: (Quote Number) |
resource/paymentTerms | The payment terms of the order. (ex: 30 days) | ENUM { 30, 90} | required | |
resource/currencyCode | The 3-digit ISO currency code used for the entire order | ENUM{ USD, AUD, EUR, CAD, GBP} | required | |
resource/orderTotal | Total order amount/price | Float | required | |
resource/notes | Order Comments/Notes/Instructions | string | optional | |
resource/dpasRating | End user government office designation to be used for prioritization and fulfillment purposes. DX rating by Department of Defense is the highest rating/designation, making the order top priority. DO signifies any other gov offices at the US federal government. | string | optional | |
resource/dpasProgramId | Identifies the actual agency that signed off on the DPAS priority. | string | optional | |
buyerInfo | The address and contact information for the buyer. | object | required | |
buyerInfo/billToPartnerId | The ID references the partner's address in the vendor's system for billing. | string | required | |
buyerInfo/companyName | Company name of the buyer | string | required | |
buyerInfo/contact | Sales rep contact, contact name of buyer | string | required | |
buyerInfo/addressLine1 | Buyer street address | string | required | |
buyerInfo/addressLine2 | Buyer P.O.Box, etc | string | optional | |
buyerInfo/addressLine3 | Buyer address line 3, any additional address details | string | optional | |
buyerInfo/city | Buyer’s city | string | required | |
buyerInfo/state | Buyer’s state | string | required | |
buyerInfo/postalCode | Contact’s zipcode or Postal Code | string | required | |
buyerInfo/countrycode | The buyer's two-character ISO country code | ENUM{ US, AU, CA} | required | |
buyerInfo/phoneNumber | Contact phone number | string | required | |
buyerInfo/email | Contact email or generic mailbox | string | required | |
resellerInfo | Object containing reseller address and contact information | object | required | |
resellerInfo/vendorResellerid | Vendor reseller id | string | required | A: (Vendor Acct # for Reseller) |
resellerInfo/companyName | Reseller company name | string | required | |
resellerInfo/contact | Reseller contact name | string | required | |
resellerInfo/addressLine1 | Reseller’s street address | string | optional | |
resellerInfo/addressLine2 | Reseller’s P.O.box, Building Number, etc. | string | optional | |
resellerInfo/addressLine3 | Additional reseller address information on line 3 | string | optional | |
resellerInfo/city | Reseller’s city | string | optional | |
resellerInfo/state | Reseller’s state | string | optional | |
resellerInfo/postalCode | Reseller’s postal/zipcode | string | optional | |
resellerInfo/countryCode | The reseller's two-character ISO country code. | ENUM{ US, AU, CA} | optional | |
resellerInfo/phoneNumber | Reseller’s phone number | string | required | |
resellerInfo/email | Reseller’s email address | string | required | T: (Reseller Email Address) |
endUserInfo | This is the object containing end user contact and address information. The end user is the customer receiving the final product from the reseller/vendor. | object | required | |
endUserInfo/vendorEndUserId | The ID that references the end user/customer's address information in the vendor's system. | string | optional | M: (Key Identifier) |
endUserInfo/companyName | End user company name | string | required | |
endUserInfo/contact | End user contact name | string | required | |
endUserInfo/contact | End user contact name | string | required | |
endUserInfo/addressLine1 | End user street address | string | required | |
endUserInfo/addressLine2 | End user P.O. Box, Building Number, etc. | string | optional | |
endUserInfo/addressLine3 | Additional address information on line 3 | string | optional | |
endUserInfo/city | End user city | string | optional | |
endUserInfo/state | End user state | string | optional | |
endUserInfo/postalCode | End user postal/zipcode | string | optional | |
endUserInfo/countryCode | End user’s two-character ISO country code. | ENUM{ US, AU, CA} | optional | |
endUserInfo/phoneNumber | End user contact phone number | string | required | |
endUserInfo/email | End user email address | string | required | S: (End User Email Address) |
lines | Object containing line item information such as vendor part information, prices, contract information, etc. | object | required | |
lines/ingramLineNumber | Ingram assigned line number that starts with 001 | string | required | |
lines/vendorPartNumber | The vendor part number for the line item | string | required | |
lines/vendorPartDescription | The vendor’s description for the part in their system | string | required | |
lines/ingramPartNumber | Unique Ingram Micro’s part number for the vendor | string | required | |
lines/quantity | The number of line items being ordered | float | required | |
lines/quantityUom | Unit of measure for the line item, describing how the quantity of the line items are divided. Example: each, license | ENUM {“Each“, “License”} | required | |
lines/unitprice | Ingram Micro’s agreed unit price of the line item | Float | required | |
lines/UPCcode | The UPC code for the line item. Consists of 12 numeric digits that are uniquely assigned to each trade item. | string | required | |
lines/units | The number of units for ordered for this particular item. | float | required | |
lines/itemTotal | Total price of this item times the quantity ordered. | float | required | |
lines/endUserInfo | Object within the lines object that provides the contact and address information of the end user receiving the order | object | required | |
lines/endUserCompanyName | End user company name | string | required | |
lines/endUserContactName | End user contact name | string | required | |
lines/endUserPhoneNumber | End user phone number | string | required | |
lines/endUserEmail | End user email information | string | required | |
lines/extendedUnitPrice | Total for this line item | float | required | |
lines/specialBidNumber | The line-level bid number provided to the reseller by the vendor for special pricing and discounts. Used to track the bid number where different line items have different bid numbers. Line-level bid numbers take precedence over header-level bid numbers. | string | optional | D: (Special Pricing Number) |
lines/secondaryBidNumber | Vendor defined secondary bid number provided by customer | string | optional | H: (Approval Number) |
lines/lineNotes | Object containing line Notes for this order[Repeating element] | object | optional | |
lines/lineNotes/lineNote | Additional line notes/comments | string | optional | |
lines/hardwareId | ID used for associating hardware with warranty | string | optional | |
lines/serviceContract | Service contract details for the line item example: new contract, renewing contract, etc. | ENUM["im::new", "im::renewal"] | required only if sku is service sku | |
lines/serialNumber | The serial number of the original SKU that is being renewed or being supported | string | optional | |
lines/contractNumber | Contract number for the service | string | optional | |
lines/contractStartDate | Contract start date in UTC format | string | optional | C: (Contract Start Date) |
lines/contractEndDate | Contract end date in UTC format | string | optional | E: (Contract End Date) |
lines/contractDuration | Duration of the contract in in months | string | optional | L: (Length of Contract) |
shipmentDetails | Object containing shipping/package details related to this purchase order | object | required | |
shipmentDetails/carrierCode | Specific carrier code provided by the customer | string | required | |
shipmentDetails/carrierService | The type of delivery service for the designated shipment. example: FedEX Overnight | ENUM | required | |
shipmentDetails/fobTerms | FOB terms consist of the destination or origin of the order, and ownership and risk information during shipping | ENUM | required | |
shipmentDetails/fobPaymentTerms | The FOB payment terms includes information about who pays for freight. This payment can be either Ingram, Customer or the Vendor. | ENUM | required | |
shipmentDetails/freightAccountNumber | Customer provided freight account number. The freight account number is used to bill the shipping carrier directly from the reseller's account with the carrier. | string | optional | F: (Freight account number) |
shipmentDetails/requestedDeliverydate | The requested delivery date of the shipment, if this date is provided, then the customer is NOT expecting the delivery prior to this date. The requested delivery date is in UTC timestamp format. Delivery date is not guaranteed. | string | optional | |
shipmentDetails/shipmentDate | The shipment date considered as promise date | string | optional | |
shipmentDetails/shipComplete | Specifies whether the shipment will be shipped only when all products are fulfilled. Default is No. | boolean | required (default N) | |
shipmentDetails/shippingInstructions | Object containing shipping instructions for this order[Repeating element] | object | optional | |
shipmentDetails/shippingInstructions/ shippingInstruction | Notes or instructions given to carriers used for delivering this order. Contains additional shipping information for carriers to complete the order as specified. | string | optional | Z: (Shipping Instructions) |
shipmentDetails/shipToInfo | Object containing shipping address for this order | object | required | |
shipmentDetails/shipToInfo/Contact | Ship to / attention name | string | required | |
shipmentDetails/shipToInfo/ companyName | Ship to company name | string | required | |
shipmentDetails/shipToInfo/addressLine1 | Street Address that order will be shipped to | string | required | |
shipmentDetails/shipToInfo/ addressLine2 | Ship to building, PO box, apt number that the order will be delivered to | string | required | |
shipmentDetails/shipToInfo/ addressLine3 | Ship to additional address details | string | optional | |
shipmentDetails/shipToInfo/city | Ship to the city order should be delivered to | string | required | |
shipmentDetails/shipToInfo/state | Ship to state order should be delivered to | string | required | |
shipmentDetails/shipToInfo/postalCode | Ship to zipcode order should be delivered to | string | required | |
shipmentDetails/shipToInfo/ countryCode | 2-character ISO country code | ENUM{ US, AU, CA} | required | |
shipmentDetails/shipToInfo/ phoneNumber | Ship to contact phone number | string | required | |
shipmentDetails/shipToInfo/email | Ship to contact email address | string | optional |
Sample JSON payload
{
"topic": "vendors-TC05-Postman",
"event": "im::vendorpocreate",
"eventTimeStamp": "2021-04-12T17:04:03",
"eventid": "713b2090-97c9-4842-953c-92b5fad71122",
"resource": [
{
"eventType": "im::new_purchaseorder",
"ingramPurchaseOrderNumber": "po4386d",
"ingramPurchaseOrderDate": "2021-02-03t08:54:39-07:00",
"customerOrderNumber": "123456",
"orderType": "im::commercial",
"vendorQuoteNumber": "",
"paymentTerms": "30",
"currencyCode": "USD",
"orderTotal": "400.90",
"notes": "ForcePoint",
"buyerInfo": {
"billToPartnerId": "IN049025",
"companyName": "IngramMicro",
"contact": "Matthew Smith",
"addressLine1": "123 michelson dr",
"addressLine2": "",
"addressLine3": "",
"city": "Anaheim",
"state": "CA",
"postalCode": "92612",
"countryCode": "US",
"phoneNumber": "1231231234",
"email": "mathhew@gmail.com"
},
"resellerInfo": {
"vendorResellerId": "4654392202",
"companyName": "Acme electronics",
"contact": "Mike Maisal",
"addressLine1": "123 mickey mouse road",
"addressLine2": "",
"addressLine3": "",
"city": "Anaheim",
"state": "CA",
"postalCode": "94261",
"countryCode": "US",
"phoneNumber": "1875691222",
"email": "Mike.Maisal@reseller.com"
},
"shipmentDetails": {
"carrierCode": "",
"freightAccountNumber": "",
"requestedDeliveryDate": "",
"shipComplete": "Y",
"shippingInstructions":[
{
"shippingInstruction":"inst1"
},
{
"shippingInstruction":"inst2"
}
],
"shipToInfo": {
"contact": "Mike Maisal",
"companyName": "Acme electronics",
"addressLine1": "123 mickey mouse road",
"addressLine2": "",
"addressLine3": "",
"city": "Anaheim",
"state": "CA",
"postalCode": "94261",
"countryCode": "US",
"phoneNumber": "1875691222",
"email": "Mike.Maisal@reseller.com"
}
},
"endUserInfo": {
"vendorEndUserId": "6785392202",
"companyName": "ABC technologies",
"contact": "John Tucker",
"addressLine1": "123 night street",
"addressLine2": "",
"addressLine3": "",
"city": "Anaheim",
"state": "CA",
"postalCode": "48201",
"countryCode": "US",
"phoneNumber": "1255471299",
"email": "end.user@abc.com"
},
"lines": [
{
"ingramLineNumber": "001",
"vendorPartNumber": "AM/A4018G-1YS",
"vendorPartDescription": "1YR ALLYCARE SUPPORT FOR AM/A4018G-1YS",
"ingramPartNumber": "6YQ517",
"quantity": "10",
"quantityUom": "Each",
"unitPrice": "10.00",
"extendedUnitPrice": "100.00",
"specialBidNumber": "",
"secondaryBidNumber": "",
"lineNotes":[{
"lineNote":"install site id 12345"
},
{
"lineNote":"install site id 87654"
}],
"hardwareId": "",
"serviceContract": "im::renewal",
"serialNumber": "",
"contractNumber": "",
"contractStartDate": "",
"contractEndDate": "",
"contractDuration": "",
"endUserDetails": {
"endUserCompanyName": "ABC technologies",
"endUserContactName": "John Tucker",
"endUserPhoneNumber": "1255471299",
"endUseremail": "end.user@abc.com"
}
}
]
}
]
}