CROP
ProjectsAdmin Panel

DIS Parts Store API - Test Report

Date: 2026-01-06 Environment: cl2342.disprism.com (Production) API Key: REDACTED - stored in environment variables

DIS Parts Store API - Test Report

Date: 2026-01-06 Environment: cl2342.disprism.com (Production) API Key: [REDACTED - stored in environment variables]


WARNING: Test Orders Created

During testing, the following orders were accidentally created in DIS production:

Order #StatusAction Required
IE93166ACCEPTEDContact DIS to void
IE93167ACCEPTEDContact DIS to void
IE93168ACCEPTEDContact DIS to void
IE93169ACCEPTEDContact DIS to void

Customer: CASHC (default cash customer) Part: A4020055 HYDRAULIC MOTOR Names Used: TEST USER, JOHN DOE

Action: Contact DIS team to cancel/void these test orders before production integration.

Future Testing: Use identifiable names like "appdev-v" or "Vova.pirotskiy" for test orders.


Executive Summary

Three Parts Store endpoints tested successfully. 34 of 87 Quantum API endpoints accessible. Critical issues found in tax calculation logic requiring clarification before production integration.


Test Environment

ParameterValue
Base URLhttps://cl2342.disprism.com
Parts Store Path/report-api/api/partsStore/
Quantum API Path/api/
AuthenticationX-API-KEY header
DealerIdC

Parts Store API Results

Endpoint Status

EndpointMethodStatusResponse Time
/partsInquiryPOST200 OK<1s
/taxLookupPOST200 OK<1s
/pushOrderPOST200 OK<1s

partsInquiry

Working:

  • Single and multiple part queries
  • Returns price, availability, quantity on hand
  • Customer ID passthrough (KComCustId, DBSCustId)

Issues:

  • Non-existent parts silently omitted from response (no error indicator)
  • Invalid DealerId returns HTTP 500 (expected: 400)
  • Invalid API key returns HTTP 500 (expected: 401/403)

Sample Request:

{
  "DealerId": "C",
  "Parts": [{"ManufacturerCode": "KUH", "PartNumber": "A4020055"}]
}

Sample Response:

{
  "Parts": [{"ManufacturerCode": "KUH", "PartNumber": "A4020055", "Price": 2721.33, "Available": false, "QtyOnHand": 0}],
  "DealerId": "C"
}

taxLookup

Working:

  • Basic tax calculation for valid US addresses
  • Multiple cart items supported
  • ShipAmount included in calculation

Issues:

IssueSeverityDetails
Oregon returns taxCriticalOregon (97201) has no sales tax but returns $238.12
TaxExemptions failsCriticalReturns HTTP 500 when TaxExemptions array included
NonTaxable ignoredMediumFlag does not reduce calculated tax
DeliveryFee missingMediumNot returned for Colorado (per documentation)
Invalid locationLowReturns HTTP 500 (expected: 400)

Tax Calculation Test Results:

LocationExpected BehaviorActual Result
Iowa (52732)Standard tax$238.12
California (90210)Higher tax$242.49
Oregon (97201)Zero tax$238.12 (INCORRECT)
Colorado (80202)Tax + DeliveryFee$9.63, no DeliveryFee

pushOrder

Working:

  • Order creation with ACCEPTED status
  • Duplicate order detection (returns ERROR status)
  • Credit Card and Pay on Pickup payment methods
  • Multiple line items

Issues:

IssueSeverityDetails
DBSCustId ignoredMediumAlways returns " CASHC" regardless of input
Response Message formatLowContains "null:null" (Provider:Method?)
Empty LineItemsLowReturns HTTP 500 (expected: 400)

Sample Response:

{
  "OrderNumber": "WEB-TEST-003",
  "Status": "ACCEPTED",
  "Message": "CC- ... KCOM Order: WEB-TEST-003 ...",
  "DBSCustId": " CASHC"
}

Quantum API Results

Accessible Endpoints (34 of 87)

EndpointRecordsStatus
products103,915200
inventories94,530200
workOrderHeaders76,445200
addresses52,256200
equipment38,794200
customers27,473200
manufacturers1,101200
branches1200

