Manage message templates of a WhatsApp Business Account (WABA).
Templates go through Meta's review; see Kapso's
template lifecycle guide.
To send one, use KapsoEx.WhatsApp.Messages.send_template/6.
Summary
Functions
Creates a template.
Deletes a template. Pass name: to delete every language of a template,
or hsm_id: to delete a single one.
Gets a template by ID. Params: fields.
Lists templates. Params: name, status, category, language, limit.
Updates the template with ID template_id (Meta's hsm_id).
Types
@type result() :: {:ok, map()} | {:error, KapsoEx.Error.t()}
Functions
@spec create(KapsoEx.Client.t(), String.t(), map() | keyword()) :: result()
Creates a template.
Templates.create(client, waba_id, %{
name: "order_update",
language: "es",
category: "UTILITY",
parameter_format: "NAMED",
components: [
%{type: "BODY", text: "Hola {{first_name}}, tu pedido {{order}} fue enviado.",
example: %{body_text_named_params: [
%{param_name: "first_name", example: "Ana"},
%{param_name: "order", example: "#1234"}
]}}
]
})
@spec delete(KapsoEx.Client.t(), String.t(), map() | keyword()) :: result()
Deletes a template. Pass name: to delete every language of a template,
or hsm_id: to delete a single one.
Templates.delete(client, waba_id, name: "order_update")
Gets a template by ID. Params: fields.
@spec list(KapsoEx.Client.t(), String.t(), map() | keyword()) :: result()
Lists templates. Params: name, status, category, language, limit.
Updates the template with ID template_id (Meta's hsm_id).