O singură cheie website oferă backendului tău acces la o singură companie de restaurante. Cererile pentru meniu, comandă și stare indică și conexiunea (locația și casa de marcat) căreia îi sunt destinate. Listarea conexiunilor și administrarea webhook-urilor se aplică întregului tenant.
Trimite cheia la fiecare cerere
Authorization: Bearer YOUR_WEBSITE_KEY
Content-Type: application/json
Trimite antetul Authorization la fiecare cerere pentru listarea conexiunilor, meniu, comandă, stare sau administrarea webhook-urilor și Content-Type când cererea are un corp JSON. Toți tenanții din producție folosesc același URL de bază HTTPS: https://website.api.pionier.ro. Cheia website identifică tenantul, iar ID-ul conexiunii selectează punctul său de vânzare.
| Cheie | Cine o folosește | Ce permite |
|---|---|---|
| Cheie website | Backendul tău | Listarea conexiunilor, citirea meniurilor, trimiterea comenzilor, citirea stării, solicitarea anulărilor eligibile, raportarea livrărilor/rambursărilor și administrarea webhook-urilor, inclusiv înlocuirea secretului de semnare și reîncercarea livrărilor eșuate. |
| Cheie de publicare | Nexus Retail | Publicarea meniurilor. Nu ai nevoie de ea și nu poate fi folosită drept cheie website. |
O cheie absentă, greșită sau revocată întoarce 401. Nu există un flux de reînnoire a tokenului: cheia funcționează până când Nexus o înlocuiește sau o revocă. Nexus emite cheile website; restaurantul nu le poate vedea sau crea în Retail Admin.
Administrarea webhook-urilor folosește aceeași cheie website, fără ID de conexiune, chiar înainte de activarea unui POS. Secretul separat de semnare a webhook-urilor verifică notificările primite; nu autentifică cererile API. Înlocuirea cheii website nu schimbă secretul de semnare a webhook-urilor.
Păstrează cheia pe server
Stochează cheia în configurația mediului sau într-un manager de secrete. Nu trebuie să ajungă niciodată în browser, aplicații mobile, URL-uri, jurnale, evenimente de analiză sau depozite de cod. Website-ul comunică cu backendul tău, iar backendul comunică cu Nexus.
Tot backendul tău este singurul care poate marca o comandă drept paid_online, după confirmarea încasării de către procesatorul de plăți. Nexus are încredere în această declarație deoarece este autentificată cu cheia ta.
Locații și medii
GET /v1/connections listează conexiunile activate pentru cheia ta, cu numele locațiilor și caselor de marcat. Prezintă-le clientului drept locații și folosește ID-ul conexiunii alese în cererile pentru meniu, comandă și stare. Când restaurantul activează o altă locație, aceasta apare în listă folosind aceeași cheie.
Meniurile, ID-urile produselor, reviziile și ID-urile comenzilor aparțin unei singure conexiuni. Nu muta un coș sau o comandă între conexiuni, nici la reîncercare.
Include întotdeauna ID-ul conexiunii
Fiecare URL pentru meniu, comandă sau stare conține un ID de conexiune, chiar dacă ai o singură locație.
- Fără ID de conexiune:
400 connection_required. - ID necunoscut, dezactivat sau care aparține altei companii:
404 connection_not_found. - Nicio conexiune activată încă:
GET /v1/connectionsîntoarce{"connections": []}. Păstrează finalizarea comenzii dezactivată până când restaurantul activează o conexiune.
În niciunul dintre aceste cazuri nu se creează o comandă.
Înlocuiește o cheie
Solicită o cheie nouă de la Nexus, actualizează secretul din backend și verifică dacă poți citi un meniu. Cheia veche nu mai funcționează imediat, în nicio locație; meniurile, ID-urile conexiunilor și ID-urile comenzilor rămân neschimbate. Restaurantul poate dezactiva o singură locație fără să le afecteze pe celelalte, iar reactivarea păstrează ID-ul conexiunii.
Această documentație și /openapi.json sunt publice și conțin doar date fictive pentru exemple.