View Source Glific.Providers.MessageBehaviour behaviour (Glific v5.1.6)

The message behaviour which all the providers needs to implement for communication

Link to this section Summary

Link to this section Callbacks

Link to this callback

receive_billing_event(payload)

View Source
@callback receive_billing_event(payload :: map()) :: {:ok, map()} | {:error, String.t()}
Link to this callback

receive_interactive(payload)

View Source
@callback receive_interactive(payload :: map()) :: map()
Link to this callback

receive_location(payload)

View Source
@callback receive_location(payload :: map()) :: map()
@callback receive_media(payload :: map()) :: map()
@callback receive_text(payload :: map()) :: map()
Link to this callback

send_audio(message, attrs)

View Source
@callback send_audio(message :: Glific.Messages.Message.t(), attrs :: map()) ::
  {:ok, Oban.Job.t()} | {:error, Ecto.Changeset.t()}
Link to this callback

send_document(message, attrs)

View Source
@callback send_document(message :: Glific.Messages.Message.t(), attrs :: map()) ::
  {:ok, Oban.Job.t()} | {:error, Ecto.Changeset.t()}
Link to this callback

send_image(message, attrs)

View Source
@callback send_image(message :: Glific.Messages.Message.t(), attrs :: map()) ::
  {:ok, Oban.Job.t()} | {:error, Ecto.Changeset.t()} | {:error, String.t()}
Link to this callback

send_interactive(message, attrs)

View Source
@callback send_interactive(message :: Glific.Messages.Message.t(), attrs :: map()) ::
  {:ok, Oban.Job.t()} | {:error, Ecto.Changeset.t()}
Link to this callback

send_sticker(message, attrs)

View Source
@callback send_sticker(message :: Glific.Messages.Message.t(), attrs :: map()) ::
  {:ok, Oban.Job.t()} | {:error, Ecto.Changeset.t()}
Link to this callback

send_text(message, attrs)

View Source
@callback send_text(
  message :: Glific.Messages.Message.t(),
  attrs :: map()
) :: {:ok, Oban.Job.t()} | {:error, Ecto.Changeset.t()} | {:error, String.t()}
Link to this callback

send_video(message, attrs)

View Source
@callback send_video(message :: Glific.Messages.Message.t(), attrs :: map()) ::
  {:ok, Oban.Job.t()} | {:error, Ecto.Changeset.t()} | {:error, String.t()}