Key Takeaways
- BOPIS webhooks are pickup-ready: store, window, and order last-four — never a locker PIN in the SMS.
- Verify signatures before the SIM fires. A replayed fulfillment.picked_up is a second text and a confused queue.
- Keep checkout OTP off the tablet that dumps Saturday pickup bursts.
- Service pricing is devices plus SMS send volume. You bring the Android phone and operator credit.
- Free is 1 device, 300 SMS lifetime, 300 contacts. Developer is 25,000 SMS per year.
- Idempotency on fulfillment id, not on “customer phone + today.”
Summary
Ecommerce webhooks in scenario 349 are BOPIS and click-and-collect: pickup ready, delayed, and collected. Unlike order.paid, restock/cart, refund, subscription renew, or gift-card issued, this event is a customer standing at a desk or locker.
Service pricing is devices plus SMS send volume. You bring the Android phone and operator SMS credit. Free is 1 device, 300 SMS lifetime, 300 contacts. Developer is 25,000 SMS per year. Starter, Professional, and Business list Unlimited SMS as platform send volume; devices and airtime stay metered.
A locker PIN in SMS is a parking-lot theft. Verify the webhook, send store and window, keep the code in the app.
Key takeaways
- BOPIS webhooks are pickup-ready: store, window, and order last-four — never a locker PIN in the SMS.
- Verify signatures before the SIM fires. A replayed fulfillment.picked_up is a second text and a confused queue.
- Keep checkout OTP off the tablet that dumps Saturday pickup bursts.
- Service pricing is devices plus SMS send volume. You bring the Android phone and operator credit.
- Free is 1 device, 300 SMS lifetime, 300 contacts. Developer is 25,000 SMS per year.
- Idempotency on fulfillment id, not on “customer phone + today.”
Related reading
Start from Twilio vs Android SMS gateway, compare device and SMS volume pricing, open device setup, and review PCI notes if cards sit in the same stack.
Context
Store ops land here after a replayed fulfillment.ready texted the same locker code twice and a stranger collected the bag. Checkout OTP cannot share that Saturday burst.
Core scenario guidance
Verify signatures. Idempotency on fulfillment id. Template: store, window, last-four. PIN in the app. Isolate OTP. Cap retries.
| Event | SMS body | Fail closed |
|---|---|---|
| fulfillment.ready | Store + window + last-four | Locker PIN in body |
| fulfillment.delayed | New window | Replay of ready |
| fulfillment.collected | Optional ACK | Promo auto-reply |
| Checkout OTP | Separate device | Same SIM as pickup burst |
Canary a staff pickup after OS updates. MCP wraps REST. Developer Center owns fields.
Cost and ownership
Devices + volume + operator airtime on every replay. Developer is 25,000 SMS per year. Free (1 / 300 / 300) proves pairing, not a fleet of stores.
Operations
Daily last-seen, battery, webhook fail, duplicate fulfillment ids. After SIM reseat, one staff pickup. On-call before unattended Saturday peaks.
Security and compliance
Pickup events reveal that a bag is waiting. Encrypt at rest. Rotate webhook secrets. Never log locker PINs. Verify TLS on every callback.
Decision guide
Ship when signatures, idempotency, and PIN isolation exist. Delay if the shop can replay ready. If zero phone ops is mandatory, evaluate CPaaS for that slice.
Checklist
- Webhook signatures verified.
- Fulfillment id idempotent.
- No locker PIN in SMS.
- OTP isolated.
- Spare paired.
Next steps
Return to open-source Android SMS gateway, compare device and SMS volume pricing, open device setup, and confirm APIs in SMS API documentation.
Deep dive: production hardening
Webhook signature verification is non-negotiable. Dual-SIM store tablets fail when the send slot swaps after reboot. Battery exemptions dominate overnight stockrooms.
Deep dive: scaling and failure modes
Scale is pickups times events, not a blast of the whole catalog. Never claim unlimited free cloud SMS credits with no device or volume meter.
Deep dive: integration discipline
Developer Center owns live API parameters. Persist fulfillment id and store id. MCP is a REST wrapper. If zero phone ops is mandatory, evaluate CPaaS. You bring the Android phone and operator credit.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- SMS webhook integrationInbound and status events
- transactional SMS for orders and alertsEvent-driven messages
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances





