The Acoustic Campaign SendMailing API requires all personalization data to be present in the Acoustic Campaign database before triggering an email send. You cannot pass dynamic personalization data directly in the API call without first storing it in the database.
How to send personalized emails with new data
If the personalization data does not yet exist in your database, use the following two-step process:
- Call the AddRecipient API to create or update the contact record with the required personalization values. This ensures the database contains all necessary fields before the email is sent.
- Call the SendMailing API to trigger the email send using the newly updated contact information.
This two-API approach is required because Campaign evaluates personalization tokens against database values at send time.
Real-time event-driven use cases
For use cases that require real-time email delivery triggered by external events — for example, Kafka streams containing dynamic data values — the recommended workflow is to update the database first via AddRecipient, then immediately trigger SendMailing. While this adds an extra API call, it ensures data consistency and allows full use of Campaign's personalization capabilities.
When to consider Acoustic Transact instead
If you need to send transactional emails with on-the-fly personalization without database storage requirements, Acoustic Transact may be a better fit. However, note that Acoustic Transact does not integrate with Unica platforms, which may be a limitation depending on your technology stack.
Note: Alternative approaches that attempt to bypass database storage are not supported by the current Campaign architecture.