View Source Glific.Flows.Broadcast (Glific v5.1.6)

Start a flow to a group so we can blast it out as soon as possible and ensure we are under the rate limits.

Link to this section Summary

Functions

We are using this function from the flows.

The one simple public interface to broadcast a group

Get broadcast stats for a flow

The one simple public interface to execute a group broadcast for an organization

Mark all the processed flow broadcast as completed

Start a group broadcast for a giving broadcast struct

Link to this section Functions

Link to this function

broadcast_contacts(flow, contacts, default_results \\ %{})

View Source
@spec broadcast_contacts(
  atom() | %{:organization_id => non_neg_integer(), optional(any()) => any()},
  [Glific.Contacts.Contact.t()],
  map()
) :: :ok

We are using this function from the flows.

Link to this function

broadcast_flow_to_group(flow, group, default_results \\ %{})

View Source
@spec broadcast_flow_to_group(Glific.Flows.Flow.t(), Glific.Groups.Group.t(), map()) ::
  {:ok, Glific.Flows.MessageBroadcast.t()} | {:error, String.t()}

The one simple public interface to broadcast a group

Link to this function

broadcast_message_to_group(group_message, group, message_params, default_results \\ %{})

View Source
@spec broadcast_message_to_group(
  Glific.Messages.Message.t(),
  Glific.Groups.Group.t(),
  map(),
  map()
) ::
  {:ok, Glific.Flows.MessageBroadcast.t()} | {:error, String.t()}

The one simple public interface to broadcast a group

Link to this function

broadcast_stats(message_broadcast_id)

View Source
@spec broadcast_stats(non_neg_integer()) :: {:ok, map()}

Get broadcast stats for a flow

Link to this function

execute_broadcasts(org_id)

View Source
@spec execute_broadcasts(any()) :: :ok

The one simple public interface to execute a group broadcast for an organization

Link to this function

get_broadcast_contact_ids(message_broadcast)

View Source
@spec get_broadcast_contact_ids(Glific.Flows.MessageBroadcast.t()) :: list()

get_broadcast_contact_ids

Link to this function

mark_broadcast_completed(org_id)

View Source
@spec mark_broadcast_completed(non_neg_integer()) :: :ok

Mark all the processed flow broadcast as completed

Link to this function

process_broadcast_group(message_broadcast)

View Source
@spec process_broadcast_group(Glific.Flows.MessageBroadcast.t() | nil) :: :ok

Start a group broadcast for a giving broadcast struct