GoPos Integration
Hello, has anyone done an integration of GoPos with a custom website for a restaurant in Poland?
I need help, their documentation is very sparse, there is only swagger and it lacks descriptions.
https://app.gopos.io/doc/swagger-ui/index.html
The essence is this: we used their website for online orders, and when an order was placed there, the waiters received a notification on their tablets to confirm the order.
I created a custom site on Laravel, but when placing an order via the API, it simply sends it to the POS system without confirmation.
Has anyone encountered this and how can it be fixed? Their tech support takes weeks to respond.
I ask only those who have actually done such an integration to respond.
-
Hello! I am ready to take on your project and will complete it urgently. I have extensive experience with similar tasks, so there will be no difficulties. If I have piqued your interest, feel free to write; I am happy to collaborate!
-
552 3 0 The problem is clear: your site creates orders via POST /orders, and they arrive in OPENED status — directly into the system, without a confirmation stage. The notification on the tablet only triggers for orders in EXTERNAL status, which only includes orders from registered GoPos partners (GoOrder, Wolt, Glovo). Regular API orders do not get there — hence the silence on the tablet.
There are two solutions:
1. Register as a GoPos partner — through the official form on the gopos.pl website, request the status of app integration partner. Then your orders will go into EXTERNAL, the tablet will receive a sound and a popup, and the waiter will click "accept." This is the correct path, but the response time from GoPos is unpredictable.
2. Webhook + your own notification layer — either in parallel or as a backup option: register a webhook for the ORDER_CREATED event, receive a notification on the server, pull the full order via GET, and display the queue on a separate tablet interface with a notification. The waiter confirms there, and the status updates via API. This works without partnership.
I have figured out the GoPos API through the Swagger specification — there are working endpoints for accept/reject, preparation statuses, webhooks. The documentation is sparse, but the structure is clear.
…
I am ready to take this on: 3–5 days, 6000–9000 UAH depending on the chosen path. Please clarify — is GoOrder already connected for you, or is the site completely custom on a separate domain?
-
584 1 0 Hello! Honestly: I haven't worked with GoPos before — but I looked into their API (Swagger from your task) and I see the specific reason.
GoPos has a separate status EXTERNAL for external/online orders and a confirmation step — the endpoints PUT /orders/{id}/accept and /reject. The native online order site creates an order as EXTERNAL → it goes into the queue, and the waiter receives a "confirm" on the tablet (he clicks accept).
Your integration on Laravel, judging by the symptom, creates the order as immediately accepted (OPENED) or calls accept/send during POST /orders — therefore, the confirmation step is skipped.
Fix: when creating (POST /orders), format the order as external (EXTERNAL) and do not automatically call accept/send — then it will go back to the waiter for confirmation. I will check it on your code and a test order to ensure the behavior matches the native site.
Their documentation is indeed only Swagger without descriptions — but I have already figured it out, everything is clear regarding orders.
…
Cost: 1500 UAH, timeframe 1-2 days (after access to the integration code and API key).
-
232 Good afternoon! I haven't specifically worked with GoPos, but I have done similar integrations with POS systems (Syrve/iiko) — and this confirmation issue is exactly familiar. Almost certainly, their online ordering site creates an order in the "awaiting confirmation" status, which triggers a notification to the waiter on the tablet, while your direct API request places the order as already accepted (or without the field that sends it to the confirmation queue). I will check their swagger for statuses and order sources — and I will tell you exactly where your issue lies. Could you let me know: does the order reach the tablet at all, just without the confirmation button, or is it not visible there at all?
-
738 4 0 Good afternoon. I know what the reason is in the request. Write...
-
650 2 0 Hello!
To be honest right away: I haven't worked with GoPos — but it seems I already understand what your problem is, and it can be solved through their API.
It sounds like the issue is with the status in which the order is created. The native GoPos online ordering site creates an order as "unconfirmed" → therefore, the waiter receives a notification on the tablet to "confirm". Your custom site on Laravel, judging by the description, sends the order in such a way that it is immediately accepted (auto-accept), bypassing this step.
It is usually fixed in one of three places:
— a different endpoint (they often have a separate method for online orders vs cash register);
— the status parameter when creating (create as new/unconfirmed, not accepted);
… — the source/type flag of the order (online vs cash register) — this is what triggers the notification on the tablet.
The way to find the exact reason is simple: I compare the payload sent by their native site with what your Laravel sends, according to their Swagger — and find out which field/endpoint includes the confirmation. Undocumented APIs (just Swagger without descriptions) are exactly what I work with constantly, so the lack of proper documentation and their slow tech support is not a problem; I will figure it out through the API itself.
If you provide access to the integration code (where the order request is formed) and test access to GoPos — I will find out why the order goes without confirmation and fix it.
What would be more convenient to start with — should I take a look at the current order sending code, or should I first check what order creation methods they have in Swagger?
-
Ask your question to the client