API Reference
REST API — wszystkie endpointy backendu Foodyo.
Wszystkie endpointy są prefixowane
/api. Endpointy wymagające autoryzacji oczekują nagłówka Authorization: Bearer <token>.#Autoryzacja
| Metoda | Endpoint | Opis |
|---|---|---|
| POST | /api/auth/register-temp | Rejestracja (email + kod weryfikacyjny) |
| POST | /api/auth/login | Logowanie hasłem → JWT token |
| POST | /api/auth/login-with-code | Wysyła kod logowania na email |
| POST | /api/auth/verify-email | Weryfikacja kodu → sesja (JWT) |
| POST | /api/auth/set-password | Ustawienie / reset hasła (po weryfikacji kodem) 🔒 |
| GET | /api/auth/me | Dane zalogowanego użytkownika 🔒 |
#Projekt / Draft
| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /api/project/list | Lista projektów użytkownika 🔒 |
| GET | /api/project/:id | Szczegóły projektu 🔒 |
| POST | /api/project/create | Tworzenie nowego projektu |
| PUT | /api/project/:id | Aktualizacja draftu 🔒 |
| DELETE | /api/project/:id | Usunięcie projektu 🔒 |
| POST | /api/project/:id/claim | Powiązanie projektu z kontem 🔒 |
#Publikacja
| Metoda | Endpoint | Opis |
|---|---|---|
| POST | /api/publish/:id | Publikuje draft jako stronę 🔒 |
| GET | /api/publish/:id/status | Status publikacji 🔒 |
#Zamówienia
Publiczne requesty używają parametru
projectId w query lub body; nagłówek x-project-id jest legacy fallback.| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /api/orders/v2 | Lista zamówień (Prisma) 🔒 |
| GET | /api/orders/v2/:id | Szczegóły zamówienia 🔒 |
| POST | /api/orders/v2 | Złożenie zamówienia (checkout) |
| PATCH | /api/orders/v2/:id/status | Zmiana statusu 🔒 |
| PATCH | /api/orders/v2/:id/accept | Przyjęcie zamówienia 🔒 |
| PATCH | /api/orders/v2/:id/reject | Odrzucenie zamówienia 🔒 |
| GET | /api/orders/v2/public/:token | Śledzenie (publiczne, token) |
| GET | /api/orders/v2/:id/kitchen-pdf | PDF do kuchni 🔒 |
#Strefy dostawy
| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /api/delivery-zones/:projectId | Lista stref dostawy 🔒 |
| POST | /api/delivery-zones/:projectId | Tworzenie strefy 🔒 |
| PUT | /api/delivery-zones/:projectId/:zoneId | Aktualizacja strefy 🔒 |
| DELETE | /api/delivery-zones/:projectId/:zoneId | Usunięcie strefy 🔒 |
| POST | /api/delivery-zones/:projectId/check | Sprawdzenie adresu w strefie |
#Ustawienia
| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /api/settings/:projectId | Pobranie ustawień 🔒 |
| PUT | /api/settings/:projectId | Aktualizacja ustawień 🔒 |
| PUT | /api/settings/:projectId/domain | Konfiguracja domeny 🔒 |
#Media
| Metoda | Endpoint | Opis |
|---|---|---|
| POST | /api/media/upload | Upload pliku (zdjęcia) 🔒 |
| GET | /api/media/:projectId | Lista plików 🔒 |
| DELETE | /api/media/:projectId/:fileId | Usunięcie pliku 🔒 |
#Strona publiczna
| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /api/site/:projectId/data | Dane opublikowanej strony |
| GET | /api/site/:projectId/menu | Menu restauracji (publiczne) |
| GET | /api/site/:projectId/contact | Dane kontaktowe (publiczne) |
| GET | /api/site/:projectId/settings | Ustawienia publiczne (godziny, typy zamówień) |
#Forum / Community
| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /api/community/threads | Lista wątków |
| GET | /api/community/threads/:id | Szczegóły wątku |
| POST | /api/community/threads | Nowy wątek 🔒 |
| POST | /api/community/threads/:id/replies | Odpowiedź w wątku 🔒 |
| POST | /api/community/threads/:id/vote | Głosowanie 🔒 |
#Kody odpowiedzi
| Kod | Znaczenie |
|---|---|
| 200 | Sukces |
| 201 | Utworzono (np. nowy projekt, zamówienie) |
| 400 | Błędne dane wejściowe |
| 401 | Brak autoryzacji (token wygasł / brak) |
| 403 | Brak dostępu (nie twój zasób) |
| 404 | Nie znaleziono |
| 500 | Błąd serwera |
🔒 = wymaga nagłówka Authorization: Bearer <token>