webhookAPI

circle-exclamation

Using the API

This API is intended for CafePOS addons. Most calls require an AddonId.

Use API:Invoke(Name, Payload) to make requests. Wrap calls in pcall if you want error safety.

API reference

local API = require(121652996197382).API

Startup

Get the configured startup type.

Call

API:Invoke("Startup")

Returns

  • 1, 2, or 3

StoreName

Get the configured store name.

Call

Returns

  • string

SetServiceHold

Enable or disable service hold. This blocks new orders when enabled.

Call

Payload

  • Value (boolean): true to enable, false to disable.

ServiceActive

Check whether service hold is active.

Call

Returns

  • boolean

GetDevices

Get a list of all devices and their info.

Call

Returns

  • table[]: list of device entries.

  • Each entry includes a device identifier, type, and version.

GetLimits

Get ordering limits.

Call

Returns

  • table with:

    • Items (number): max unique items in one order.

    • Quantity (number): max quantity per item.

    • Orders (number): max active orders per player.

GetMenu

Get the orderable items.

Call

Returns

  • table: menu structure used by POS/Kiosk.

GetOrders

Get all current orders.

Call

Returns

  • table[]: list of order tables.

  • Structure matches the OrderCreated / OrdersUpdated events.

GetCart

Get cart data for a POS device.

Call

Returns

  • table: cart data for the current device.

SubmitOrder

Submit a new order.

Call

Payload

  • ID (number): addon ID.

  • Player (Player): order owner.

  • Items (table[]): items in the order.

    • ID (number): menu item ID.

    • Quantity (number): quantity for the item.

    • Ingredients (table, optional): ingredient modifications.

  • Priority (boolean, optional): priority order.

  • VOS (boolean, optional): vehicle ordering system order.

  • NPC (boolean, optional): NPC order.

circle-info

Orders can be rejected if limits are exceeded or service hold is active.

ClaimOrder

Claim an order.

Payload

  • ID (number): addon ID.

  • Order (number): order ID.

  • Player (Player): staff member claiming the order.

  • Screen (number, optional): screen index for multi-screen setups.

Call

Returns

  • table or boolean: depends on version.

  • Treat nil as failure.

UnclaimOrder

Unclaim an order.

Payload

  • ID (number): addon ID.

  • Order (number): order ID.

  • Player (Player): staff member unclaiming the order.

  • Screen (number, optional): screen index for multi-screen setups.

Call

Returns

  • table or boolean: depends on version.

  • Treat nil as failure.

CompleteOrder

Complete an order.

Payload

  • ID (number): addon ID.

  • Order (number): order ID.

  • Player (Player): staff member completing the order.

  • Screen (number, optional): screen index for multi-screen setups.

Call

Returns

  • table or boolean: depends on version.

  • Treat nil as failure.

RemoveOrder

Remove an order without completing it.

Payload

  • ID (number): addon ID.

  • Order (number): order ID.

  • Player (Player): admin performing the removal.

Call

Returns

  • table or boolean: depends on version.

  • Treat nil as failure.

BypassPayment

Skip the payment stage for POS orders.

Payload

  • ID (number): addon ID.

  • Player (Player): staff member performing the bypass.

  • NPC (boolean, optional): set if this is an NPC order.

Call

Returns

  • boolean: true if bypassed.

Addons

If you wish to receive events from CafePOS and want an easier setup, use our built-in addons!

By default, we include 'Example Addon' and 'Mobile Ordering System'. You should explore both files to learn more about how addons can be used.

Addon Placeholder

ModuleScript

Sending Requests

To send an event within an Addon, you need to provide the AddonId in the request. An example request is shown below.

Last updated