Przejdź do głównej zawartości

Dokumentacja API

Wszystkie trasy API znajdują się w src/app/api/. Uwierzytelnianie jest obsługiwane poprzez sesje JWT Auth.js.

API Sprzedającego

Członkostwo i panel

MetodaEndpointOpis
GET/api/seller/membershipPobierz status członkostwa bieżącego użytkownika w organizacji
GET/api/seller/dashboardPobierz statystyki panelu (aktywne zamówienia, oczekujące zapytania, zarobki, ocena)
GET/api/seller/requestsPobierz zapytania o torty pasujące do możliwości organizacji sprzedającego
GET/api/seller/ordersPobierz zamówienia sprzedającego (zapytanie: ?filter=all|active|completed|cancelled)

Profil

MetodaEndpointOpis
GET/api/profilePobierz profil bieżącego użytkownika
PATCH/api/profileZaktualizuj profil (imię, telefon, imageUrl)

API Organizacji

MetodaEndpointOpis
POST/api/organisationsUtwórz nową organizację
GET/api/organisations/{id}Pobierz szczegóły organizacji
GET/api/organisations/{id}/fullPobierz organizację z liczbą portfolio i statusem konfiguracji
PATCH/api/organisations/{id}Zaktualizuj ustawienia organizacji lub przełącz status aktywności
GET/api/organisations/searchWyszukaj organizacje (zapytanie: ?q=searchTerm)

Portfolio

MetodaEndpointOpis
GET/api/organisations/{id}/portfolioLista elementów portfolio
POST/api/organisations/{id}/portfolioDodaj element portfolio (imageUrl, caption)
PUT/api/organisations/{id}/portfolioZmień kolejność elementów portfolio
DELETE/api/organisations/{id}/portfolio/{itemId}Usuń element portfolio

Członkowie

MetodaEndpointOpis
GET/api/organisations/{id}/membersLista członków organizacji
POST/api/organisations/{id}/membersPoproś o dołączenie do organizacji
PATCH/api/organisations/{id}/members/{userId}Akcja członka: approve, reject, remove, transfer_admin

API Ofert

MetodaEndpointOpis
POST/api/offersUtwórz ofertę dla zapytania
PATCH/api/offers/{id}/withdrawWycofaj oczekującą ofertę

API Zamówień

MetodaEndpointOpis
PATCH/api/orders/{id}/statusZaktualizuj status zamówienia (ready, delivered — in_progress ustawia automatycznie cron start-work)
PATCH/api/orders/{id}/mark-paid-offlineOznacz dopłatę jako zapłaconą offline (body: { method: 'cash' | 'card_at_pickup' })
PATCH/api/orders/{id}/cancelAnuluj zamówienie (body: { reason: string })

API Płatności

MetodaEndpointOpis
GET/api/payments/org/{id}/earningsPobierz podsumowanie zarobków (ten miesiąc, ostatni miesiąc, ogółem, oczekujące)
GET/api/payments/org/{id}/historyPobierz historię płatności (zapytanie: ?type=all|deposit|balance|refund)
POST/api/payments/stripe-connect/onboardRozpocznij onboarding Stripe Connect (zwraca URL przekierowania)

API Wiadomości

MetodaEndpointOpis
GET/api/messages/order/{orderId}Pobierz wiadomości dla zamówienia
GET/api/messages/offer/{offerId}Pobierz wiadomości dla oferty
POST/api/messagesWyślij wiadomość

API Opinii

MetodaEndpointOpis
POST/api/reviewsUtwórz opinię (ocena + komentarz)

API Obrazów

MetodaEndpointOpis
POST/api/images/generate-sellerWygeneruj obrazy tortów AI dla ofert sprzedającego

API Gości

MetodaEndpointOpis
POST/api/guest/convertPrzekształć sesję gościa w pełne konto użytkownika

API Administratora

MetodaEndpointOpis
GET/api/admin/statsPobierz statystyki całej platformy
GET/api/admin/ordersPobierz wszystkie zamówienia (z filtrami)

Endpointy Cron

Te endpointy powinny być wywoływane okresowo przez zewnętrzny harmonogram:

MetodaEndpointCzęstotliwośćOpis
POST/api/requests/expireCo kilka minutWygaszaj aktywne zapytania starsze niż 24 godziny
POST/api/offers/expire-holdsCo kilka minutUsuwaj wygasłe 10-minutowe blokady
POST/api/orders/start-workCo godzinęPrzełącz zamówienia deposit_paid na in_progress 3 dni przed datą tortu; powiadom kupującego i sprzedającego
POST/api/orders/escrow-releaseCo kilka minutAutomatyczne zwolnienie depozytu po 3 dniach