Additional working endpoints: agreementGroups, agreements, departments, equipmentFinancials, laborCodes, laborTimeTypes, operations, periodicMaintenances, periodicMaintenanceSchedules, scheduleEvents, signatures, standardJobCodes, standardJobCodeNames, standardJobCodeManufacturers, standardJobCodeManufacturerStructures, standardJobCodeManufacturerStructureFieldNames, stockAreas, technicianClocks, timeCards, timeCardLines, trucks, webUsers, workInProcesses, workOrderLines, workOrderSegments, workOrderTechnicians.

Inaccessible Endpoints (53 of 87)

All return HTTP 404. Notable: invoices, contacts, vendors, suppliers, documents, checklists, generalLedgerAccounts.


Questions for DIS Team

Critical (Blocking Integration)

  1. Tax Calculation Method Oregon (no sales tax state) returns $238.12. Is tax calculated by shipping destination or dealer origin location?

  2. TaxExemptions Implementation Including TaxExemptions array returns HTTP 500. Is this feature implemented? Required format?

  3. Customer Mapping DBSCustId always returns " CASHC". How to link web orders to existing Quantum customers?

Important

  1. Parts Not Found Can response include flag for parts not found vs parts not in inventory?

  2. NonTaxable Flag Is CartItem.NonTaxable supported?

  3. DeliveryFee Documentation indicates DeliveryFee returned for Colorado. Not observed in testing.

  4. HTTP Status Codes Validation errors return 500 instead of 400. Expected behavior?

Clarification

  1. ManufacturerCode Values Is manufacturer.internalId the code for partsInquiry requests?

  2. API Endpoint Access Are 404 endpoints intentionally disabled or not configured for this API key?

  3. Rate Limits Any request limits per minute/hour?


Test Commands Reference

# Parts Inquiry
curl -X POST "https://cl2342.disprism.com/report-api/api/partsStore/partsInquiry" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: $DIS_API_KEY" \
  -d '{"DealerId":"C","Parts":[{"ManufacturerCode":"KUH","PartNumber":"A4020055"}]}'

# Tax Lookup
curl -X POST "https://cl2342.disprism.com/report-api/api/partsStore/taxLookup" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: $DIS_API_KEY" \
  -d '{"DealerId":"C","ShippingLocation":{"PostalCode":"52732","Region":"IA","Country":"US"},"CartItems":[{"ManufacturerCode":"KUH","PartNumber":"A4020055","Qty":1,"Price":2721.33}],"ShipAmount":0,"CartSessionId":"test"}'

# Push Order
curl -X POST "https://cl2342.disprism.com/report-api/api/partsStore/pushOrder" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: $DIS_API_KEY" \
  -d '{"DealerId":"C","KComCustId":"WEB001","OrderNumber":"ORDER-001","DatePlaced":"2026-01-06","Contact":{"EmailAddress":"test@example.com"},"Delivery":{"DeliveryMethod":"Will Call"},"Billing":{"FirstName":"Test","LastName":"User","Address1":"123 St","City":"Clinton","Region":"IA","PostalCode":"52732","Country":"US"},"Shipping":{"FirstName":"Test","LastName":"User","Address1":"123 St","City":"Clinton","Region":"IA","PostalCode":"52732","Country":"US"},"Payment":{"PaymentMethod":"Pay on Pickup"},"LineItems":[{"ManufacturerCode":"KUH","PartNumber":"A4020055","PartName":"Part","Qty":"1","Price":"100"}],"ShipAmount":0,"TaxAmount":0,"CartSessionId":"test"}'

# Quantum API (example)
curl "https://cl2342.disprism.com/api/customers?size=10" \
  -H "X-API-KEY: $DIS_API_KEY"

Conclusion

Parts Store API is functional for basic operations. Integration can proceed with awareness of documented issues. Tax calculation logic requires clarification before production deployment due to potential incorrect tax amounts for no-tax states.

Recommended Actions:

  1. Obtain clarification on tax calculation method
  2. Confirm TaxExemptions feature status
  3. Define customer mapping strategy for order linking

On this page