Integration
Integrating Exponential with other systems: the APIs, feeds, imports, exports and search.
53 pages
- Cronjobs for integrations Scheduling integration work with Exponential's cronjob parts - a part of your own, the script as a class, the crontab line per siteaccess, locking against overlapping runs, pausing a part during maintenance, and…
- Workflows and triggers as integration hooks Using workflow events on triggers as the "on publish" hook of an integration - before and after triggers, an outbox event that queues changes for a cronjob, an external check that accepts or rejects a publication…
- Event listeners for integrations Reacting to kernel events with ezpEvent listeners - which events are useful to an integration (caches cleared, object states, notifications, sessions), attaching a listener in settings, a CDN purge example, the…
- Outgoing webhooks from the audit trail Using the audit trail's signed webhook sink as an outgoing event feed - what it sends, how to route content events such as content.object.publish to it, the HMAC signature and how a receiver checks it, delivery with…
- Mail and notifications integration Connecting Exponential to mail servers and mail providers - the sendmail, SMTP and file transports, a transport class of your own for a provider's HTTP API, the mail gate and preferences, notifications and their…
- Forms and collected information Getting form answers, polls and lead forms out of Exponential into a CRM or another system - how information collection works, collect.ini, the CSV export and bccie, reading new collections from PHP in a cronjob, mail…
- Login handlers - LDAP, textfile and your own Letting people sign in to Exponential with an account that lives in a directory or another system - how the chain of login handlers works, the LDAP handler and its group mapping, the textfile handler, writing a login…
- Single sign-on and social login What Exponential offers for single sign-on - the SingleSignOnHandlerArray hook, social login as an OAuth 2.0 client in sevenx_authentication_2fa, putting a SAML or OpenID Connect proxy in front of the site - and what it…
- Search engine integration How site search is wired in Exponential and how to connect an external search service - the built-in engine, the ezpSearchEngine plugin interface, Solr through ezfind and exp:solr, delayed indexing, reindexing after…
- Payment gateways and the shop Integrating the shop module with payment providers and ERP systems - how payment gateways plug into the checkout workflow, registering a gateway of your own, the ezpaypal extension as a model, passing orders to an ERP…
- AI providers, the job queue and MCP What Exponential offers for connecting AI providers and background work - expai (Exponential Intelligence) with Anthropic, OpenAI-compatible services and local models, expqueue as a job queue for integrations, the…
- Integration patterns: push and pull, batch and real time The basic integration patterns applied to Exponential - who starts the exchange (push or pull), how often (batch or near real time), delta and full runs, outbox and inbox, polling with a watermark, and which Exponential…
- Idempotent imports keyed by remote_id Making imports safe to run any number of times - the remote_id of objects and nodes, a naming scheme for keys, the create-or-update function with change detection, handling records removed at the source, and what to do…
- Mapping content classes to external data Turning records of another system into content objects - designing the class, choosing datatypes, the fromString() text formats of the common datatypes, images and files from a DAM, relations, languages, locations, and…
- Writing an import script A complete, worked import for Exponential - reading a CSV export of an ERP, running as a service account, create-or-update by remote_id with change detection, a dry run, batches and memory, a safety stop, logging and a…
- Writing an export or an outbound sync Getting content out of Exponential into another system - a full export of a subtree page by page, an outbox sender that delivers changes with retries, the payload, HTTP calls with timeouts, signing, and marking what was…
- Migrating content from another CMS Moving the content of another content management system into Exponential as an integration project - inventory, mapping, the import approach, internal links and media, users, redirects for old addresses, rehearsals, the…
- Error handling and logging in integrations How an integration should fail, retry and leave a trace in Exponential - classes of errors, retries and dead letters, transactions, eZDebug and eZLog, the log files under var/log, error references, the log viewer and…
- Security for integrations The security rules an Exponential integration must follow - credentials never in Git, settings/override and the environment, least privilege for service accounts, transport security, input from other systems treated as…
- Service accounts, roles and policies Giving an integration exactly the rights it needs - a service account per integration, a user group and a role of its own, the policies typical integrations need (content read, create, edit, remove, apikey/create…
Documentation license
This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.
Exponential Copyright © 1998-2026 Exponential Foundation and 7x