Teraz z AI - twórz strony przez serwer MCP

Commerce

Produkty to rekordy modelu, koszyk to publiczna przestrzeń mutacji wołana przez Twój sklep, a zamówienia żyją w panelu.

cmssy ma koszyk, zamówienia, rabaty i pipeline zamówień. Nic z tego nie jest osobnym obszarem produktu: produkt to rekord modelu, sklep rozmawia z tym samym API dostawczym co reszta, a biurkiem zamówień jest panel.

Ta możliwość to flaga planu - canUseCart w get_workspace_info - więc odczytaj ją, zamiast zakładać.

Produkty to rekordy

W cmssy nie ma typu "produkt". Tworzysz model - product, plan, ticket, cokolwiek jest Twoim katalogiem - a konfiguracja koszyka w workspace mapuje ten model do koszyka przez źródło produktów: który model, które pole to cena, które to stan magazynowy, które to warianty.

Dlatego katalog może pochodzić z więcej niż jednego modelu naraz i dlatego ten sam blok, który renderuje dowolny rekord, renderuje produkt.

Co może wołać sklep

Przestrzeń cart jest publiczna: bez tokenu, w zakresie sesji, i jest jedyną częścią API dostawczego, która zapisuje.

  • cart.get(workspaceId) - pozycje, subtotal, tax, shippingTotal, discountedTotal, totalGross, currency, pricesIncludeTax, availableShippingMethods, appliedDiscount, taxSummary.
  • cart.addItem - { recordId, quantity, variantSelections, notes }. Pozycja to referencja do rekordu, nie jego kopia.
  • cart.updateItem, cart.removeItem(itemId), cart.clear.
  • cart.applyDiscount(code), cart.removeDiscount, cart.setShippingMethod(shippingMethodId).
  • cart.merge - scala anonimowy koszyk sesji z koszykiem zalogowanego członka. Wołaj raz, zaraz po uwierzytelnieniu.
  • cart.checkout - { customerEmail, customerNote, poNumber, shippingAddress } zamienia koszyk w zamówienie.

Sumy wracają policzone. Nie dodawaj cen pozycji w przeglądarce: tryb podatku, rabaty i wysyłka rozstrzygają się po stronie serwera, a druga implementacja we froncie to druga odpowiedź.

Status zamówienia bez konta

public.order.byToken zwraca jedno zamówienie - orderNumber, items, paymentStatus, fulfillmentStatus, amountPaid, balanceDue, invoiceUrl - dla tokenu wydanego przy checkoucie. Tak działa strona "śledź zamówienie" dla gościa.

Co konfiguruje workspace

public.siteConfig.publicCart to bezpieczna dla sklepu projekcja ustawień koszyka: defaultCurrency, pricesIncludeTax, taxRates, shippingMethods, productSources, maxItemsPerCart, maxQuantityPerItem, enableSavedCarts, enableQuoteRequests. Odczytaj ją raz i pozwól jej kształtować UI - format waluty, limity ilości, to czy w ogóle oferujesz zapytanie ofertowe.

Zamówienia to zaplecze

Wszystko po checkoucie wymaga autoryzacji: panel albo serwer MCP z tokenem, którego rola na to pozwala. Zamówienia można listować i czytać, tworzyć ręcznie, edytować pozycja po pozycji, oznaczać jako opłacone w całości lub częściowo, zwracać, anulować, przeprowadzać przez realizację, wystawiać im fakturę i przesuwać po konfigurowalnym pipelinie. Rabaty tworzy się, aktualizuje i włącza tak samo; produkty da się zmieniać i usuwać hurtem albo nadać im progi cenowe.

Dostawcy płatności nie są tego częścią: cmssy zapisuje, co się stało - mark_order_paid, record_order_payment, refund_order - a Twoja integracja decyduje, kiedy się stało.

Następne kroki