API — przegląd
Web i iOS korzystają ze wspólnego Django Ninja API. Produkcyjny adres bazowy:
https://splotweselny.pl/api/v1
Grupy endpointów
| Prefiks | Zakres |
|---|---|
/health | Stan usługi, bez autoryzacji. |
/auth | Logowanie, profil, zespół, zaproszenia i wylogowanie. |
/events | Wesela, zadania, run sheet, dostawcy, goście, gospodarstwa i płatności. |
/broadcasts | Komunikaty operacyjne i potwierdzenia. |
W środowisku deweloperskim interaktywny schemat Django Ninja jest dostępny pod /api/v1/docs. W produkcji interaktywna strona jest wyłączona.
Format
- JSON w żądaniach i odpowiedziach;
- UUID jako tekst;
- daty
YYYY-MM-DD; - daty z czasem w ISO 8601;
- kwoty dziesiętne jako wartości JSON zgodne ze schematem;
- pola w
snake_case; - kodowanie UTF-8.
Kody odpowiedzi
| Kod | Znaczenie |
|---|---|
| 200 | Odczyt albo aktualizacja zakończona. |
| 201 | Utworzono zasób. |
| 204 | Operacja bez treści odpowiedzi, np. logout. |
| 401 | Brak lub nieprawidłowy token. |
| 403 | Rola nie pozwala na operację. |
| 404 | Zasób nie istnieje albo nie należy do organizacji. |
| 409 | Konflikt rewizji lub termin RSVP minął. |
| 410 | Publiczny link wygasł. |
| 422 | Dane nie spełniają reguł biznesowych lub schematu. |
| 429 | Zbyt wiele prób logowania. |
Błąd biznesowy ma prosty kształt:
{"detail": "Only accepted guests can be checked in"}
Granica tenantów
Identyfikator UUID nie nadaje dostępu. Wszystkie endpointy operatora rozwiązują zasób przez organizację bieżącego członkostwa. Dla niedostępnego rekordu API zwykle zwraca 404, bez potwierdzania jego istnienia w innym tenancie.
Przejdź do Autoryzacji albo Guest Operations API.