Inttegro.MessageTemplates (inttegro v0.2.0)

Copy Markdown View Source

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

archive(client, request, options \\ [])

Archives a reusable message template so it cannot be updated or used for new sends.

Parameters

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

create(client, request, options \\ [])

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

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

lookup(client, request, options \\ [])

Retrieves a reusable message template by its API-generated id.

Parameters

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

page(client, request, options \\ [])

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

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

publish(client, request, options \\ [])

Publishes the current draft version of a reusable message template.

Parameters

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

render_preview(client, request, options \\ [])

Renders a draft-aware preview of a reusable message template with bundled variables.

Parameters

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

update(client, request, options \\ [])

Updates a reusable message template and creates a new draft version. Published versions remain stable until the draft is explicitly published.

Parameters

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