MillionSend.Topics (MillionSend v0.6.0)

Copy Markdown View Source

Subscription topics. Input maps are sent as given: name, default_subscription (:opt_in | :opt_out), description and visibility (:private | :public).

MillionSend.Topics.create(%{name: "Product updates", default_subscription: :opt_in})

Summary

Functions

GET /topics — a bare, unpaginated { data: [...] }; returns a plain list of Topics.

PATCH /topics/:idname, description, visibility.

Functions

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

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

POST /topics

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

GET /topics/:id

list(client \\ MillionSend.client())

@spec list(MillionSend.Client.t()) ::
  {:ok, [MillionSend.Topics.Topic.t()]} | {:error, MillionSend.Error.t()}

GET /topics — a bare, unpaginated { data: [...] }; returns a plain list of Topics.

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

@spec remove(MillionSend.Client.t(), String.t()) ::
  {:ok, MillionSend.Topics.Topic.t()} | {:error, MillionSend.Error.t()}

DELETE /topics/:id

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

@spec update(MillionSend.Client.t(), String.t(), map()) ::
  {:ok, MillionSend.Topics.Topic.t()} | {:error, MillionSend.Error.t()}

PATCH /topics/:idname, description, visibility.