Example deployment: e-commerce order updates
An order management system notifies customers at every order milestone — confirmed, shipped, delivery scheduled, delivered, return received — over one managed API.
This is an example architecture, not a customer case study — use it as a technical starting point for your own deployment.
The business problem
Order status lives in the commerce backend, but customers only see it if they dig through email. Support tickets pile up asking "where is my order?" while the answer already exists in the system.
Recommended architecture
- Order Management SystemOrder state changes (paid, fulfilled, delivered)
- Backend event handlerBuilds the message from the order payload
- SendiMessage APIPOST /send-message with the order id as metadata
- Managed messaging lineOne retail line per market
- CustomerSMS, or iMessage on supported destinations
- Delivery eventoutbound confirms arrival
- Signed webhookEvents return with the order id
- Order timeline updateYour handler marks the notification on the order
System trigger
A backend event fires when the order changes state — from your own order service, or your platform's webhooks (Shopify, WooCommerce, and Magento hooks are covered in the integration guides).
SendiMessage API request
curl -sS https://api.sendimessage.com/v1/send-message \-H "X-API-Key: $SENDIMESSAGE_KEY" \-H "X-API-Secret: $SENDIMESSAGE_SECRET" \-H "Content-Type: application/json" \-d '{"number": "+15555550123","content": "Your order #1042 has shipped. Track it here: https://example.com/t/1042","status_callback": "https://your-endpoint.example.com/status?order_id=1042&workflow=order_shipped"}'# → {# "status": "QUEUED",# "message_handle": "4e828182-a640-483f-bfe9-17ffcaa51d48",# "to": "+14155550123",# "service": null,# "is_outbound": true,# "error_message": null,# "date_sent": null# }
Channel behavior and SMS fallback
Request channel "auto": recipients on supported destinations get iMessage, everyone else gets SMS. iMessage delivery is available on supported messaging lines and destinations. Recipients without iMessage receive SMS when fallback is configured — never assume universal iMessage availability.
Incoming replies
Customers reply with order questions; receive events carry the order id, so your handler can open a support conversation already linked to the right order.
// "outbound" event → your order_system endpoint// Verify the SendiMessage-Signature header (t={timestamp},v1=HMAC-SHA256 of// "{timestamp}.{raw body}", keyed with your webhook secret), then use// GET /v2/messages/{message_handle} for authoritative state and match it to// your order_id in order_system.
Messaging-line setup
One dedicated line per country you ship to keeps the sender identity consistent for customers.
Security checklist
- API key in server environment variables or a secrets manager — never in client code.
- Webhook signatures verified before any record is updated.
- Only the fields a message needs (phone, first name, reference id) leave your system.
Pricing and managed onboarding
Per active line, billed monthly, plus usage per your agreement. One line per market is the typical starting point — the team confirms pricing for your countries and volume. Every line goes through managed onboarding: use-case review, test line, credentials delivered securely, and guided production activation.
Want this setup?
Request the setup and the team will map this example to your systems, or book a review to talk it through first.