ApiBrasil.Messaging.SMS (APIBrasil v0.0.1)

Copy Markdown View Source

API de SMS (device-based): POST /sms/{action}.

Exige Authorization: Bearer + header DeviceToken.

Campos aceitos por send/3 e send_with_credits/3: number, message, operator (padrão do gateway: claro), user_reply e webhook_url.

# pelo device
{:ok, _envelope} =
  ApiBrasil.Messaging.SMS.send(client, %{
    "number" => "5511999999999",
    "message" => "Seu código é 1234"
  })

# debitando créditos da conta, sem DeviceToken
{:ok, _envelope} =
  ApiBrasil.Messaging.SMS.send_with_credits(client, %{
    "number" => "5511999999999",
    "message" => "Seu código é 1234"
  })

Summary

Functions

Executa a action de forma assíncrona, por fila: POST /sms/{action}/queue.

Executa qualquer action do serviço: POST /sms/{action}.

Envia um SMS pelo device: POST /sms/send.

Como send/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.

Envia um SMS debitando créditos da conta, sem DeviceToken: POST /sms/send/credits.

Serviço do gateway coberto por este módulo: sms.

Types

result()

@type result() :: {:ok, map()} | {:error, ApiBrasil.Core.Error.t()}

Functions

queue(client, action_name, body \\ nil, opts \\ [])

Executa a action de forma assíncrona, por fila: POST /sms/{action}/queue.

queue!(client, action_name, body \\ nil, opts \\ [])

Como queue/4, mas levanta ApiBrasil.Core.Error em caso de falha.

request(client, action_name, body \\ nil, opts \\ [])

Executa qualquer action do serviço: POST /sms/{action}.

As actions conhecidas estão em ApiBrasil.Generated.Catalog.service_actions("sms"); a documentação completa fica em https://doc.apibrasil.io.

request!(client, action_name, body \\ nil, opts \\ [])

Como request/4, mas levanta ApiBrasil.Core.Error em caso de falha.

send(client, body \\ nil, opts \\ [])

Envia um SMS pelo device: POST /sms/send.

send!(client, body \\ nil, opts \\ [])

Como send/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.

send_with_credits(client, body \\ nil, opts \\ [])

@spec send_with_credits(ApiBrasil.Client.t(), term(), keyword()) ::
  {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}

Envia um SMS debitando créditos da conta, sem DeviceToken: POST /sms/send/credits.

send_with_credits!(client, body \\ nil, opts \\ [])

@spec send_with_credits!(ApiBrasil.Client.t(), term(), keyword()) ::
  ApiBrasil.Core.CreditResponse.t()

Como send_with_credits/3, mas levanta ApiBrasil.Core.Error em caso de falha.

service()

@spec service() :: String.t()

Serviço do gateway coberto por este módulo: sms.