Messaging for e-commerce that customers actually read
Order status lives in your backend; customers live on their phones. E-commerce messaging closes that gap with transactional updates from checkout to doorstep — and replies that route to support instead of dying in a no-reply inbox.
The communication problems
- "Where is my order?" tickets for information that already exists in the system
- Email updates opened after the package already arrived
- Failed deliveries because the customer never saw the window
- Cart and payment issues silently stalling orders
Recommended workflows
Architecture
- Store platformShopify, WooCommerce, Magento, or custom
- Order webhookspaid, fulfilled, delivered events
- SendiMessage APIPOST /send-message with the order id
- CustomerSMS, or iMessage where supported
- Replies + delivery eventsBack to your systems via signed webhooks
The 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.","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 replies
Order updates read equally well on either channel — request "auto" and every customer gets the update. iMessage delivery is available on supported messaging lines and destinations. Recipients without iMessage receive SMS when fallback is configured — never assume universal iMessage availability.
Replies carry the order id back through receive, so "where's my order?" opens a support conversation already linked to the right order.
Line setup, availability, and pricing
One dedicated retail line per country you ship to keeps your sender identity consistent.
Line availability varies by country and channel. Run a preliminary availability check, and the team confirms final availability during onboarding review. Check preliminary availability →
Pricing is per active line, billed monthly, with usage per your agreement — confirmed for your countries and volume during managed onboarding. How pricing works →
Frequently asked questions
Do you have a native Shopify app?
Can I send cart-recovery messages?
Ready to build this?
Request the setup, or book an integration review and the team will map it to your systems.