MillionSend.Domains (MillionSend v0.4.0)

Copy Markdown View Source

Sending domains: add one, publish the returned DNS records, then verify/2.

Input maps are sent as given: create/2 accepts name, region, custom_return_path, open_tracking, click_tracking and tracking_subdomain; update/3 accepts open_tracking, click_tracking and tracking_subdomain (nil clears it).

{:ok, domain} = MillionSend.Domains.create(%{name: "acme.dev"})
domain.records  # [%MillionSend.Domains.Domain.Record{record: "DKIM", ...}, ...]

Summary

Functions

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

PATCH /domains/:id — tracking settings; tracking_subdomain: nil clears it.

POST /domains/:id/verify — re-check the DNS records.

Functions

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

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

POST /domains

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

GET /domains/:id

list()

GET /domains — 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()}

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

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

DELETE /domains/:id

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

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

PATCH /domains/:id — tracking settings; tracking_subdomain: nil clears it.

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

@spec verify(MillionSend.Client.t(), String.t()) ::
  {:ok, MillionSend.Domains.Domain.t()} | {:error, MillionSend.Error.t()}

POST /domains/:id/verify — re-check the DNS records.