The SPS Commerce Performance Center API is a great tool to provide you access to data for your own analysis. Our API uses the REST architecture and follows the OpenAPI specifications. Our API returns JSON-encoded responses and uses standard HTTP response codes and verbs. HTTPS is required for our API.
Additional Resources:
The goal of The OpenAPI Specification is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interfaces have done for lower-level programming, OpenAPI removes the guesswork in calling the service.
Available authentication methods for Performance Center:
The goal of The OpenAPI Specification is to define a standard, language-agnostic interface to REST APIs which
The Charge API allows Performance Center customers to retrieve Charge information. Data can be retrieve in fiscal month increments.
This API endpoint returns JSON data representing the charge detail information for a specific fiscal month/year. This could return an array of one or more Charge details.
Required parameters are FiscalYear and FiscalMonth.
Access to this endpoint may differ based on user permissions.
| FiscalYear | number Fiscal year value in YYYY format. |
| FiscalMonth | number Fiscal month value in MM format. |
[- {
- "FiscalMonth": 11,
- "FiscalYear": 2023,
- "ChargeNum": 23872,
- "InherentDol": 150,
- "ServiceFee": 0,
- "ChargeDol": 0,
- "Freight": 0,
- "TotalChargeAmount": 0,
- "CurrentTier": 1,
- "ChargeType": "V",
- "DenyReason": null,
- "AdjustmentReasonCode": "D",
- "CnAdjCodeDescription": "Same Rule",
- "RuleCategory": "Invoice Errors",
- "CustRuleNum": "ABC11",
- "RuleNum": "2332",
- "Description": "Invoice Cost Greater than PO Cost",
- "CreateDate": "2023-02-09T00:00:00",
- "ApproveDenyDate": "2023-02-12T00:00:00",
- "TransmitDate": "2023-02-14T00:00:00",
- "ApproveDenyUser": "johndoe",
- "PoNum": "0000308153",
- "DeptNum": "10",
- "OrderType": "BSR levels",
- "VendorId": null,
- "VendorNum": "06791",
- "VendorName": "ACME",
- "ChargeSource": "Accounts Payable Audit",
- "AuditEntryAssoc": "janedoe",
- "AuditSite": "00001",
- "TroubleAssoc": null,
- "TroubleSite": null,
- "TroubleReason": null,
- "AuditEntryType": "Desktop Application"
}
]The Trouble API allows Performance Center customers to retrieve Trouble information for a given PO. The Trouble API allows Performance Center customers to create and report merchandise receiving issues (Troubles). Important: All field names are case-sensitive.
This API endpoint returns JSON data representing the Trouble information for a given PO. This could return an array of one or more Troubles.
This has a required parameter of PoNum with an optional parameter of UniqueAddenda. If no unique addenda is supplied, the most current record for the PO number will be used.
Access to this endpoint may differ based on user permissions.
| PoNum | string PO number associated to the Trouble(s). |
| UniqueAddenda | string PO unique addenda for determining specific PO. |
[- {
- "Site": "00001",
- "TroubleNum": "1733",
- "VendorId": null,
- "VendorNum": "05948",
- "VendorName": "ACME",
- "PoId": null,
- "PoNum": "0000108285",
- "DeptNum": "85",
- "RecvNum": null,
- "TroubleDate": "2016-06-16T00:00:00",
- "ResolvedDate": "2016-06-23T00:00:00",
- "ProNum": null,
- "Age": 7,
- "FreightAge": 0,
- "DaysToResolve": 7,
- "Issues": 1,
- "Units": 49,
- "Cartons": 35,
- "ApproveDate": "2016-06-24T00:00:00",
- "DaysToApprove": 1,
- "HasResolvedDetail": "Y",
- "ShipStartDate": "2016-05-01T00:00:00",
- "ShipStopDate": "2016-05-22T00:00:00",
- "OrdUnits": 204,
- "HasPictures": "N",
- "SiteId": null,
- "TroubleId": null,
- "TroubleArea": null,
- "AssocIn": "janedoe",
- "AssocOut": null,
- "ScaMerchantId": null,
- "ScaMerchant": null,
- "Reason1": "01-PO cancelled",
- "Reason2": null,
- "Reason3": null,
- "OpenCount": 0,
- "PendingCount": 0,
- "ClosedCount": 1,
- "ResolvedCount": 0,
- "AllCount": 1,
- "PoRetail": 0,
- "PoCost": 0,
- "ExtPoRetail": 0,
- "ExtPoCost": 0,
- "SpecialOrderInd": "N",
- "OpenUnits": 0,
- "OpenCartons": 0,
- "OpenPoRetail": 0,
- "OpenPoCost": 0,
- "OpenExtPoRetail": 0,
- "OpenExtPoCost": 0,
- "BuyerId": null,
- "BuyerNum": null,
- "Buyer": "JOHN DOE",
- "DmmId": null,
- "DmmNum": null,
- "Dmm": "JACK SMITH",
- "GmmId": null,
- "GmmNum": null,
- "Gmm": "JANE DOE",
- "TroubleMerchant": null,
- "TroubleMerchantId": null,
- "CurrencyCode": null,
- "MerchantFilterId": null,
- "MerchantFilterName": null,
- "TroubleEntryFunctionId": null,
- "Comments": "PRICES NET ON PO 10% NET 60",
- "AdEvent": null,
- "UserDef1": null,
- "UserDef2": null,
- "AsnSeq": null,
- "PoUserDef1": null,
- "PoUserDef2": null,
- "PoUserDef3": null,
- "ShipToNum": "00001",
- "OrderType": "BSR levels",
- "PoBillType": "Collect",
- "UniqueAddenda": "20151028",
- "Incoterm": null
}
]This API endpoint returns JSON data representing the Trouble Detail information for a given PO. This could return an array of one or more Trouble details.
This has a required parameter of PoNum with an optional parameter of UniqueAddenda. If no unique addenda is supplied, the most current record for the PO number will be used.
Access to this endpoint may differ based on user permissions.
| PoNum | string PO number associated to the Trouble(s). |
| UniqueAddenda | string PO unique addenda for determining specific PO. |
[- {
- "PoId": null,
- "PoNum": "0000108285",
- "UniqueAddenda": "20151028",
- "TroubleNum": "1741",
- "TroubleId": null,
- "ReasonDesc": "02-SKU/UPC not on order for PO",
- "Issue": 1,
- "Comments": "Upc/style # not in system\r\nstyle # 2166295\r\nLF: Trip 134/ Index 8-12",
- "Units": 5,
- "Style": null,
- "Color": null,
- "SizeDesc": "134",
- "ResolutionDesc": "02-PO modified for receipt",
- "ResolutionDate": "2016-07-11T00:00:00",
- "ResolutionComments": "ITEM HAS BEEN ADDED TO PO",
- "ResolutionUser": "Jonathan Doe",
- "RefuseRa": null,
- "RefusePro": null,
- "NewRcvr": null,
- "NewPo": null,
- "CarrierName": null,
- "AnalysisDate": "2016-07-12T22:00:36",
- "Upc": "013576662954",
- "Sku": null,
- "Cartons": 1,
- "ApprovedDenied": "Approved",
- "ApproveDenyUser": "Janice Doe",
- "ApproveDenyDate": "2016-07-11T00:00:00",
- "ApproveDenyComments": "RECEIVED #210840",
- "Vpn": "2166295",
- "ExcludeFlag": "N",
- "UserDef1": null,
- "UserDef2": null,
- "CreateDate": "2016-06-27T00:00:00"
}
]Creates a new Trouble record for merchandise receiving issues.
Important: All field names are case-sensitive and must match the exact casing shown in the request schema. Using incorrect casing (e.g., "ponum" instead of "PoNum") will result in a 400 Bad Request error with a validation message indicating the incorrect field name.
Required Fields:
PoNum - Purchase Order Number (case-sensitive)Associate - Associate ID who reported the Trouble (case-sensitive)LocationNum - Store/warehouse location number (case-sensitive)TroubleReason - Reason code for the Trouble (case-sensitive)Common Casing Mistakes:
Access to this endpoint may differ based on user permissions.
| PoNum required | string Purchase Order Number |
| TroubleNum | string or null Customer specified Trouble number. Must be an alphanumeric value. If not specified, the system will auto-generate a Trouble number. |
| Associate required | string Associate ID who reported the Trouble |
| LocationNum required | string Store/warehouse location number |
| TroubleDate | string <date-time> Date when Trouble occurred in ISO 8601 format. Defaults to current date if not provided |
| ReceiverNum | string or null Receiver number |
| ProNum | string or null Pro (freight bill) number |
| UserDef1 | string or null Customer defined field |
| UserDef2 | string or null Customer defined field |
required | Array of objects non-empty Array of Trouble Detail items |
{- "value": {
- "PoNum": "1234567",
- "TroubleNum": "777777",
- "Associate": "johndoe",
- "LocationNum": "1234",
- "TroubleDate": "2024-08-11T10:30:00Z",
- "ReceiverNum": "RCV001",
- "ProNum": "PRO123456",
- "UserDef1": "Y",
- "UserDef2": "Parameter Tool",
- "Details": [
- {
- "TroubleReason": "Damaged",
- "Style": "ST123",
- "Color": "Blue",
- "Size": "L",
- "Sku": "SKU-12345-BL-L",
- "Upc": "012345678901",
- "Units": 5,
- "Cartons": 2,
- "Comments": "Item was damaged during shipping."
}, - {
- "TroubleReason": "Missing",
- "Style": "ST456",
- "Color": "Red",
- "Size": "M"
}
]
}
}{- "Status": "Success",
- "Message": "Trouble created successfully",
- "TroubleId": 12345
}