Terminals

Working with terminals in Menuflow

Terminals are hardware devices that take orders, customer payments, and print receipts. Terminals synchronize with the online portal to fetch device configurations and record payments and orders. The following API calls are available to log in, check-in and retrieve and change supervisor pin codes.


To test terminal login, check-ins, and register hardware serial numbers terminal portal access is available on the following URL:

https://portal.menuflow.dev/terminals

Reach out to the Menuflow team for access credentials.

Login

Call to allow pre-registered hardware devices to log in via serial number. The response payload returns configuration data to be used by the application on the specific device.

Login Request

GET https://api.menuflow.dev/go/terminal/{serial_no}/login

curl --location 'https://api.menuflow.dev/go/terminal/{serial_no}/login' --header 'x-api-key: YOUR-API-KEY'

Path Parameters

{
    "status": 200,
    "serial_no": "VB5323XXXXXXX",
    "records": 1,
    "result": [
        {
            "account_id": 1931,
            "location_id": 1220,
            "location_name": "Go Testing",
            "currency": "USD",
            "tax_rate": 20.0,
            "tax_inc": 0,
            "service_charge": 12.0,
            "ordering_enabled": 1,         
            "splitbill_enabled": 1,
            "tip_enabled": 1,
            "tip_option_1": 10.0,
            "tip_option_2": 15.0,
            "tip_option_3": 20.0,
            "tip_custom": 1,
            "supervisor_pin": 7566,
            "payment_endpoint": "https:\/\/endpoint_domain\/gates\/xurl?",
            "payment_user": "username",
            "payment_pass": "password",
            "payment_type": "RE"
        }
    ]
}

Checkin

This endpoint should be called by an application every 1 minute. This call updates the status of the device on the online portal.

Checkin Request

PUT https://api.menuflow.dev/go/terminal/{serial_no}/checkin

curl --location --request PUT 'https://api.menuflow.dev/go/terminal/{serial_no}/checkin' --header 'x-api-key: YOUR-API-KEY' --data-raw '{ "ip":"192.168.9.2", "battery":43, "charging":1, "ssid":"@Menuflow" }'

Path Parameters

Request Body

{
    "status": 201,
    "serial_no": "VB53XXXXXXXX",
    "updated": 1
}

Supervisor Pin

Call to retrieve the supervisor pin code used to authenticate an action that requires a supervisor intervention.

Request Pin

GET https://api.menuflow.dev/go/terminal/{location_id}/pin

curl --location 'https://api.menuflow.dev/go/terminal/{location_id}/pin' --header 'x-api-key: YOUR-API-KEY'

Path Parameters

{
    "status": 200,
    "location_id": 1220,
    "records": 1,
    "result": [
        {
            "supervisor_pin": 7566
        }
    ]
}

Update Supervisor Pin

Call to change the supervisor pin code used to authenticate an action that requires a supervisor intervention.

Request Pin Change

PUT https://api.menuflow.dev/go/terminal/{location_id}/pin

curl --location --request PUT 'https://api.menuflow.dev/go/terminal/{location_id}/pin' --header 'Content-Type: application/json' --header 'x-api-key: YOUR-API-KEY' --data '{ "pin": 4432 }'

Path Parameters

Request Body

{ 
    "status": 201, 
    "location_id": 1220, 
    "updated": 1 
}

Toggle Ordering

Call to switch ordering on or off. This call determines if the Open Tables option is displayed on the main menu.

Toggle Request

PUT https://api.menuflow.dev/go/terminal/{location_id}/ordering

curl --location --request PUT 'https://api.menuflow.dev/go/terminal/{location_id}/ordering' --header 'Content-Type: application/json' --header 'x-api-key: YOUR-API-KEY' --data '{ "switch": 1 }'

Path Parameters

Request Body

{ 
    "status": 201, 
    "location_id": 1220, 
    "updated": 1 
}

Toggle Tipping

Call to switch tipping on or off. This call determines if the Tipping screen is displayed as part of the payment flow.

Toggle Request

PUT https://api.menuflow.dev/go/terminal/{location_id}/tipping

curl --location --request PUT 'https://api.menuflow.dev/go/terminal/{location_id}/tipping' --header 'Content-Type: application/json' --header 'x-api-key: YOUR-API-KEY' --data '{ "switch": 1 }'

Path Parameters

Request Body

{ 
    "status": 201, 
    "location_id": 1220, 
    "updated": 1 
}

Toggle Split Bill

Call to switch split bill on or off. This call determines if the split bill functionality is displayed on the Open Table/Bill screen.

Toggle Request

PUT https://api.menuflow.dev/go/terminal/{location_id}/splitbill

curl --location --request PUT 'https://api.menuflow.dev/go/terminal/{location_id}/splitbill' --header 'Content-Type: application/json' --header 'x-api-key: YOUR-API-KEY' --data '{ "switch": 1 }'

Path Parameters

Request Body

{ 
    "status": 201, 
    "location_id": 1220, 
    "updated": 1 
}

Last updated