Current section
Files
Jump to
Current section
Files
lib/api/contacts.ex
defmodule Whatsapp.Api.Contacts do
@moduledoc """
Módulo para el manejo de contactos de Whatsapp
"""
@parser Application.get_env(:wax, :parser)
@doc """
Valida la lista de teléfonos dada con el provider de Whatsapp
"""
@spec check_list(tuple(), [String.t()], boolean) :: map
def check_list(token_info, phone_list, wait \\ true) when is_list(phone_list) do
_check_list(token_info, phone_list, wait)
end
@doc """
Valida un teléfono con el provider de Whatsapp
"""
@spec check(tuple(), String.t(), boolean) :: boolean
def check(token_info, phone, wait \\ true) do
_check_list(token_info, [phone], wait)
end
defp _check_list({url, auth_header}, phone_list, wait) do
blocking = (wait && "wait") || "no_wait"
data = %{
blocking: blocking,
contacts: phone_list
}
url
|> Kernel.<>("/contacts")
|> WhatsappApiRequest.rate_limit_request(:post!, data, [auth_header])
|> @parser.parse(:contacts_check)
end
end