POS Integration Module
Connect your POS app or platform to Sinqro (consuming Sinqro APIs and listening Sinqro webhooks)
- 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.
To get started using any Sinqro API you need to create your developer account
Once in your developer panel, create an app integration:
- Go to Integration Modules
- Click on New Integration Module
- In the form, select POS Integration Module
- 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)
As you are going to develop using test accounts, you can work directly in production:
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.
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.
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
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)
A productVariant is a product itself, linked to a parent product:
BBQ Burger 10€ (product)
> XXL BBQ Burger 15€ (productVariant)
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
|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|
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