Error reference
The Tables API is now archived. For up-to-date Pay at Table integrations, please use the Dojo API and EPOS Data API:
In the Tables API, error responses follow a basic logical structure:
- After sending a request, you may receive an
errorResponse
rather than the PUB response you were expecting. - The
result
object includes:- The
result.errorCode
, which uses named, human-readable codes to explain errors, for exampleSESSION_ALREADY_LOCKED
orBILL_NO_SUCH_BILL
. - In the example below, the
result.errorReason
describes a session lock error. TheerrorReason
has been configured to give explanatory information about when the session was locked, and by which terminal.
- The
{
"jsonrpc": "2.0",
"id": "123e4567-e89b-12d3-a456-426614174000",
"result": {
"errorCode": "SESSION_ALREADY_LOCKED",
"errorReason": "Session already locked at 2022-01-02T10:05:48.365Z by TID 123456789"
}
}
Troubleshooting
If you encounter any of the below errors, consider the following steps:
- Review the API documentation: Ensure that you are using the correct methods and parameters as outlined in the Tables Websockets API Reference.
- Check parameter values: Verify that the values provided for each parameter are valid according to the API specifications.
- Ensure that your system has a stable internet connection and can communicate with the EPOS.
- Contact Dojo Support: For any unresolved issues or Dojo-specific errors, email devsupport@dojo.tech.
Error name | Code | Description |
---|---|---|
Session does not exist | SESSION_NO_SUCH_SESSION | The EPOS will issue this error whenever a request's sessionId does not match any existing session. Session IDs are represented as UUIDs. |
Session not locked | SESSION_NOT_LOCKED | The EPOS will issue this error whenever a RecordPayment operation is requested on an unlocked session. If the session is unlocked and users attempt to process payment, the SESSION_NOT_LOCKED error will occur. |
Session already locked | SESSION_ALREADY_LOCKED | The EPOS will issue this error whenever user tries to submit a LockSession request on an already locked session. The errorReason will include the ID of the terminal used to originally lock the session and the datetime that it happened. |
Session unable to unlock | SESSION_UNABLE_TO_UNLOCK | The EPOS cannot unlock the session due to internal reasons. |
Payment not recorded | PAYMENT_NOT_RECORDED | The EPOS cannot record the payment due to internal reasons. |
Payment already recorded | PAYMENT_ALREADY_RECORDED | The specified payment has already been processed and recorded. |
Parse error | ERROR_PARSE_ERROR | This is a generic parse error. It means a user has incorrect logic somewhere in their request body. |
Internal POS error | ERROR_INTERNAL_POS_ERROR | The EPOS cannot process the request due to internal reasons. |
Table does not exist | TABLE_NO_SUCH_TABLE | The table specified in the request body does not exist. |
Bill does not exist | BILL_NO_SUCH_BILL | The bill specified in the request body does not exist. |
Waiter does not exist | WAITER_INCORRECT_WAITER_ID | The waiter specified in the request body does not exist. |