Como enviar e-mails com Ruby on Rails

Envie e-mails do Ruby/Rails chamando a API REST do Publiq com a stdlib `net/http`.

Não há SDK oficial — chame a API REST do Publiq com o cliente HTTP da linguagem, a partir do servidor, com a API key no header Authorization.

require 'net/http'
require 'json'

def send_welcome(user)
  uri = URI('https://api.publiq.digital/v1/emails')
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true

  req = Net::HTTP::Post.new(uri)
  req['Authorization'] = "Bearer #{ENV['PUBLIQ_API_KEY']}"
  req['Content-Type'] = 'application/json'
  req.body = {
    from: 'you@yourdomain.com',
    to: user.email,
    templateKey: 'welcome-email',
    variables: { first_name: user.name }
  }.to_json

  JSON.parse(http.request(req).body)
end

Boas práticas

  • Chame o Publiq sempre do servidor — a API key vai no header Authorization, nunca no cliente.
  • Em 429/5xx, retente com backoff exponencial (respeite Retry-After).
  • Prefira templateKey a HTML inline para manter o conteúdo versionado.
  • Trate os erros pelo campo error.code da resposta — veja Erros.
  • Envie de um domínio verificado — veja Domínios.

Veja também

Como enviar e-mails com Ruby on Rails — Publiq Docs