Přeskočit na hlavní obsah

CoreAPI — Integrace

Zdroj

Analýza vychází z OpenAPI specifikace coreapi_online.json (CoreApi /online/ v17.0.0.0). Kompletní raw data: context/analysis/coreapi-analysis.md.

Colosseum CoreAPI je transakční backend pro zákaznickou zónu. APP s ním komunikuje přímo pro operace s košíkem, platbami, objednávkami, účtem a seat map daty.

Endpointy70 ve 13 doménách
AutentizaceJWT token per session (POST /token/create)
FormátREST, JSON (application/json)
Verzev17.0.0.0

Přehled domén

DoménaPočetFázeÚčel
Account9MVPRegistrace, login, OAuth, profil, heslo
Cart20+MVPSpráva košíku — vstupenky, vouchery, balíčky, služby, fees
Cashdesk12MVPSeat map data, cenové kategorie, dostupné doplňky
Catalog6MVPDetaily akcí, tours, okruhů, předplatného, balíčků
Order5MVPVytvoření, detail, storno, seznam, obnovení do košíku
Payment2MVPVytvoření platby, ověření stavu
Sale3MVPProdané položky, seznam prodejů, detail (wallet)
Document4MVPE-vstupenka, e-voucher, e-služba, e-účtenka
Program1TBDSeznam tours
Codebook2MVPČíselníky (země, jazyky)
GroupBook2F2+Skupinové rezervace
Registry1MVPRegistrace firmy
Token1MVPJWT session token

Mapování endpointů na obrazovky

Account

EndpointMetodaObrazovkyFáze
/accountGETP9 Účet, S14 EditaceMVP
/account/loginPOSTS4 PřihlášeníMVP
/account/login-by-providerPOSTS4 (OAuth)MVP
/account/registrationPOSTS5 RegistraceMVP
/account/change-passwordPOSTS14 Editace profiluMVP
/account/forgotten-password-preparePOSTS4 (zapomenuté heslo)MVP
/account/forgotten-password-finishPOSTS4 (zapomenuté heslo)MVP
/account/logoutGETP9 ÚčetMVP
/account/set-languagePOSTS14 NastaveníMVP

Cashdesk (seat map)

EndpointMetodaObrazovkyFáze
/cashdesk/event/{eventId}GETP4 Seat Map — sedadla s koordinátyMVP
/cashdesk/event/matrix/{eventId}GETP4 (maticové rozložení)MVP
/cashdesk/event/state/{eventId}GETP4 (refresh stavů, polling)MVP
/cashdesk/tour/{tourId}GETP4 varianta pro toursTBD
/cashdesk/non-timed-circuitGETS1 varianta pro circuitsTBD
/cashdesk/subscription/{subscriptionId}GETS11 Předplatné (sál)MVP
/cashdesk/servicesGETP5 Košík (doplňky)F1
/cashdesk/vouchersGETP5 Košík (dostupné vouchery)MVP
/cashdesk/credit-packagesGETF1 Věrnostní hubF1
/cashdesk/goodsGETF2+ Doplňkový prodejF2+

Cart

EndpointMetodaObrazovkyFáze
/cartGETP5 Košík — kompletní stavMVP
/cart/deleteDELETEP5 (zrušení košíku)MVP
/cart/set-personPOSTS2 Osobní údaje, P6 guest checkoutMVP
/cart/ticket/add/eventPOSTP4P5 (přidání adresných)MVP
/cart/ticket/add/event-non-numberedPOSTS1P5 (neadresné)MVP
/cart/ticket/add/tourPOSTP4/S1 (tour vstupenky)TBD
/cart/ticket/removePOSTP5 (odebrání)MVP
/cart/ticket/set-customer-categoryPUTP5 (student, senior...)MVP
/cart/ticket/set-voucherPOSTP5 (per-ticket voucher)MVP
/cart/voucher/addPOSTP5 (cart-level voucher)MVP
/cart/voucher-payment/addPOSTP6 (voucher jako platba)MVP
/cart/service/setPOSTP5 (přidání služby)F1
/cart/goods/addPOSTF2+ (doplňkový prodej)F2+

Order + Payment + Sale

EndpointMetodaObrazovkyFáze
/order/createPOSTP6 CheckoutMVP
/order/listPOSTS7 Historie objednávekMVP
/order/{orderNumber}GETS7, X1/X2 Thank youMVP
/order/cancel/{orderNumber}GETS7 (storno)MVP
/order/restore-to-cart/{orderNumber}GETS7 (obnova)MVP
/payment/createPOSTP6 CheckoutMVP
/payment/verifyPOSTX1/X3 (ověření platby)MVP
/sale/itemsPOSTP7 Wallet, S7 HistorieMVP
/sale/listPOSTS7 HistorieMVP
/sale/{saleNumber}GETS8 Detail vstupenkyMVP
/document/eticketPOSTP7 Wallet, S8 DetailMVP
/document/evoucherPOSTP7 (e-voucher)MVP
/document/ebillPOSTS8 (e-účtenka)MVP

Data model alignment — PRD vs CoreAPI

