Validate Order
Validate order details without creating the order in the POS system. PAR calls this endpoint to validate orders before submission.
Status Values
- validated - Order has been validated successfully and ready for submission
- rejected - Order was rejected due to business rules
- errored - Validation error occurred (See errors array for details)
Headers
- Type: stringAuthorizationrequired
Used to authorize the request with jwt_token. It should be supplied as Bearer JWT_TOKEN_GOES_HERE.
- Type: stringx
-pch -digest requiredHMAC-SHA256 signature for request authentication.
How to generate:
hmac("sha256", concat(uriPath, requestBody), clientSecret)Where:
uriPath- The API endpoint path (e.g.,/posnext/order/validate), without the base URLrequestBody- The JSON request body exactly as sent, with whitespace removedclientSecret- Your shared secret provided by PAR Technology during integration setup
A
412response indicates a signature mismatch. - Type: stringContent
- Type requiredSet this header to application/json.
Body·
required
application/json
- Type: stringlocation
_id requiredLocation identifier
- Type: object ·order
_details required - Type: string Format: date-timerequest
_datetime requiredISO 8601 UTC datetime of the request
- Type: string enumrequest
_type requiredType of request
values- validate
-order - submit
-order
- Type: stringrequest
_uid requiredUnique identifier for this request
- Type: string Format: uricallback
_url URL for asynchronous callbacks
- Type: string enumschedule
_type Order scheduling type
values- current
- future
- Type: integerttl
Time-to-live in seconds
Responses
- application/json
- application/json
- application/json
- 401
Unauthorized
- application/json
Request Example for post/posnext/order/validate
curl https://api.partech.com/v1/posnext/order/validate \
--request POST \
--header 'Authorization: Bearer JWT_TOKEN_GOES_HERE' \
--header 'x-pch-digest: SIGNATURE_GOES_HERE' \
--header 'Content-Type: application/json' \
--data '{
"request_type": "validate-order",
"request_uid": "order-12345",
"request_datetime": "2025-01-15T10:30:00.000Z",
"location_id": "loc-001",
"schedule_type": "current",
"ttl": 300,
"order_details": {
"online_order_id": "ONL-12345",
"subtotal": 25.99,
"order_total": 28.09,
"grand_total": 30.09,
"menu_items": [
{
"id": "item-001",
"name": "Burger",
"item_type": "Item",
"quantity": 2,
"price_per_unit": 12.99,
"total_price": 25.98,
"modifiers": [
{
"id": "mod-001",
"name": "Large",
"item_type": "Modifier",
"quantity": 1,
"price_per_unit": 1,
"total_price": 1
}
]
}
],
"taxes": [
{
"name": "Sales Tax",
"amount": 2.1
}
],
"payments": [
{
"tender_id": "tender-001",
"payment_type": "credit_card",
"amount": 30.09
}
],
"tips": [
{
"name": "Tip",
"amount": 2
}
],
"customer_info": {
"name": "N Patel",
"phone_number": "999-888-9999",
"email": "n.patel@example.com"
}
}
}'
{
"status": "validated",
"request_uid": "order-12345",
"request_datetime": "2025-01-15T10:30:00.000Z",
"location_id": "loc-001",
"completed_at": "2025-01-15T10:30:05.000Z",
"received_at": "2025-01-15T10:30:00.000Z",
"order_details": {
"online_order_id": "ONL-12345",
"pos_order_id": "POS-67890",
"subtotal": 25.99,
"order_total": 28.09,
"grand_total": 30.09,
"menu_items": [
"..."
]
}
}