This guide will show you how to push orders from any external provider to Ebriza POS. This is a 2way integration, meaning the providers will not only be able to push orders to Ebriza but will also receive data from the Ebriza client like menu, order status change, restaurant snooze or products snooze.
Glossary
External provider (Provider): a 3d party service like Web site, Payment app, QR Ordering App and so on that wants to integrate with Ebriza POS
Ebriza platform (Ebriza): Ebriza back end (servers)
Ebriza client (Ebriza client): Ebriza back office (www.ebriza.com)
Ebriza POS (Ebriza POS): Ebriza tablet front office
Values provided by external provider
Provider webhook urls where Ebriza will push data to:
ChangeStatusUrl - called from Ebriza POS when an order is changing status
SyncProductsUrl - called from Ebriza client when a menu change is pushed to provider
StartAcceptingOrdersUrl - called from Ebriza POS when the client pauses the orders from the provider
SetItemUnavailableUrl - called from Ebriza POS when the client snoozes a product
You can send the URL pairs for STAGE and LIVE environments if needed. Please send the URLs by email: dev@ebriza.com.
Integration steps
Authenticate with an app from Ebriza Marketplace
Push orders to Ebriza
Listen to order status changes
Listen to menu push from Ebriza
Listen to snooze orders event from Ebriza
Listen to snooze product event from Ebriza
Authenticate with an app from Ebriza Marketplace
To use the Ebriza API you need to have an app in Ebriza Marketplace. The app represents an integration between your service (Website, Ordering app...) and Ebriza platform and is the only way you can authenticate your requests. The Ebriza client installs your app in their account and this is the way they are giving your service access to their data.
Ebriza team will create the app for you, first on stage env and then on live env, after the testing phase is completed. To create the app we will need from you:
App name: com.ebrizadev.<yourappname>
App title
App logo
Stage callback URLs: ChangeStatusUrl, SyncProductsUrl , StartAcceptingOrdersUrl, SetItemUnavailableUrl
Live callback URLs: ChangeStatusUrl, SyncProductsUrl , StartAcceptingOrdersUrl, SetItemUnavailableUrl
Ebriza team will also provide for you a test account on stage environment, with the new app installed for testing.
After the app is installed on stage you will find the API keys by navigating to your app in the left menu. By installing the app, a CLIENT ID is generated. The client id identifies the location (restaurant) from the account (an Ebriza account can have multiple locations). Below you can find a screen shot from an Ebriza account:
Push orders to Ebriza
To simplify the whole process and only for pushing orders to Ebriza POS, we offer a special endpoint where you can push the orders only by specifying the CLIENT ID (ebriza-clientid) in the header. Using the client id we identify the location where we should save the order to and also authenticate your request.
Documentation with examples is found here.
Listen to order status changes
Once an order arrives in the POS it's status changes in respect to user interaction. You can find all the possible statuses here.
At each status change, we will call a webhook URL that you need to provide.
Listen to menu changes from Ebriza
Once an Ebriza client has installed your app into their account they are able to push the menu to your service. To do this they need to configure first the products in the exact order they want them into your system. An article about this here. After that they just need to push send menu and it's done. We will send to you: name, price, vat, image, description, modifiers, items and categories.
At each menu push, we will call a webhook URL that you need to provide.
Optionally you can make a call from your system to trigger a menu sync. You just need to add two headers: ebriza-clientid (identifies the location in Ebriza) and ebriza-appname (identifies your app). You will also need to add a body request where you should add the AccountID. This id represents the brand in your account if the client has more then one. This is the same key that we use to call your API and identify the brand.
Listen to snooze orders event from Ebriza
The client can pause the orders from the external provider directly from the POS. This can happen when the restaurant can't handle any more orders for a short period of time.
At each restaurant snooze, we will call a webhook URL that you need to provide.
Listen to snooze product event from Ebriza
The client can snooze products until next day at start of schedule. This can happen when the kitchen can't prepare anymore the item.
At each product snooze, we will call a webhook URL that you need to provide.
Frequently asked questions — Where is the API key
Q: Where can I find the API key / Client ID in Ebriza for integrating with an external app?
A: The location depends on the type of app you're configuring:
Delivery apps (Glovo, Bolt Food, Wolt, etc.): Settings → Service Integration → the API KEY section, where you can add the Client ID copied from the relevant app.
Packageez: After installing the app from the Marketplace, open the app settings and enter the API Key generated from your Packageez account (Settings → API Key).
Tookan: In the app settings, enter the API Key generated from your Tookan account (the "V2 API Keys" section).
Each integration has its own API key, generated from the external platform and entered into the corresponding app's settings in Ebriza.
[tags: deliveries, external integration delivery applications, external orders, external order, delivery room]

