Maskinläsbara resurser
| Resurs | URL | Beskrivning |
|---|---|---|
| API-katalog | https://www.denira.io/.well-known/api-catalog | Maskinläsbar katalog enligt RFC 9727 med länkar till dokumentation, OpenAPI och status. |
| OpenAPI | https://www.denira.io/openapi/public-booking.json | OpenAPI 3.1 för de publika boknings- och discovery-endpoints som listas nedan. |
| Status | https://www.denira.io/api/health | Publik statusendpoint för övervakning. |
| MCP-serverkort | https://www.denira.io/.well-known/mcp/server-card.json | Serverkort för Deniras publika MCP-server, som beskriver denira.io. |
| Agent skills | https://www.denira.io/.well-known/agent-skills/index.json | Index över Deniras publika agent skills med SHA-256-summor. |
Publika endpoints
| Metod | Sökväg | Beskrivning |
|---|---|---|
| GET | /api/health | Statuskontroll. |
| POST | /api/public-booking/cart/bootstrap | Skapar gästens kundvagn och sätter kundvagnens token som cookie. |
| GET | /api/public-booking/cart | Gästens kundvagn i bokningen. |
| POST | /api/public-booking/reservations | Håller platser medan gästen betalar. |
| POST | /api/public-booking/checkout/stripe | Skapar en betalning i Stripe Checkout. |
| POST | /api/public-booking/checkout/invoice | Skapar en bokning som betalas med faktura. |
| POST | /api/public-booking/vouchers/preview | Kontrollerar en rabattkod eller ett presentkort mot bokningen. |
Autentisering
Endpoints ovan behöver ingen inloggning. Kundvagnen, reservationerna och kassan hör till en kundvagnstoken. POST /api/public-booking/cart/bootstrap skapar den och sätter cookien denira_public_booking_cart. Utan cookie kan du skicka token i headern x-denira-cart-token. Token har inget med inloggningen i admin att göra.
Utan token ger GET /api/public-booking/cart en tom kundvagn, reservationer och kassa svarar 400, och kontrollen av rabattkoder svarar 403 när reservationerna inte hör till token.
Denira publicerar inte OAuth- eller OIDC-metadata för admin, eftersom det inte finns någon OAuth-resurs för agenter än.
Exempel
Skapa en kundvagn och hämta den med dess token. merchantId är anläggningens id i Denira.
curl -X POST https://www.denira.io/api/public-booking/cart/bootstrap \
-H "Content-Type: application/json" \
-d '{"merchantId": "<anläggningens id>", "locale": "sv"}'
# Svar: {"success": true, "cartToken": "…"}
# Och cookien: denira_public_booking_cart=…curl https://www.denira.io/api/public-booking/cart \
-H "x-denira-cart-token: <cartToken>"