lib/glific/providers/contact_behaviour.ex
defmodule Glific.Providers.ContactBehaviour do
@moduledoc """
The contact behaviour which all the providers needs to implement for communication
"""
alias Glific.Contacts.Contact
@callback optin_contact(attrs :: map()) ::
{:ok, Contact.t()} | {:error, Ecto.Changeset.t()} | {:error, list()}
@callback fetch_opted_in_contacts(attrs :: map()) :: :ok | {:error, String.t()}
end