Test: FluentCart / Integrări / FluentBooking

Dovadă: Integrare FluentCart ↔ FluentBooking

Testat LIVE pe fluent.safebiz.ro — combo aprobat de taki în Plugin Lab (integration-matrix/selection.json, status approved_by_taki).

Ce demonstrează

Spre deosebire de integrările tip “feed” (ex. FluentCRM), FluentBooking↔FluentCart NU e o integrare configurabilă din ecranul de Integrări al FluentCart — nu apare în GET /integration/global-feeds nici în GET /integration/addons (reconfirmat live acum, consistent cu descoperirea din #3343). Wiring-ul real e cod-la-cod, inițiat de partea FluentBooking:

  • add_action('fluentcart_loaded', ...) — FluentBooking își înregistrează un modul de integrare dedicat (Services/Integrations/FluentCart/Bootstrap) DOAR când detectează FluentCart activ.
  • GET /wp-json/fluent-booking/v2/integrations/options/cart-products200 confirmat LIVE — controller-ul FluentBooking (FluentCartController::getCartProducts) interoghează direct modelele Eloquent ale FluentCart (CartProduct, CartProductVariant) cross-plugin, fără eroare fatală.
  • Filtrul fluent_cart/item_attributes (partea FluentCart, AttributeHelper::getProductItemAttributes) — punct de extensie pregătit explicit pentru FluentBooking (exemplu în docblock: cheia fluent_booking_start), pe care FluentBooking l-ar folosi la afișarea orei de rezervare pe linia de comandă.
  • Rutele scriere FluentBooking (saveEventCartSettings, createProduct) leagă un eveniment de calendar de un produs FluentCart plătit — bidirecțional, nu doar cosmetic.

Limitare onestă a testului

Site-ul de test (family-lab) are în acest moment 0 calendare/evenimente FluentBooking configurate și un singur produs FluentCart, în stare draft — deci items din options/cart-products a răspuns gol (corect: query-ul filtrează explicit publish/private). Fluxul complet de checkout (rezervare plătită → redirect FluentCart → confirmare → status scheduled) rămâne ⚠️ NETESTAT end-to-end — ar necesita un calendar + eveniment plătit + produs publicat, în afara scope-ului acestui test (GET-only, fără scriere pe automation-policy fluent-booking, care e absentă complet).

Clasificare corectată din cod (Faza 1 selection.json marca “glue” doar din perspectiva FluentCart): integrarea are de fapt o clasă de integrare dedicată completă pe partea FluentBooking (payment driver, checkout redirect, receipt, admin order log) — echivalentă ca profunzime cu o integrare “nativă”, confirmată acum live la nivel de reachability REST.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *