Integrate delivery notifications with your dispatch system
Failed deliveries are usually information failures — the customer didn't know the window, or the driver couldn't reach them. Delivery-notification integration closes that gap from the systems that already know the truth: your dispatch, fleet, or logistics platform.
Dispatch events (driver assigned, en route, 15 minutes out) post to the SendiMessage API with the delivery id embedded in the status_callback URL. Customers can reply with access instructions, and those replies return to dispatch through the webhook before the driver is standing at the wrong gate.
What this integration enables
Architecture
- Dispatch eventRoute planned, driver assigned, approaching stop
- Your handlerBuilds the message from stop + ETA data
- SendiMessage APIPOST /send-message with the delivery id in the status_callback URL
- CustomerNotification arrives; replies flow back
- Webhook eventsDelivery status and customer replies return to dispatch
Example request
curl -sS https://api.sendimessage.com/v1/send-message \-H "X-API-Key: $SENDIMESSAGE_API_KEY" \-H "X-API-Secret: $SENDIMESSAGE_API_SECRET" \-H "Content-Type: application/json" \-d '{"number": "+15555550123","content": "Your appointment is tomorrow at 10:00 AM."}'# → {# "status": "QUEUED",# "message_handle": "4e828182-a640-483f-bfe9-17ffcaa51d48",# "to": "+14155550123",# "service": null,# "is_outbound": true,# "error_message": null,# "date_sent": null# }
Delivery events and incoming replies
Match replies by the customer's number to the active stop, so access notes and timing constraints land on the right delivery in your dispatch board.
// "outbound" event → your your_dispatch 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 delivery_id in your_dispatch.
Limitations and honest notes
- iMessage delivery is available on supported messaging lines and destinations. Recipients without iMessage receive SMS when fallback is configured — never assume universal iMessage availability.
- Messages are accepted asynchronously — the API returns status QUEUED and final status arrives via webhook or the message endpoints.
- No official SDK for this ecosystem yet — the example uses plain HTTP against the REST API. Official SDKs are published for JavaScript/TypeScript (npm: sendimessage), Python (PyPI: sendimessage), PHP (Composer: sendimessage/sdk), and Go (github.com/sendimessage/sendimessage-go). Every SDK is dependency-free and covers the full public API surface.
- Send messages only to recipients who expect them. Transactional and operational messaging is the primary use case — unsolicited bulk marketing is not.
Frequently asked questions
Can drivers' apps trigger the messages?
One line or many?
Related integrations
Ready to connect Delivery Notification Messaging?
Request a messaging line and a SendiMessage integration specialist will review your Delivery Notification Messaging workflow and guide the setup.