We use optional, privacy-safe analytics to understand which pages help visitors. Nothing optional runs until you choose. Privacy policy

Skip to content
E-commerce

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.

Try the interactive demo

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

Order confirmed
Fire on payment capture — the highest-read message you'll ever send.
Shipping + tracking
Fulfillment webhooks carry tracking data straight into the message.
Delivery day
Out-for-delivery and delivered events from your carrier integration.
Payment recovery
Failed captures trigger one respectful notification before the order stalls.
Your order #1042 is confirmed.Your order has shipped — track it here: …Out for delivery today between 2–4 PM.Delivered. Reply if anything's wrong.

Architecture

How it fits together: Store platform, then Order webhooks, then SendiMessage API, then Customer, then Replies + delivery events.
  1. Store platformShopify, WooCommerce, Magento, or custom
  2. Order webhookspaid, fulfilled, delivered events
  3. SendiMessage APIPOST /send-message with the order id
  4. CustomerSMS, or iMessage where supported
  5. Replies + delivery eventsBack to your systems via signed webhooks

The API request

send message
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?
Not today — no native marketplace apps are claimed. Shopify connects through order webhooks and the REST API; the integration guide shows the exact setup.
Can I send cart-recovery messages?
Only where your consent basis and local rules permit. Transactional order messaging is the primary use case; cart recovery is reviewed as marketing during onboarding.

Ready to build this?

Request the setup, or book an integration review and the team will map it to your systems.

Book an Integration Review