One platform · four channels

Your messages get there. All your channels, in one place.

Deliver brings SMS, WhatsApp, Email and Push notifications together in one platform. Your apps decide what to say; Deliver makes sure it arrives: templates, sending, retries and tracking for every message.

POST /v1/messages
curl -X POST https://deliver.piensait.com/api/v1/messages \
  -H "Authorization: Bearer $DELIVER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "whatsapp",
    "to": "+573001234567",
    "template": { "slug": "recordatorio-pago" },
    "data": {
      "cliente": { "nombre": "Laura" },
      "valor": "$ 250.000",
      "vence": "30 de septiembre"
    }
  }'

# 202 Accepted
{ "id": "msg_01J9ZK4Q8R", "status": "queued" }
Channels

One contract, four ways to reach people

Switching from SMS to WhatsApp means changing one field: the same API, the same templates and the same tracking on every channel.

Phase 1

Email

Transactional email with HTML and plain text, attachments and bounce tracking.
Reaches Email address
Phase 1

SMS

Short messages for OTP codes, reminders and alerts, with delivery status.
Reaches Phone number in E.164 format (+57…)
Phase 2

WhatsApp

Approved WhatsApp templates with buttons and variables, and read receipts.
Reaches Phone number in E.164 format (+57…)
Phase 2

Push

Notifications to Android, iOS and web apps by user, device or topic.
Reaches User, device token or topic
How it works

From your app to the recipient in three steps

  1. Design the template

    Build messages per channel with variables, preview and versions. Publish when it's ready.
  2. Call the API

    Your app sends the channel, the recipient, the template and the data. That's all.
  3. Deliver takes care of it

    It queues the message, delivers it on the channel you asked for, retries if something fails and records every status.
Reliability

Reliable from start to finish

Every message is recorded from the moment your app requests it until it leaves on its channel. You know what was sent, when, and what happened to it.

Automatic retries

If a send fails temporarily, Deliver tries again with increasing waits. Whatever doesn't go out is recorded: nothing is lost silently.

Each message goes out once

With an idempotency key, even if your app repeats the call, the recipient gets the message only once.

The status of every send

See where each message is and when it changed: queued, sent or failed. Delivered and read are coming soon on the channels that report them.

Access under control

Keys per application and per environment, each with the channels it may use. In testing, messages only reach authorized recipients.
Templates

Messages that look right on every channel

What you design is what arrives: an editor per channel with preview and sample data. Version, publish and reuse; your apps only reference the slug.

  • Variables, conditionals and lists: {{cliente.nombre}}
  • Responsive HTML email with automatic plain text
  • Segment counter for SMS
  • Sync with approved WhatsApp templates
  • Starter gallery: welcome, OTP, payment reminder
recordatorio-pago · v3 · published

Hi Laura 👋

This is a reminder that your payment of $ 250.000 is due on September 30.

9:41 ✓✓

Pay now

How much would it cost for your app?

Enter how many messages you send per month on each channel and we'll tell you which bundle fits.