Manages reusable email and SMS templates for Chimes.
Templates separate reviewed message content from recipient data supplied at send time. Render a preview before publishing, and treat safety results as part of the template lifecycle rather than as proof that a downstream carrier accepted a message.
Summary
Functions
Archives a reusable message template so it cannot be updated or used for new sends.
Creates an app-scoped reusable SMS or email message template. The API generates the template id; clients must not supply an id, template_id, or template key.
Retrieves a reusable message template by its API-generated id.
Retrieves app-scoped templates newest-updated first. Purpose and locale filters are applied after selecting the backing page, so filtered results can be sparse.
Publishes the current draft version of a reusable message template.
Renders a draft-aware preview of a reusable message template with bundled variables.
Updates a reusable message template and creates a new draft version. Published versions remain stable until the draft is explicitly published.
Functions
@spec archive(Inttegro.Client.t(), Inttegro.MessageTemplates.IDRequest.t(), keyword()) :: {:ok, Inttegro.MessageTemplates.MessageTemplate.t()} | {:error, Exception.t()}
Archives a reusable message template so it cannot be updated or used for new sends.
Parameters
client— an authenticatedInttegro.Client.request— aInttegro.MessageTemplates.IDRequestcontaining the operation input.options— request options such as:idempotency_keyand additional:headers.
Returns
Returns {:ok, Inttegro.MessageTemplates.MessageTemplate.t()} when Inttegro accepts and decodes the operation. Returns
{:error, exception} for API, transport, or decoding failures. A successful API response can
still describe an asynchronous resource that has not reached its terminal state.
Example
request = Inttegro.MessageTemplates.IDRequest.new!(request_attributes)
case Inttegro.MessageTemplates.archive(client, request) do
{:ok, result} -> result
{:error, error} -> {:error, error}
end
@spec create( Inttegro.Client.t(), Inttegro.MessageTemplates.CreateRequest.t(), keyword() ) :: {:ok, Inttegro.MessageTemplates.MessageTemplate.t()} | {:error, Exception.t()}
Creates an app-scoped reusable SMS or email message template. The API generates the template id; clients must not supply an id, template_id, or template key.
Parameters
client— an authenticatedInttegro.Client.request— aInttegro.MessageTemplates.CreateRequestcontaining the operation input.options— request options such as:idempotency_keyand additional:headers.
Returns
Returns {:ok, Inttegro.MessageTemplates.MessageTemplate.t()} when Inttegro accepts and decodes the operation. Returns
{:error, exception} for API, transport, or decoding failures. A successful API response can
still describe an asynchronous resource that has not reached its terminal state.
Example
# Build one of the concrete request variants listed by Inttegro.MessageTemplates.CreateRequest.t/0.
request = concrete_request
case Inttegro.MessageTemplates.create(client, request) do
{:ok, result} -> result
{:error, error} -> {:error, error}
end
@spec lookup(Inttegro.Client.t(), Inttegro.MessageTemplates.IDRequest.t(), keyword()) :: {:ok, Inttegro.MessageTemplates.MessageTemplate.t()} | {:error, Exception.t()}
Retrieves a reusable message template by its API-generated id.
Parameters
client— an authenticatedInttegro.Client.request— aInttegro.MessageTemplates.IDRequestcontaining the operation input.options— request options such as:idempotency_keyand additional:headers.
Returns
Returns {:ok, Inttegro.MessageTemplates.MessageTemplate.t()} when Inttegro accepts and decodes the operation. Returns
{:error, exception} for API, transport, or decoding failures. A successful API response can
still describe an asynchronous resource that has not reached its terminal state.
Example
request = Inttegro.MessageTemplates.IDRequest.new!(request_attributes)
case Inttegro.MessageTemplates.lookup(client, request) do
{:ok, result} -> result
{:error, error} -> {:error, error}
end
@spec page(Inttegro.Client.t(), Inttegro.MessageTemplates.PageRequest.t(), keyword()) :: {:ok, Inttegro.MessageTemplates.Page.t()} | {:error, Exception.t()}
Retrieves app-scoped templates newest-updated first. Purpose and locale filters are applied after selecting the backing page, so filtered results can be sparse.
Parameters
client— an authenticatedInttegro.Client.request— aInttegro.MessageTemplates.PageRequestcontaining the operation input.options— request options such as:idempotency_keyand additional:headers.
Returns
Returns {:ok, Inttegro.MessageTemplates.Page.t()} when Inttegro accepts and decodes the operation. Returns
{:error, exception} for API, transport, or decoding failures. A successful API response can
still describe an asynchronous resource that has not reached its terminal state.
Example
request = Inttegro.MessageTemplates.PageRequest.new!(request_attributes)
case Inttegro.MessageTemplates.page(client, request) do
{:ok, result} -> result
{:error, error} -> {:error, error}
end
@spec publish(Inttegro.Client.t(), Inttegro.MessageTemplates.IDRequest.t(), keyword()) :: {:ok, Inttegro.MessageTemplates.MessageTemplate.t()} | {:error, Exception.t()}
Publishes the current draft version of a reusable message template.
Parameters
client— an authenticatedInttegro.Client.request— aInttegro.MessageTemplates.IDRequestcontaining the operation input.options— request options such as:idempotency_keyand additional:headers.
Returns
Returns {:ok, Inttegro.MessageTemplates.MessageTemplate.t()} when Inttegro accepts and decodes the operation. Returns
{:error, exception} for API, transport, or decoding failures. A successful API response can
still describe an asynchronous resource that has not reached its terminal state.
Example
request = Inttegro.MessageTemplates.IDRequest.new!(request_attributes)
case Inttegro.MessageTemplates.publish(client, request) do
{:ok, result} -> result
{:error, error} -> {:error, error}
end
@spec render_preview( Inttegro.Client.t(), Inttegro.MessageTemplates.RenderPreviewRequest.t(), keyword() ) :: {:ok, Inttegro.MessageTemplates.Preview.t()} | {:error, Exception.t()}
Renders a draft-aware preview of a reusable message template with bundled variables.
Parameters
client— an authenticatedInttegro.Client.request— aInttegro.MessageTemplates.RenderPreviewRequestcontaining the operation input.options— request options such as:idempotency_keyand additional:headers.
Returns
Returns {:ok, Inttegro.MessageTemplates.Preview.t()} when Inttegro accepts and decodes the operation. Returns
{:error, exception} for API, transport, or decoding failures. A successful API response can
still describe an asynchronous resource that has not reached its terminal state.
Example
request = Inttegro.MessageTemplates.RenderPreviewRequest.new!(request_attributes)
case Inttegro.MessageTemplates.render_preview(client, request) do
{:ok, result} -> result
{:error, error} -> {:error, error}
end
@spec update( Inttegro.Client.t(), Inttegro.MessageTemplates.UpdateRequest.t(), keyword() ) :: {:ok, Inttegro.MessageTemplates.MessageTemplate.t()} | {:error, Exception.t()}
Updates a reusable message template and creates a new draft version. Published versions remain stable until the draft is explicitly published.
Parameters
client— an authenticatedInttegro.Client.request— aInttegro.MessageTemplates.UpdateRequestcontaining the operation input.options— request options such as:idempotency_keyand additional:headers.
Returns
Returns {:ok, Inttegro.MessageTemplates.MessageTemplate.t()} when Inttegro accepts and decodes the operation. Returns
{:error, exception} for API, transport, or decoding failures. A successful API response can
still describe an asynchronous resource that has not reached its terminal state.
Example
request = Inttegro.MessageTemplates.UpdateRequest.new!(request_attributes)
case Inttegro.MessageTemplates.update(client, request) do
{:ok, result} -> result
{:error, error} -> {:error, error}
end