KapsoEx.WhatsApp.Templates (kapso_ex v0.1.0)

Copy Markdown View Source

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

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

result()

@type result() :: {:ok, map()} | {:error, KapsoEx.Error.t()}

Functions

create(client, business_account_id, attrs)

@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"}
      ]}}
  ]
})

delete(client, business_account_id, params)

@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")

get(client, business_account_id, template_id, params \\ [])

@spec get(KapsoEx.Client.t(), String.t(), String.t(), map() | keyword()) :: result()

Gets a template by ID. Params: fields.

list(client, business_account_id, params \\ [])

@spec list(KapsoEx.Client.t(), String.t(), map() | keyword()) :: result()

Lists templates. Params: name, status, category, language, limit.

update(client, business_account_id, template_id, attrs)

@spec update(KapsoEx.Client.t(), String.t(), String.t(), map() | keyword()) ::
  result()

Updates the template with ID template_id (Meta's hsm_id).