Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Opublikuj swoje zlecenie za darmo i otrzymaj oferty od wykonawców freelancerów już minutę po opublikowaniu!

Integracja GoPos

Translated

  1. 3931
     37  0

    1 dzień163 PLN

    Cześć!\nJestem gotów zająć się Twoim projektem, wykonam go w trybie pilnym.\nMam ogromne doświadczenie w pracy z podobnymi zadaniami, nie będzie żadnych trudności.\nJeśli Cię zainteresowałem, pisz, chętnie nawiążę współpracę!

  2. 552    3  0
    5 dni572 PLN

    Problem jest zrozumiały: wasza strona tworzy zamówienia przez POST /orders, a one przychodzą w statusie OPENED — bezpośrednio do systemu, bez etapu potwierdzenia. Powiadomienie na tablecie działa tylko dla zamówień w statusie EXTERNAL, a trafiają tam tylko zamówienia od zarejestrowanych partnerów GoPos (GoOrder, Wolt, Glovo). Zwykłe zamówienie API tam nie trafia — stąd cisza na tablecie.

    Są dwa sposoby rozwiązania:

    1. Rejestracja jako partner GoPos — przez oficjalny formularz na stronie gopos.pl prosicie o status app integration partner. Wtedy wasze zamówienia trafią do EXTERNAL, tablet dostanie dźwięk i popup, kelner naciska „zaakceptuj”. To właściwa droga, ale czas odpowiedzi od GoPos jest nieprzewidywalny.

    2. Webhook + własna warstwa powiadomień — równolegle lub jako opcja zapasowa: rejestrujecie webhook na zdarzenie ORDER_CREATED, otrzymujecie powiadomienie na serwer, pobieracie pełne zamówienie przez GET, pokazujecie kolejkę na osobnym interfejsie tabletowym z powiadomieniem. Kelner potwierdza tam, status aktualizuje się przez API. Działa bez partnerstwa.

    Z GoPos API zapoznałem się przez specyfikację Swagger — są tam działające punkty końcowe dla accept/reject, statusów przygotowania, webhooków. Dokumentacja jest skromna, ale struktura zrozumiała.

    Jestem gotów się tym zająć: 3–5 dni, 6000–9000 zł w zależności od wybranej drogi. Proszę o wyjaśnienie — czy GoOrder jest już podłączony, czy strona jest całkowicie niestandardowa na osobnej domenie?

  3. 584    1  0
    2 dni123 PLN

    Cześć! Szczerze: wcześniej nie pracowałem z GoPos — ale zajrzałem do ich API (Swagger z twojego zadania) i widzę konkretną przyczynę.

    W GoPos dla zewnętrznych/online zamówień jest osobny status EXTERNAL i krok potwierdzenia — endpointy PUT /orders/{id}/accept i /reject. Rodzinna strona zamówień online tworzy zamówienie jako EXTERNAL → trafia ono do kolejki, a kelner na tablecie dostaje „potwierdź” (klika accept).

    Twoja integracja na Laravel, sądząc po objawach, tworzy zamówienie od razu jako przyjęte (OPENED) lub sama wywołuje accept/send przy POST /orders — dlatego krok potwierdzenia jest pomijany.

    Poprawka: przy tworzeniu (POST /orders) formować zamówienie jako zewnętrzne (EXTERNAL) i nie wywoływać accept/send automatycznie — wtedy znowu trafi do kelnera na potwierdzenie. Sprawdzę na twoim kodzie i testowym zamówieniu, aby zachowanie zgadzało się z rodzinną stroną.

    Dokumentacja rzeczywiście tylko Swagger bez opisów — ale już się w nim zorientowałem, w kwestii zamówień wszystko jasne.

    Koszt: 1500 UAH, termin 1-2 dni (po uzyskaniu dostępu do kodu integracji i klucza API).

  4. 232  
    2 dni123 PLN

    Dzień dobry! GoPos dokładnie nie robiłem, ale robiłem podobne integracje systemów POS (Syrve/iiko) — i ten problem z potwierdzeniem jest mi znany jeden do jednego. Prawie na pewno ich strona zamówień online tworzy zamówienie w statusie „oczekuje na potwierdzenie”, co wyzwala powiadomienie dla kelnera na tablecie, a wasze bezpośrednie zapytanie przez API umieszcza zamówienie już jako przyjęte (lub bez pola, które wysyła je do kolejki potwierdzenia). Sprawdzę ich swagger pod kątem statusów i źródła zamówienia — i powiem dokładnie, gdzie macie rozbieżności. Proszę powiedzieć: zamówienie w ogóle dociera do tabletu, po prostu bez przycisku potwierdzenia, czy w ogóle go tam nie widać?

  5. 738    4  0
    1 dzień57 PLN

    Dzień dobry. Wiem, w czym tkwi problem w zapytaniu. Proszę pisać...

  6. 650    2  0
    1 dzień147 PLN

    Cześć!

    Od razu szczerze: nie pracowałem z GoPos — ale wygląda na to, że już rozumiem, w czym tkwi wasz problem, i da się to rozwiązać przez ich API.

    Brzmi tak, że chodzi o to, jakim statusem tworzony jest zamówienie. Rodzinna strona internetowa zamówień online GoPos tworzy zamówienie jako „niepotwierdzone” → dlatego kelner na tablecie dostaje powiadomienie „potwierdź”. A wasza niestandardowa strona na Laravel, sądząc po opisie, wysyła zamówienie tak, że jest ono od razu akceptowane (auto-accept), pomijając ten krok.

    Zwykle naprawia się to w jednym z trzech miejsc:
    — inny endpoint (często mają osobną metodę dla zamówień online vs kasowych);
    — parametr status przy tworzeniu (tworzyć jako new/unconfirmed, a nie accepted);
    — flaga source/type zamówienia (online vs kasa) — to właśnie ona wyzwala powiadomienie na tablecie.

    Sposób na znalezienie dokładnej przyczyny jest prosty: porównuję payload, który wysyła ich rodzinna strona, z tym, co wysyła wasz Laravel, według ich Swagger — i znajduję, które pole/endpoint zawiera potwierdzenie. Niedokumentowane API (tylko Swagger bez opisów) — to właśnie to, z czym ciągle pracuję, więc brak normalnej dokumentacji i wolna ich pomoc techniczna nie stanowią problemu, poradzę sobie z samym API.

    Dacie dostęp do kodu integracji (gdzie formułowane jest zapytanie zamówienia) i testowy dostęp do GoPos — a ja znajdę, dlaczego zamówienie idzie bez potwierdzenia, i poprawię.

    Z czego wygodniej zacząć — prześlecie aktualny kod wysyłania zamówienia, czy najpierw spojrzę, jakie metody tworzenia zamówienia mają w ich Swagger?

  7. Jeszcze 4 ofert jest ukrytych

Zleceniodawca
Artem Yablochnyi
Ukraina Krzywego Rogu  5  0
Zlecenie zostało opublikowane
1 godzina 9 minut temu
147 wyświetleń
Do zamknięcia
13 dni 22 godziny
Tagi
  • SWAGGER
  • laravel
  • API
  • GoPos