MillionSend.Templates (MillionSend v0.5.0)

Copy Markdown View Source

Templates. Every member function takes the template id or its alias.

Input maps are sent as given: name, html, subject, text and alias; on update/3, nil clears subject, text or alias. Templates are published on write, so publish/2 is a no-op kept for Resend compatibility.

{:ok, t} = MillionSend.Templates.create(%{name: "Welcome", alias: "welcome", html: "<p>Hi</p>"})
MillionSend.Templates.get("welcome")

Summary

Functions

POST /templates/:id_or_alias/duplicate — returns the copy's id.

GET /templates — accepts limit:, after:, before:.

POST /templates/:id_or_alias/publish — a no-op kept for compatibility: templates publish on write.

PATCH /templates/:id_or_aliasnil clears subject, text or alias.

Functions

create(client \\ MillionSend.client(), params)

@spec create(MillionSend.Client.t(), map()) ::
  {:ok, MillionSend.Templates.Template.t()} | {:error, MillionSend.Error.t()}

POST /templates

duplicate(client \\ MillionSend.client(), id_or_alias)

@spec duplicate(MillionSend.Client.t(), String.t()) ::
  {:ok, MillionSend.Templates.Template.t()} | {:error, MillionSend.Error.t()}

POST /templates/:id_or_alias/duplicate — returns the copy's id.

get(client \\ MillionSend.client(), id_or_alias)

GET /templates/:id_or_alias

list()

GET /templates — accepts limit:, after:, before:.

list(client)

@spec list(MillionSend.Client.t() | keyword()) ::
  {:ok, MillionSend.List.t()} | {:error, MillionSend.Error.t()}

list(client, opts)

@spec list(
  MillionSend.Client.t(),
  keyword()
) :: {:ok, MillionSend.List.t()} | {:error, MillionSend.Error.t()}

publish(client \\ MillionSend.client(), id_or_alias)

POST /templates/:id_or_alias/publish — a no-op kept for compatibility: templates publish on write.

remove(client \\ MillionSend.client(), id_or_alias)

DELETE /templates/:id_or_alias

update(client \\ MillionSend.client(), id_or_alias, params)

PATCH /templates/:id_or_aliasnil clears subject, text or alias.