Skip to content
E-commerce

Order email you can trace.

Send order confirmations, shipping notices, and delivery updates from your store's domain. Every email has delivery events you can check, and a shopper's reply comes back to your app.

( ONE TEMPLATE, AUTHENTICATED DOMAIN )

The order data flows in. The domain is yours.

A send call passes the order id and tracking link into a versioned template. It goes out from your own domain, signed with DKIM and backed by SPF. Samva checks your DMARC policy and shows the result.

POST https://api.samva.dev/v1/messages

{ to: [{ email: "ada@example.com" }],
  channel: "email",
  email: { templateSlug: "order-shipped",
    templateData: {
      orderId: "A-1042",
      trackingUrl: "https://…"
    } } }

← { id: "msg_7q2xk9mvt4znw8rh", status: "pending" }
domain shop.example.com

DKIM verified
SPF verified
DMARC p=none

# Samva checks your DMARC policy, never creates it
( ORDER MAIL TODAY )

A shopper is waiting on an email.

Filtered as spam

Mail from a shared or unauthenticated domain gets filtered, and the shopper opens a ticket instead.

No record of what happened

Support can't tell whether the confirmation bounced or was never sent.

Replies go nowhere

Shoppers reply to ask about their order, and the reply lands in a noreply box.

( HOW IT WORKS )

From verified domain to checked delivery.

#01 — VERIFY

Verify your own domain, records managed.

Add your domain. Samva generates the DKIM and SPF records and checks your DMARC policy. If Cloudflare or Vercel hosts your DNS, connect it and the records are added for you.

TYPE HOST
TXT  samva-<id>._domainkey.<yourdomain>
MX   mail.<yourdomain>
TXT  mail.<yourdomain>

# or connect Cloudflare or Vercel to add them
#02 — TEMPLATE

One template, every order.

Render each order from a versioned template with typed data, and publish changes without a deploy.

template order-shipped
  v3  published  pinned
  v2  archived
  v1  archived

send { templateSlug: "order-shipped", templateData: { orderId: "A-1042" } }
# same template, every order
#03 — CHECK

A delivery event you can check.

Delivered, bounced, and complained events reach your webhook, signed. Look up any order's email in the dashboard.

POST /webhooks/samva

{ type: "message.delivered",
  timestamp: "2026-07-08T09:42:14Z",
  data: { messageId: "msg_7q2xk9mvt4znw8rh" } }

# look any order's email up in the dashboard
( DELIVERABILITY, TEMPLATES, UNSUBSCRIBE )

Get the domain right first.

PER-EMAIL PRICINGA sales spike bills $0.50 per 1,000 extra emails, under your spend limit.

Questions from store developers.

What happens during a sales spike?

Paid plans keep sending past the monthly allowance at $0.50 per 1,000 extra emails, up to the spend limit you set ($50 by default). Raise the limit before a big sale so confirmations keep going out. Each plan also has a daily sending limit, listed on the pricing page.

Do I need DMARC?

Gmail and Yahoo require a DMARC record from bulk senders. Publish one on your domain, starting with p=none if you have none. Samva checks it during verification and shows the result.

Do order confirmations need an unsubscribe link?

Gmail and Yahoo's one-click unsubscribe rule covers marketing and promotional mail, not order confirmations. Promotional email from your store should carry one. Read the RFC 8058 post

How do I check one order's email?

Save the message id Samva returns when you send, then read its status and events through the API, the CLI, or the dashboard.

First send

Send your next order confirmation from your own domain.

Verify your domain, then send the first templated order email.

Related Resources