"Every personalised message is a template with names filled in."
The Problem Today
There is no local variable substitution engine. Providers that do not support server-side templating (or where a pre-approved provider template is not available) require the application to prepare the fully-rendered content manually.
What We Are Building
A local rendering engine that resolves an IMessageTemplate with a set of variable values, producing a fully-rendered IMessageContent. The engine supports simple named placeholder substitution (e.g. {{first_name}}), type-safe variable binding, and missing-variable handling (fail-fast or fallback value). The rendered content is then sent through the normal connector send path.
Benefits
- Applications send template + variables; the framework handles rendering
- Missing variables and type mismatches are caught at render time, not at provider API time
- Local rendering works for any connector, regardless of whether the provider supports server-side templates
The Problem Today
There is no local variable substitution engine. Providers that do not support server-side templating (or where a pre-approved provider template is not available) require the application to prepare the fully-rendered content manually.
What We Are Building
A local rendering engine that resolves an
IMessageTemplatewith a set of variable values, producing a fully-renderedIMessageContent. The engine supports simple named placeholder substitution (e.g.{{first_name}}), type-safe variable binding, and missing-variable handling (fail-fast or fallback value). The rendered content is then sent through the normal connector send path.Benefits