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 (respetaRetry-After). - Prefiere
templateKeysobre HTML inline para mantener el contenido versionado. - Maneja los errores por el campo
error.codede la respuesta — ver Errores. - Envía desde un dominio verificado — ver Dominios.