The problem

The client was migrating from Mailchimp to Acoustic. This included the need for deep integration between Drupal and Acoustic for all user registrations and profile updates. Every time a new user registers on the Drupal site, or edits their account profile, their registration data needed to be pushed to Acoustic.

There are multiple Drupal profiles and only some of them are exposed to the user when they register (or edit their account), depending on the segment they belong to.

It is a high-volume site with a relatively substantial number of daily registrations. Therefore, the solution needed to be scalable, and not place additional burdens on the server.

The solution

We leveraged the Acoustic XML API to push the user registration data to Acoustic. Acoustic is a database-centric solution, with databases and relational tables. The client has multiple teams, synced applications and use cases that interact with Acoustic. We architected the Acoustic solution to handle the multiple use cases, with one core database and multiple tables.

A custom Drupal module was created for the Acoustic API integration. This included a new Drupal Service to handle the bulk of the integration with Acoustic.

To ensure high performance and scalability, we utilised Drupal’s Queue API. When a user registers, or updates their profile, the data is added to a queue rather than calling the Acoustic API in real time. The queue is then run at regular intervals and within a specific time constraint, to limit the impact on the server. This means that even during periods of high numbers of user registrations, it won’t overwhelm the server or the API endpoint.

Systems integrated

  • Acoustic
  • Drupal

Need something like this?

If you want something like this for your membership business, we’d love to talk to see if we are a good fit. Just fill in this form

with a few details, and we’ll get back to you as soon as possible.

Similar Posts