Laravel: classe de serviço Publiq

Encapsule as chamadas ao Publiq numa classe de serviço injetável, mantendo a integração em um só lugar.

Crie app/Services/Publiq.php e injete-o via container do 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();
    }
}

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

Laravel: classe de serviço Publiq — Publiq Docs