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.

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

As you are going to develop using test accounts, you can work directly in 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 link these products 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 do 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

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

API Reference

Webhooks Reference

Webhooks endpoint
We’ll always send any webhook to your single endpoint url
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