Cómo enviar correos con Ruby on Rails

Envía correos desde Ruby/Rails llamando a la API REST de Publiq con la stdlib `net/http`.

No hay SDK oficial — llama a la API REST de Publiq con el cliente HTTP del lenguaje, desde el servidor, con la API key en el 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

Buenas prácticas

  • Llama a Publiq siempre desde el servidor — la API key va en el header Authorization, nunca en el cliente.
  • En 429/5xx, reintenta con backoff exponencial (respeta Retry-After).
  • Prefiere templateKey sobre HTML inline para mantener el contenido versionado.
  • Maneja los errores por el campo error.code de la respuesta — ver Errores.
  • Envía desde un dominio verificado — ver Dominios.

Ver también

Cómo enviar correos con Ruby on Rails — Publiq Docs