Cómo enviar correos con PHP
No hay SDK PHP oficial — llama a la API REST de Publiq con Guzzle (o cURL). Envía desde el servidor con la API key en el header.
Con Guzzle (composer require guzzlehttp/guzzle):
<?php
use GuzzleHttp\Client;
$client = new Client();
$res = $client->post('https://api.publiq.digital/v1/emails', [
'headers' => ['Authorization' => 'Bearer ' . getenv('PUBLIQ_API_KEY')],
'json' => [
'from' => 'you@yourdomain.com',
'to' => 'user@example.com',
'templateKey' => 'welcome-email',
'variables' => ['first_name' => 'Ana'],
],
]);
$email = json_decode($res->getBody(), true);
echo $email['id'];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.