Configuration · Third-party integrations & connectors
The per-centre connector settings: Connectif (marketing automation API URL and key), cinema listings (theatre API and id, app/web channels), blog URL, cashback (admin, client and store-transaction URLs), Tally and custom forms, PAC Virtual receipt capture with Neodoc or Neuro OCR, email validation, footfall, and the operator app for the play centre.
| Area | Configuration |
| Routes | configuration.centers.new · configuration.centers.edit |
| Centre modules | app_operator · blog · cashback · connectif · email_validation · form_commerces · forms · movies · tally |
| Staff levels | root · admin · manager · scmanager |
| Models | app-module-custom-forms · app-module-email-validation · app-module-pacv · app-module-tally · module-app-operator · module-blog · module-cashback · module-connectif · module-footfall · module-movies |
| UI label | configuration.center.modules |
| Coverage | 4 use cases · 1 happy · 3 failure |
How it works
Each connector is a module toggle plus parameters, validated with the pattern ‘enabled AND value missing/invalid’. PAC Virtual (‘PACV’) is the receipt-upload channel: it has an application key, an automatic-validation switch, a ticket-notification option, a read-name option and an OCR provider; enabling Neodoc OCR makes its token mandatory (configuration.center.neodoc-ocr.token). onChangeEnablePacv / onChangeEnableAppPacv keep the CRM and app sides consistent. The operator app has its own sub-modules (enums/modules-app-operator), currently the play centre. Search modules (store-search, staff-search, category-search) are also toggled here.
Use cases
Why someone opens this (4)
- Sending customer events to Connectif for marketing automation.
- Showing cinema listings in the app from the theatre’s API.
- Letting customers upload receipts via PAC Virtual with OCR so moderators only check exceptions.
- Enabling a cashback programme with separate admin and client portals.
Path map
flowchart LR F(["Third-party integrations and connectors"]):::feat F --> H1["PAC Virtual with OCR"]:::ok F -.-> X1["OCR enabled without token"]:::bad F -.-> X2["Integration URL malformed"]:::bad F -.-> X3["Wrong API key"]:::bad classDef feat fill:#566066,stroke:#566066,color:#ffffff,font-weight:bold classDef ok fill:#e3f1ea,stroke:#0d6b42,color:#0d4a2e classDef bad fill:#f7e6e2,stroke:#9a2d1c,color:#6e1f13
Happy paths
PAC Virtual with OCR
- Admin enables PACV on the CRM side, which reveals the app PACV section.
- Sets the application key, enables Neodoc OCR and pastes its token.
- Optionally enables automatic validation.
- Saves; uploaded receipts are read by OCR and land in the receipt queue already parsed.
Failure paths
OCR enabled without token
Cause — Neodoc OCR on, token empty.
What happens —
required+configuration.center.neodoc-ocr.token.
Integration URL malformed
Cause — Cashback, Tally, custom forms or chatbase URL fails the regex.
What happens — Per-integration message (
configuration.center.cashback-url.error,.tally-url.error, …).
Wrong API key
Cause — Connectif or theatre API credentials incorrect.
What happens — Not tested at save time; failures surface only in the downstream system.
QA checklist
Tick these off while regression-testing this feature. The boxes are plain Markdown, so progress is visible in git diffs.
- ✅ PAC Virtual with OCR
- ⛔ OCR enabled without token
- ⛔ Integration URL malformed
- ⛔ Wrong API key
Implementation
app/templates/configuration/centers/new.hbsapp/models/center.jsapp/models/module-connectif.jsapp/models/module-movies.jsapp/models/module-blog.jsapp/models/module-cashback.jsapp/models/module-footfall.jsapp/models/app-module-tally.jsapp/models/app-module-custom-forms.jsapp/models/app-module-pacv.jsapp/models/app-module-email-validation.jsapp/models/module-app-operator.jsapp/models/module-app-operator-playcenter.jsapp/serializers/module-neodoc-ocr.js
Translation keys (28)
Key English configuration.center.modulesModules configuration.center.connectifConnectif configuration.center.connectif.api-urlURL configuration.center.connectif.api-keyAPIKEY configuration.center.theatersTheaters configuration.center.theaters.api-urlAPI URL configuration.center.theaters.theater-idTheater ID configuration.center.blogBlog configuration.center.blog.urlURL configuration.center.cashbackCashback configuration.center.cashback.adminAdmin Store Cashback configuration.center.cashback.clientCustomer Cashback configuration.center.cashback.store-transactionsCashback Store transactions configuration.center.crm.pacvPAC Virtual configuration.center.crm.pacv.applicationKeyApplication key configuration.center.crm.pacv.hasAutomaticValidationAutomatic validation configuration.center.neodoc-ocrNeodoc OCR configuration.center.neodoc-ocr.tokenToken configuration.center.neuro-ocrNeuromobile OCR configuration.center.ticket-notificationNotify user of ticket status configuration.center.tallyInterest form configuration.center.crm.custom-formsCustom forms configuration.center.email-validationEmail validation configuration.center.footfallFootfall configuration.center.operator-appApp operator configuration.modules.store-searchSearch store configuration.modules.staff-searchSearch staff configuration.modules.category-searchSearch category
Related
- Same area — Centre list & export · Centre editor (modules, app config, integrations) · Staff member list, deletion & restore · Staff member editor (levels, scope, API token) · Channels · Extra attributes · Email template preview & test send · Dashboard configuration · Influence zones · Server incidents · Server command runner (CLI) · Accessibility statement · Mobile app configuration · Customer login methods (Google, Facebook) · Social wifi & location services
Generated from doc/feature-inventory.json · id config-integrations · commit 276788ca6