Интеграция GoPos
Привет, делал кто нибудь интеграцию GoPos с кастомным сайтом для ресторана в Польше?
Нужна помощь, у них очень скудная документация, есть только swagger и тот без описаний
https://app.gopos.io/doc/swagger-ui/index.html
Суть такая, использовали от них сайт для онлайн заказов, если там делали заказ, то у официантов на планшетах выходило уведомление, подтвердить заказ
Сделал кастомный сайт на ларке, при оформлении заказа по апи он просто отправляется в пос систему, без подтверждения
Сталкивался кто то с таким и как это исправить? Тех поддержка у них неделями отвечает
Прошу откликаться только тех кто именно делал интеграцию такую с
-
Привет!
Готов взять Ваш проект, выполню в срочном порядке.
Опыт работы с подобными заданиями огромный, трудностей не возникнет.
Если я Вас заинтересовал, пишите, рад сотрудничать!
-
552 3 0 Проблема понятна: ваш сайт создаёт заказы через POST /orders, и они приходят в статусе OPENED — напрямую в систему, без этапа подтверждения. Уведомление на планшете срабатывает только для заказов в статусе EXTERNAL, а в него попадают лишь заказы от зарегистрированных партнёров GoPos (GoOrder, Wolt, Glovo). Обычный API-заказ туда не попадает — отсюда и тишина на планшете.
Есть два пути решения:
1. Регистрация как партнёр GoPos — через официальную форму на сайте gopos.pl просите статус app integration partner. Тогда ваши заказы попадут в EXTERNAL, планшет получит звук и попап, официант нажимает «принять». Правильный путь, но сроки ответа от GoPos непредсказуемые.
2. Webhook + собственный notification layer — параллельно или как запасной вариант: регистрируете webhook на событие ORDER_CREATED, получаете уведомление на сервер, дёргаете полный заказ через GET, показываете очередь на отдельном планшетном интерфейсе с уведомлением. Официант подтверждает там, статус апдейтится через API. Работает без партнёрства.
С GoPos API разобрался по Swagger-спецификации — там есть рабочие endpoints для accept/reject, preparation statuses, webhooks. Документация скудная, но структура понятная.
…
Готов взяться: 3–5 дней, 6000–9000 грн в зависимости от выбранного пути. Уточните — GoOrder у вас уже подключён или сайт полностью кастомный на отдельном домене?
-
584 1 0 Здравствуйте! Честно: именно с GoPos раньше не работал — но залез в их API (Swagger из вашего задания) и причину вижу конкретно.
У GoPos для внешних/онлайн-заказов есть отдельный статус EXTERNAL и шаг подтверждения — эндпоинты PUT /orders/{id}/accept и /reject. Родной сайт онлайн-заказов создаёт заказ как EXTERNAL → он попадает в очередь, и официанту на планшет приходит «подтвердить» (он жмёт
accept).
Ваша интеграция на Laravel, судя по симптому, создаёт заказ сразу принятым (OPENED) либо сама вызывает accept/send при POST /orders — поэтому шаг подтверждения пропускается.
Фикс: при создании (POST /orders) формировать заказ как внешний (EXTERNAL) и не вызывать accept/send автоматически — тогда он снова пойдёт официанту на подтверждение. Проверю на вашем коде и тестовом заказе, чтобы поведение совпало с родным сайтом.
… Документация у них и правда только Swagger без описаний — но я в нём уже разобрался, по заказам всё ясно.
Стоимость: 1500 грн, срок 1-2 дня (после доступа к коду интеграции и API-ключу).
-
232 Добрый день! GoPos именно не делал, но делал такие же интеграции POS-систем (Syrve/iiko) — и эта проблема с подтверждением знакома один в один. Почти наверняка их сайт онлайн-заказов создаёт заказ в статусе «ожидает подтверждения», который и триггерит уведомление официанту на планшете, а ваш прямой запрос по API кладёт заказ уже принятым (или без поля, которое отправляет его в очередь подтверждения). Гляну их swagger по статусам и источнику заказа — и скажу точно, где у вас расходится. Подскажите: заказ вообще доезжает до планшета, просто без кнопки подтверждения, или его там не видно совсем?
-
738 4 0 Добрый день. Знаю в чем причина в запросе. Пишите...
-------------------------------------------------------
-
650 2 0 Здравствуйте!
Сразу честно: именно с GoPos не работал — но похоже, я уже понимаю, в чём ваша проблема, и это решаемо через их API.
Звучит так, что дело в том, каким статусом создаётся заказ. Родной сайт онлайн-заказов GoPos создаёт заказ как «неподтверждённый» → поэтому официанту на планшет падает уведомление «подтвердить». А ваш кастомный сайт на Laravel, судя по описанию, шлёт заказ так, что он сразу принимается (auto-accept), минуя этот шаг.
Чинится обычно в одном из трёх мест:
— другой эндпоинт (у них часто отдельный метод под online-заказы vs кассовые);
— параметр status при создании (создавать как new/unconfirmed, а не accepted);
… — флаг source/type заказа (онлайн vs касса) — именно он и триггерит уведомление на планшет.
Способ найти точную причину простой: сравниваю payload, который шлёт их родной сайт, с тем, что шлёт ваш Laravel, по их Swagger — и нахожу, какое поле/эндпоинт включает подтверждение. Недокументированные API (только Swagger без описаний) — как раз то, с чем постоянно работаю, так что отсутствие нормальной доки и медленная их техподдержка тут не проблема, разберусь по самому API.
Дадите доступ к коду интеграции (где формируется запрос заказа) и тестовый доступ к GoPos — и я найду, почему заказ идёт без подтверждения, и поправлю.
С чего удобнее начать — скинете текущий код отправки заказа, или сперва гляну, какие методы создания заказа есть у них в Swagger?
-
Задайте ваш вопрос заказчику