Current section

Files

Jump to
wax lib cloud_api messages.ex
Raw

lib/cloud_api/messages.ex

defmodule Wax.CloudAPI.Messages do
@moduledoc """
Whatsapp Messages
You can send different types of messages using send/2
"""
alias Wax.CloudAPI
alias Wax.CloudAPI.{Auth, ResponseParser}
alias Wax.Messages.Message
@spec send(Message.t(), String.t()) :: {:ok, map()} | {:error, String.t()}
def send(%Message{} = message, %Auth{} = auth) do
with :ok <- Message.validate(message) do
headers = [{"Authorization", "Bearer " <> auth.token}]
auth.whatsapp_number_id
|> CloudAPI.build_url("messages")
|> WhatsappApiRequest.rate_limit_request(:post!, message, headers)
|> ResponseParser.parse(:messages_send)
end
end
end