Skip to main content
All CollectionsIntegrations & APIs
Integrate external providers with Ebriza
Integrate external providers with Ebriza

Push orders from external providers to Ebriza POS using a bidirectional integration.

Alex avatar
Written by Alex
Updated over 2 years ago

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. On the other hand the Ebriza client installs your app in their account and this is the way they are giving your service access to their data.

You have two choices in this moment. You can use our Web Ordering app and just start pushing orders, or you can create your custom app in the Marketplace. Below some differences:

Web Ordering app:

  • Name: com.ebrizadev.webordering

  • Has access only to a handful of endpoints: Bill (push orders), Clients (push client details), Items (read products), Orders (read paid bills = order)

  • Has our branding and is made by Ebriza Software

  • Has our standard description

  • Even if the name is "Web ordering" you can use it to integrate any type of service

  • Has a price of 0.05 EUR / transaction (transaction = bill = order)

Your custom app:

  • Name: com.yourcompany.yourappname

  • You will have to create a developer account in Ebriza and create the app. Article here.

  • You can customize your app with your name, branding, logo etc.

  • You can set your own price that will be commissioned by Ebriza (contact us for more details)

  • You can select the endpoints you need access to

No matter what solution you choose, to use the Ebriza API you need some keys that you will find after the client installs the app into their account. 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 use our API you need to get a Bearer Token as described in our documentation and add the Token in the header. 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.

If you are using your custom app instead of Web Ordering app you will have to add your app name in the header with the key ebriza-appname.

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.

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.

Did this answer your question?