Developers · Zaploom

Build Powerful Integrations

REST endpoints, typed SDKs, and reliable webhooks so your stack can send, sync, and react to every conversation.

Channels
WhatsAppSMSRCSEmail
Example request
curl -s https://api.zaploom.example/v1/messages \
  -H "Authorization: Bearer zl_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+15555550123",
    "channel": "whatsapp",
    "template": { "name": "order_shipped", "language": "en" }
  }'

Developer resources

Jump to the topic you need — detailed docs ship inside the workspace under Settings → Developers.

Get Your API Key
REST API

Predictable JSON over HTTPS

Send messages, manage templates, attach commerce payloads, and query delivery receipts with idempotent writes and explicit error envelopes.

  • Versioned paths under /v1
  • Workspace-scoped keys with tight RBAC
  • OpenAPI export for codegen pipelines
Create a message
Minimal POST body
POST /v1/messages
{
  "to": "+15555550123",
  "channel": "whatsapp",
  "text": "Hi! Your order just shipped."
}
SDKs

Official libraries

Thin wrappers around auth, retries, and pagination so you can ship journeys without boilerplate.

Node.jsPythonPHPJavaRubyGo
Node.js quick install
ESM-friendly client
npm install @zaploom/sdk

import { Zaploom } from "@zaploom/sdk";
const zl = new Zaploom({ apiKey: process.env.ZL_KEY });

await zl.messages.send({
  to: "+15555550123",
  channel: "whatsapp",
  template: { name: "hello_world", language: "en" },
});
Webhooks

Event-driven integrations

Subscribe to delivery receipts, inbound replies, flow completions, and automation checkpoints. Verify signatures with rotating secrets.

  • At-least-once delivery with dedupe keys
  • Replay recent events from the dashboard
Sample payload
Normalized envelope for automation triggers
{
  "event": "message.delivered",
  "id": "evt_9Qx21",
  "data": {
    "messageId": "msg_8Fd2",
    "channel": "whatsapp",
    "recipient": "+15555550123"
  }
}
Sandbox

Safe experimentation

Mirror production schemas with isolated numbers, fixture contacts, and webhook tunnels for local development.

  • Throttled send quotas that mimic carrier behavior
  • Saved request collections for QA regressions
  • Switch environments with a single API key header
Environment header
Point traffic at sandbox routers
curl https://api.zaploom.example/v1/messages \
  -H "Authorization: Bearer zl_test_..." \
  -H "X-ZL-Environment: sandbox"

Docs quick reference

Deep dives live in your workspace. These anchors mirror the sections our SDK users open most often.

Authentication Guide

Mint workspace keys from Settings → Developers. Send Authorization: Bearer <token> on every request; rotate keys without downtime using overlapping validity windows.

Rate limits

Separate buckets for burst sends, template approvals, and webhook deliveries. Campaign sends inherit priority queues so support traffic stays responsive.

Error codes

Errors return JSON with code, param, and retry hints. Map carrier-specific failures to stable Zaploom enums for logging.

Changelog

Breaking changes ship behind version prefixes with at least 90 days notice. Subscribe to developer emails in-product for webhook schema updates and new template categories.

Start building on Zaploom today

Launch unified messaging in days with templates, automation, and analytics included.