Skip to content

Other integrations

Needs review

Needs review: Both integrations register their event listeners at application boot only when package_status is enabled; confirm that changing package_status in the panel takes effect on the next request in the deployed setup (PHP-FPM, queue workers).

Two integrations are installed with the API but have no admin screens. They react to platform events and are configured on their tabs in Settings, through the package configuration API (POST /api/admin/config) or in the config files. Both are disabled by default.

The mailerlite package keeps MailerLite subscriber groups in sync with what users do:

Event Action
AccountConfirmed (the user verified the account) add to the registered users group, only if the user’s newsletter attribute is true
ProductBought add to the paid orders group
AbandonedCartEvent add to the abandoned cart group
OrderCreated remove from the abandoned cart group
AccountBlocked delete the subscriber

Groups are found by name and created in MailerLite if they do not exist.

On the Package Mailer Lite tab of Settings (config file ulams_mailer_lite):

Key Default Meaning
package_status disabled enabled turns the listeners on
api_key none the MailerLite API key
newsletter_field_key newsletter the user attribute that holds newsletter consent, for example a boolean user field
group_registered_group Registered users group for confirmed accounts
group_order_paid Users with paid orders group for buyers
group_left_cart Left cart group for abandoned carts
  1. Create a boolean user field named newsletter (or set newsletter_field_key to an existing field) so that registration can record consent.
  2. Enter the api_key.
  3. Set package_status to enabled.

The mattermost package creates Mattermost accounts for users and adds them to a channel per course and per webinar:

Event Action
AccountConfirmed create the user in Mattermost
AccountDeleted remove the user
AccountBlocked block the user’s Mattermost account
CourseAssigned / CourseUnassigned add the learner to the course channel as a member, or remove them
CourseTutorAssigned / CourseTutorUnassigned add the tutor to the course channel as a channel admin, or remove them
WebinarUserAssigned / WebinarUserUnassigned add the participant to the webinar channel, or remove them
WebinarTrainerAssigned / WebinarTrainerUnassigned add the trainer to the webinar channel as a channel admin, or remove them

Signed-in users can call GET /api/mattermost/me, GET /api/mattermost/reset_password and GET /api/mattermost/generate_credentials to get or reset their Mattermost credentials, for example from a “Open chat” button in a learner app.

On the Package Mattermost tab of Settings (config file mattermost):

Key Meaning
package_status enabled turns the listeners on (default disabled)
servers.default.host the Mattermost server host
servers.default.login, servers.default.password an administrator account the API uses

The same values can come from the environment: MATTERMOST_HOST, MATTERMOST_LOGIN, MATTERMOST_PASSWORD (and MATTERMOST_SERVER, MATTERMOST_AUTH, MATTERMOST_TOKEN for a token-based server entry); see Environment variables.