Integrator's GraphQL API Guide


You can’t. That is only for terminal tickets for gql. To pay a ticket on machine terminal use pay ticket action. Why do you want to use that gql on a physical terminal?


I am not using GQL on physical terminal.

What i am trying to test is, can we pay online for table orders, and clear the table ticket after confirmation of payment online and then inititating that mutation called payTerminalTicket to clear tables.

To Test i have two Windows Systems: Lets say System A and System B

On System A - I have SambaPOS application running. Using the application i have place order on Table A1 and A2

On System B - using Chrome, i am connected to Samba via GQL Play Console. Using this console i am trying to make payment for Table A1 and A2 using mutation called payTerminalTicket.

But in this mutation i have to enter terminal ID,

The problem is i dont know the terminal Id of System A. Is there a way i can find terminalID of Main system A.

I hope this clears out what i am trying to do.


You open a terminal and then open that ticket… you cant pay something from a physical terminal with GQL. What I mean is you create a terminal and use that terminalid and then open that ticket and then pay it. You would not use a terminal id of a physical terminal.


Tell me if this is possible or not:

  1. Tickets created using SambaPOS Application - Can they be cleared or settled using payTerminalTicket or any other GQL mutation. ( THIS IS IMPORTANT )

  2. Tickets created via GQL can be settled by GQL payTerminalTicket. ( I think this works because we first register terminal, then create ticket, so we will have a terminal id to input in that mutation string.)


1- Yes you can pay with GQL which created by SambaPOS App
2- Yes thats true too.


Can you tell me, How can i pay for tickets created by SambaPOS app via GQL?


First register terminal then loadterminalticket after that you can pay with payterminalticket.


What we are trying to say is you need to register a terminal and then load the ticket and then pay. You don’t need the physical terminal Id because you will register a new terminal.


Tickets created via gql and tockets created via physical terminal are the same. There is no difference


Worked Finally. This is what i did.

Registered Terminal ( With the same terminal name from where i created tickets “Server” )
Loaded Tickets on that Terminal (Showed all Tickets with Id and other details )
Loaded that Particular Ticket based on ID found from previous mutation
Paid the Ticket using payTermina mutation (Using terminal id and ticket id )
Closed the ticket
Finally Refreshed Ticket Mesage so that it updates the entity screen.

This is done GQL Play Console.

Now i have to figure out how to actually build a page for people to pay using Payment Gateways, once paid it triggers that pay terminal ticket action.

I will start a new topic on this, if anyone can help , please share your inputs.


How can we get graphql schema file?


Please read the tutorial you don’t need one. Just load up the graphiql interface it has full documentation and a console to try syntax.


We want to develop mobile client delivery application for russian Telegram Messenger, therefore we need gql schema.


is it what i am looking for?


Yes so read the tutorial and load up graphiql. Graphiql is what your looking for and how to access it is in this tutorial.



I use pre order tickets and regularly allow submitted orders to be unlocked and have order tags changed (most of more order tags don’t have a cake but control the type of scuba equipment that will be required for a particular scuba diver).

Is it possible to use the api to change an order tag for a previously submitted order?


This is very interesting would you suggest this to build a menu board? Basically a few TV’s that run a web browser that pulls data from this API which pulls the prices and menu items from the post system?


That is a typical example of what an API is good for.
Direct SQL for that senario wouldn’t be so tricky as menu tables are more straight forward than orders, tickets and accounts etc however API is there and does allot of the heavy lifting in a format ideal for such a setup.


@mjb2000 I feel like you need a kitchen display like screen that built on tasks.