Architektura
Każda fizyczna lokalizacja restauracji powinna mieć własny profil integracji OpenApp. Listy produktów, dane menu, ceny, dostępność, dane dostępowe POS, konfiguracja kolejki, callbacki, stan i status są przypisane do tego profilu lokalizacji.
Komunikacja OpenApp -> POS może używać bezpośredniego dostarczania HTTP albo kolejki zarządzanej przez OpenApp.
| Tryb dostarczania | Kiedy go używać | Jak działa |
|---|---|---|
| HTTP REST API | Backend POS udostępnia stabilny endpoint HTTPS osiągalny przez OpenApp. | OpenApp wywołuje endpoint POS bezpośrednio i odbiera wynik operacji w odpowiedzi HTTP. Ścieżki endpointów konfiguruje merchant. |
| Kolejka zarządzana przez OpenApp | System POS nie może być osiągany z internetu albo nie może przyjmować ruchu HTTPS. | OpenApp zapisuje komendy POS w kolejce. POS łączy się wychodząco z kolejką, odbiera komendy, przetwarza je i odsyła wyniki do OpenApp przez HTTP. |
Komunikacja POS -> OpenApp zawsze używa HTTP. Dla komend OpenApp -> POS opartych na kolejce POS odsyła wynik przez asynchroniczny callback HTTP OpenApp, skorelowany z pierwotnym identyfikatorem wiadomości.
Operacje klienckie obsługiwane przez POS wymagają, aby POS przetwarzał komendy, gdy lokalizacja jest otwarta, a integracja aktywna. Zamawianie przy stoliku, składanie zamówień na odbiór/dostawę, przygotowanie rachunku i zastosowanie płatności powinny działać niemal w czasie rzeczywistym; komendy widoczne dla klienta powinny celować w odpowiedź poniżej 10 sekund.
Mechanikę odpytywania kolejki, kolejności i callbacków opisuje Komunikacja przez kolejkę.