Dynamic segments — a saved filter over an audience's contacts. A MillionSend
extension with no Resend equivalent; the wire path is /segments2. get/2
returns a live contact_count.
MillionSend.Segments.create(%{
name: "Pro plan",
audience_id: aud,
filter: %{match: :all, conditions: [%{field: "property:plan", op: "equals", value: "pro"}]}
})
Summary
Functions
POST /segments2
GET /segments2/:id
GET /segments2 — accepts limit:, after:, before:.
DELETE /segments2/:id
PATCH /segments2/:id
Functions
@spec create(MillionSend.Client.t(), map()) :: {:ok, MillionSend.Segments.Segment.t()} | {:error, MillionSend.Error.t()}
POST /segments2
@spec get(MillionSend.Client.t(), String.t()) :: {:ok, MillionSend.Segments.Segment.t()} | {:error, MillionSend.Error.t()}
GET /segments2/:id
GET /segments2 — accepts limit:, after:, before:.
@spec list(MillionSend.Client.t() | keyword()) :: {:ok, MillionSend.List.t()} | {:error, MillionSend.Error.t()}
@spec list( MillionSend.Client.t(), keyword() ) :: {:ok, MillionSend.List.t()} | {:error, MillionSend.Error.t()}
@spec remove(MillionSend.Client.t(), String.t()) :: {:ok, MillionSend.Segments.Segment.t()} | {:error, MillionSend.Error.t()}
DELETE /segments2/:id
@spec update(MillionSend.Client.t(), String.t(), map()) :: {:ok, MillionSend.Segments.Segment.t()} | {:error, MillionSend.Error.t()}
PATCH /segments2/:id