Laravel: clase de servicio Publiq

Encapsula las llamadas a Publiq en una clase de servicio inyectable, manteniendo la integración en un solo lugar.

Crea app/Services/Publiq.php e inyéctalo vía el container de Laravel:

<?php
namespace App\Services;

use Illuminate\Support\Facades\Http;

class Publiq
{
    public function send(array $payload): array
    {
        return Http::withToken(env('PUBLIQ_API_KEY'))
            ->post('https://api.publiq.digital/v1/emails', $payload)
            ->throw()
            ->json();
    }
}

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

Laravel: clase de servicio Publiq — Publiq Docs