Skip to main content

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 example SESSION_ALREADY_LOCKED or BILL_NO_SUCH_BILL.
    • In the example below, the result.errorReason describes a session lock error. The errorReason has been configured to give explanatory information about when the session was locked, and by which terminal.
{
"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 nameCodeDescription
Session does not existSESSION_NO_SUCH_SESSIONThe EPOS will issue this error whenever a request's sessionId does not match any existing session. Session IDs are represented as UUIDs.
Session not lockedSESSION_NOT_LOCKEDThe 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 lockedSESSION_ALREADY_LOCKEDThe 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 unlockSESSION_UNABLE_TO_UNLOCKThe EPOS cannot unlock the session due to internal reasons.
Payment not recordedPAYMENT_NOT_RECORDEDThe EPOS cannot record the payment due to internal reasons.
Payment already recordedPAYMENT_ALREADY_RECORDEDThe specified payment has already been processed and recorded.
Parse errorERROR_PARSE_ERRORThis is a generic parse error. It means a user has incorrect logic somewhere in their request body.
Internal POS errorERROR_INTERNAL_POS_ERRORThe EPOS cannot process the request due to internal reasons.
Table does not existTABLE_NO_SUCH_TABLEThe table specified in the request body does not exist.
Bill does not existBILL_NO_SUCH_BILLThe bill specified in the request body does not exist.
Waiter does not existWAITER_INCORRECT_WAITER_IDThe waiter specified in the request body does not exist.