Inicio rápido
Envía tu primer correo con Deliver usando una API key de UAT y la plantilla codigo-otp, y consulta su estado.
Antes de empezar
- Una API key de UAT (prefijo
dlv_test_) para tu aplicación. La emite Piensa IT; ver Autenticación. - El correo al que vas a enviar debe estar en la lista de destinatarios autorizados de UAT.
Las claves de UAT solo llegan a destinatarios autorizados
Cualquier otro destino se registra con estado blocked y el mensaje no sale.
Envía tu primer mensaje
Llama a POST /v1/messages con el canal, el destinatario, la plantilla, la marca y los datos de la plantilla.
POST /v1/messages
curl -X POST https://deliver.piensait.com/api/v1/messages \
-H "Authorization: Bearer $DELIVER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: login:u_123:2026-09-16T14:05" \
-d '{
"channel": "email",
"to": "laura@example.com",
"template": {
"slug": "codigo-otp",
"design": "minimal"
},
"brand": "piensa-it",
"data": {
"codigo": "481205",
"proposito": "iniciar sesión",
"vigenciaMinutos": 10,
"nombre": "Laura",
"dispositivo": "Chrome en macOS",
"ubicacion": "Medellín, Colombia"
}
}'const response = await fetch("https://deliver.piensait.com/api/v1/messages", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.DELIVER_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": "login:u_123:2026-09-16T14:05",
},
body: JSON.stringify({
"channel": "email",
"to": "laura@example.com",
"template": {
"slug": "codigo-otp",
"design": "minimal"
},
"brand": "piensa-it",
"data": {
"codigo": "481205",
"proposito": "iniciar sesión",
"vigenciaMinutos": 10,
"nombre": "Laura",
"dispositivo": "Chrome en macOS",
"ubicacion": "Medellín, Colombia"
}
}),
});
const { id, status } = await response.json(); // 202: { id: "msg_…", status: "queued" }La API responde de inmediato y envía en segundo plano:
| HTTP | Cuerpo | Significado |
|---|---|---|
202 |
{ "id": "msg_…", "status": "queued" } |
Aceptado; se está enviando. |
202 |
{ "id": "msg_…", "status": "blocked", "statusDetail": "…" } |
Clave de UAT y un destinatario no autorizado. |
200 |
El mismo mensaje de antes | Ya existía un mensaje con esa Idempotency-Key; no se reenvía. |
Consulta el estado
GET /v1/messages/{id}
curl https://deliver.piensait.com/api/v1/messages/msg_0123456789abcdef0123456789abcdef \
-H "Authorization: Bearer $DELIVER_API_KEY"La respuesta trae el status actual y sus events. Ver Estado de un mensaje.
Siguientes pasos
- Maneja los errores por su
codigo. - Elige un diseño y tu marca en Plantillas de email.
- Explora cada endpoint en la referencia de la API.