POS Integration Module

Introduction

Connect your POS app or platform to Sinqro (consuming Sinqro APIs and listening Sinqro webhooks)

Target Developers

  • Internal developers from a POS software company
  • Developers from a restaurant chain or group having their own POS solution

Your company benefits

  • Your clients (restaurants and food shops using your software), will be able to manage their own web/mobile apps and external marketplaces orders/reservations, delivery services and many other Sinqro connected solutions, directly FROM YOUR POS.
  • You won’t have to integrate dozens of marketplaces or providers one by one. With one integration, your POS is connected to multiple external services.
  • Your software will be listed in our site as Sinqro-ready POS and this will accelerate your sales.

Sinqro benefits

  • Your clients will become Sinqro potential clients.
  • We can provide our current and incoming clients the possibility to work with a dedicated POS solution.

Getting started

To get started using any Sinqro API you need to create your developer account

Once in your developer panel, create an app integration:

  1. Go to Integration Modules
  2. Click on New Integration Module
  3. In the form, select POS Integration Module
  4. Wait for your integration module request approval

Once your request has been approved, you can manage your integration module details and get you API credentials (required to call our API as you will see in the API Security section)

API Environments

Sandbox

https://sandbox-api.sinqro.com/pos-app/v1

Production

https://api.sinqro.com/pos-app/v1

API Security

About your credentials
In order to get your credentials, you need first to create your Integration Module. You can find the steps at Getting Started section.
Authorization

All services of this API require an authorization token sent in headers ‘x-api-server-access-token’.

You can get your integration module assigned token in your developer panel.

Authentication

All this API services require an authentication token sent in headers 'x-api-user-access-token'.

How to get the authentication token?

The authentication token is generated automatically for each client's module setup.

In your developer panel you'll find listed all the module setups with its assigned token.

We will provide you a demo business with an authentication token to test your integration.

Guide & Examples

We show you some relevant use cases.

Creating products

PRODUCTS

Pushing products is the first service that normally a POS wants to integrate.

We suggest starting pushing the products without any menu/menuSection relation, and then evaluate the different strategies you have to relate this product with menus.

Menus and menuSections will be explicitely explained in the next use case.

PRODUCT OPTION CATEGORIES AND PRODUCT OPTIONS

Example:

BBQ Burger 10€ (product)

  • Choose a side (productOptionCategory)
    • Extra Bacon +2€ (productOption)
    • Extra Cheddar +1€ (productOption)
  • How you prefer the meat ? (productOptionCategory)
    • Raw (productOption)
    • Rare (productOption)
    • Medium rare (productOption)
    • Medium (productOption)
    • Medium well (productOption)
    • Well done (productOption)

PRODUCT VARIANT

A productVariant is a product itself, linked to a parent product:

BBQ Burger 10€ (product)

> XXL BBQ Burger 15€ (productVariant)

Creating menus

MENUS

We have two 'menu' types: setMenus and menus. Both menu types have menuSections and a menuSection has a collection of products. 

A setMenu (not common in all countries), has a fixed price itself and the client must select normally only one product for each menuSection.

In a standard menu, the client has no limitations selecting products within the menuSections and the price is defined for each of the products, a not for the menu itself. 

 

SIMPLIFYNG THE INTEGRATION

If you don't have the 'menu' concept in your POS, you have different options:

A. Ignore the menu concept, push only products and ask the restaurant user to create the menus directly in Sinqro, selecting the products you pushed manually.

B. Create a single online menu with menuSections (manually) in Sinqro and push your products to this single menu

C. Incorporate to your data model the concept of menu.

Managing new orders and reservations

Receive and manage new orders and reservations (using webhooks). If you provide a webhook endpoint, new orders webhooks will be thrown for a real-time connection

New order / reservation workflow

ACTIONDESCRIPTION
1. Place orderThe client places the order
2. API Post orderThe marketplace posts the order to Sinqro
3. Send order WEBHOOKSinqro sends the new order webhook to the POS
4. Restaurant notificationThe POS notifies the restaurant
5. Get available order actionsThe POS get the possible actions (accept, cancel, ...) for the order
6. Show actions as buttonsThe POS shows the possible actions selectable by the restaurant
7. Select order actionThe restaurant accepts or cancels the order selecting one of the order actions
8. API Post order actionThe POS changes the order status providing the order action selected by the restaurant
9. New status WEBHOOKSinqro sends the new status webhook to the market
10. Client notificationThe marketplace notifies the client

API Reference

Webhooks Reference

Webhooks endpoint
We’ll always send any webhook to your single endpoint url (configured in the dashboard)
WebSockets, an alternative to receive real-time webhooks
If you don't have a (cloud) server to receive the webhooks and you want to avoid polling and work in real-time context, we have an alternative with websockets.
In your app, you need to implement a websocket client and listen the host, port and path that you can find in your developer panel.
You can test the notifications in this link