PRD entitaCoreAPI schemaKlíčové rozdíly
EventEventProgramItemAPI rozlišuje title_id a event_id. Má event_tag_name/color. Galerie, video, credits — v DatoCMS.
Hall / Seat mapHallSeatOnline + HallSectionJSON koordináty (x1,y1,x2,y2), ne SVG. Sedadla mají rotaci a barvu.
Ticket type (dospělý/student)CustomerCategoryPRD říká "typ vstupného", API říká "customer category" s discount_type/value.
Cenová kategoriePriceCategoryLokační kategorie s barvou a abbreviation.
Voucher / kupónVoucherTrojí typologie: per-ticket, cart-level, platební. DiscountType: Percent, ByAmount, ToAmount.
— (PRD nemá)PackageBalíčky vstupenek (rodinný, combo). Numbered i non-numbered.
— (jen OQ)Tour / CircuitProhlídkové vstupenky — API plně podporuje.
OrderOrderPre-payment objednávka. Může být cancelled, restored to cart.
— (PRD nerozlišuje)SalePost-payment prodej. Vstupenky s barcodes, dokumenty.
E-vstupenkaTicketOnlineDva identifikátory: number (tištěné) a barcode (QR pro skenování).
Věrnostní programLoyaltyProgram4 typy: Points, TicketCount, Revenue, EventCount. LoyaltyProgramPoints = platební metoda.

Nové poznatky z API

1. Seat map = JSON koordináty

API vrací sedadla jako HallSeatOnline s x1, y1, x2, y2 (obdélníkové koordináty), color (#AARRGGBB), rotation (stupně). Sály mají sekce s tvary (Rectangle, Triangle, Quadrilateral, Ellipse). Na klientu se renderuje Canvas/SVG z těchto JSON dat.

2. Trojí voucher typologie

  1. Per-ticket (/cart/ticket/set-voucher) — voucher přiřazený ke konkrétní vstupence
  2. Cart-level (/cart/voucher/add) — voucher na celou objednávku
  3. Platební (/cart/voucher-payment/add) — voucher jako platební metoda (dárkový poukaz)

Kupóny JSOU kumulativní — per-ticket + cart-level + payment voucher na jedné objednávce.

3. Order vs Sale lifecycle

API rozlišuje:

  • Order — pre-payment (může být cancelled, restored to cart)
  • Sale — post-payment (vstupenky s barcodes, dokumenty)

Flow: order/createpayment/createpayment/verify → Sale.

4. Packages — nový koncept

Balíčky vstupenek (rodinný, combo): cart/package/add, catalog/package/{id}, cashdesk/package. Numbered i non-numbered varianty.

5. Multi-seats (dvojsedadla)

HallSeatOnline.seat_group_id: kladná hodnota = skupina (dvojsedadlo), záporná = single seat. Edge case pro P4 Seat Map.

6. 23+ platebních metod

Kromě karty a Apple/Google Pay: LoyaltyProgramPoints (věrnostní body), BenefitPlus, Pluxee, Edenred, Benefity, Twisto, GoPay, Comgate, eAPI, PayPal, bankovní převod, hotovost (rezervace).

7. Fees jako separátní řádky

Cart a Order mají fees[] — servisní poplatky jako samostatné řádky v objednávce.

8. Tours / Circuits — plná podpora

API má kompletní infrastrukturu pro prohlídky: timed tours + non-timed circuits. ProductType zahrnuje Tour.

9. Barcode vs Ticket Number

TicketOnlinenumber (tištěné číslo) i barcode (QR pro skenování). Pro wallet je klíčový barcode.

10. Server-managed countdown

Cart má validity timestamp — server řídí seat lock timer. Klient zobrazuje countdown z API.


Platební metody (PaymentType enum)

MetodaRelevance pro MA
CardMVP — kartová platba
ApplePayMVP — nativní Apple Pay
GooglePayMVP — nativní Google Pay
CashMVP — rezervace na pokladnu
BankTransferMVP — bankovní převod
GPWebPay, Gopay, eAPI, ComgateMVP — platební brány (dle konfigurace)
VoucherMVP — voucherová platba
LoyaltyProgramPointsF1 — věrnostní body jako platba
BenefitPlus, Pluxee, Edenred, BenefityVolitelné — zaměstnanecké benefity
PayPalVolitelné
TwistoVolitelné — odložená platba

Vyřešené otevřené otázky

OQOtázkaOdpověď z CoreAPI
OQ-01-01Prohlídkové vstupenky v MVP?API plně podporuje tours + circuits. Rozhodnutí je business scope, ne tech bariéra.
OQ-01-03Kupóny — kumulativnost?Ano. Per-ticket + cart-level + payment voucher = N voucherů na objednávku.
OQ-01-04Seat map formát?JSON s koordináty (x1,y1,x2,y2), barva #AARRGGBB, rotace. Ne SVG.
OQ-01-05Servisní poplatek?Ano, jako fees[] v cart/order. Separátní řádky s FeeType.
OQ-T-01Formát seat map dat?Viz OQ-01-04 — JSON koordináty, rendering na klientu.