{"id":2165,"date":"2026-07-15T10:26:25","date_gmt":"2026-07-15T10:26:25","guid":{"rendered":"https:\/\/africala.net\/blog\/?p=2165"},"modified":"2026-07-15T11:17:29","modified_gmt":"2026-07-15T11:17:29","slug":"sms-api-for-ecommerce-messaging-solution","status":"publish","type":"post","link":"https:\/\/africala.net\/blog\/sms-api-for-ecommerce-messaging-solution\/","title":{"rendered":"SMS API for Ecommerce: A Complete Messaging Solution for Online Stores"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Between the &#8220;Order Confirmed&#8221; screen and the box that appears at the door, there are a dozen small messages that need to be fired in the right order, to the right number, and without any being lost. It works, nobody notices. When it doesn&#8217;t: a customer who refreshes their tracking page 3 times, no SMS arrives, or an OTP that arrives 4 minutes late after the checkout session has expired. <\/span><span style=\"font-weight: 400;\">That&#8217;s the part most &#8220;e-commerce messaging&#8221; content skips over. SMS stopped being a marketing add-on a while back. Checkout, payment, shipment, refund, login, all of it now runs on a message getting delivered, and getting delivered fast. Bolt that onto a platform that treats SMS as an afterthought, or worse, run it manually, and you&#8217;ve built the weakest point into an otherwise solid system.<\/span><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-2166\" src=\"https:\/\/africala.net\/blog\/wp-content\/uploads\/2026\/07\/SMS-API-For-E-commerce.jpg\" alt=\"SMS API For ecommerce\" width=\"1920\" height=\"1080\" srcset=\"https:\/\/africala.net\/blog\/wp-content\/uploads\/2026\/07\/SMS-API-For-E-commerce.jpg 1920w, https:\/\/africala.net\/blog\/wp-content\/uploads\/2026\/07\/SMS-API-For-E-commerce-300x169.jpg 300w, https:\/\/africala.net\/blog\/wp-content\/uploads\/2026\/07\/SMS-API-For-E-commerce-1024x576.jpg 1024w, https:\/\/africala.net\/blog\/wp-content\/uploads\/2026\/07\/SMS-API-For-E-commerce-768x432.jpg 768w, https:\/\/africala.net\/blog\/wp-content\/uploads\/2026\/07\/SMS-API-For-E-commerce-1536x864.jpg 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">An SMS API turns those moments into automated, trackable events instead of scattered manual tasks. It&#8217;s not a broadcast tool. Closer to plumbing, honestly, the kind you only think about when it leaks. Africala was built around that, an API-first messaging platform for ecommerce businesses moving real volume, particularly across markets where carrier behavior is less predictable than it is in Western Europe or North America.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The architecture behind that, the workflows it is used for throughout the customer journey, and the parts nobody puts on a landing page\u2014queues, retries, delivery intelligence, the business that could make or break a messaging system during that flash sale. Discussing the mapping of a demo of this before committing to an architecture is a wise idea, rather than after.<\/span><\/p>\n<h2><b>Why Ecommerce Platforms Need an SMS API Instead of Manual Messaging<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Email never really solved its delivery problem. Even with a clean sender reputation, transactional emails land in spam, get buried under promotional noise, or sit unread for hours because nobody&#8217;s actively checking their inbox mid-checkout. For anything time-sensitive, an OTP, a payment confirmation, a &#8220;your rider is 5 minutes away&#8221; ping, email is too slow and too easy to ignore.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Push notifications aren&#8217;t a real substitute either. They only work if the customer has the app installed, has notifications turned on, and hasn&#8217;t uninstalled it after their first order, which happens more than most product teams want to admit. WhatsApp Business messaging is strong for a lot of use cases, but the opt-in requirements and template approval process make it a bad fit for something that needs to fire instantly and unconditionally, like an OTP at signup.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">SMS doesn&#8217;t carry those restrictions. It reaches basic phones and smartphones alike, needs no app, and gets read within minutes in most markets. <\/span><span style=\"font-weight: 400;\">But if it&#8217;s sent manually \u2013 that is, someone copying a number and typing a message by hand \u2013 it goes down in flames once you get to a few dozen orders a day. When volume increases, you need an asynchronous, event-driven solution, an order should be placed, a payment cleared, a package sent off to the warehouse, a message sent out on its own with no humans involved.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That is what an API is, and how it differs from a dashboard.<\/span><span style=\"font-weight: 400;\"> Your order system, payment gateway, and warehouse software can each trigger a message the instant something happens, queued and processed reliably instead of typed by whoever&#8217;s free on the support desk. Worth understanding the mechanics before going further, and <\/span><a href=\"https:\/\/africala.net\/blog\/how-does-sms-api-work-architecture-flow\/\"><b>how SMS APIs actually work<\/b><\/a> <span style=\"font-weight: 400;\">is a decent place to start if you haven&#8217;t looked at this layer before.<\/span><\/p>\n<h2><b>SMS API Architecture for E-commerce Platforms<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Strip the flow down, and it looks simple: a customer does something on your site or app, that action hits your checkout service or order system, which calls the SMS API, which routes through a carrier network, which lands on the customer&#8217;s phone. Every one of those hops is a place things can go wrong, and a well-built API exists specifically to absorb failure at each one without the customer ever seeing it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Most of this runs over REST APIs authenticated with tokens, sent over HTTPS, so phone numbers, OTP codes, and order details aren&#8217;t exposed in transit. That part&#8217;s fairly standard across providers. <\/span><span style=\"font-weight: 400;\">Things that differentiate a system that is able to hold up under real traffic from one that can&#8217;t are failover routing if a primary carrier route is congested, delivery receipts to see whether a message actually got to the handset (as opposed to the API accepting it), and webhooks that push status back to your system in real time, rather than polling for it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">High availability matters more here than almost anywhere else in an ecommerce stack, because messaging failures compound. If it takes down the regional carrier for a while and the customer is unable to log in, they are unable to check out\u2014and you are losing money because your staff is not responsible for that. The unglamorous are what end up mattering the most: retry logic, load balancing across carrier routes, and queues that can absorb the sudden influx without dropping messages.<\/span><\/p>\n<h2><b>Event-Driven SMS Workflows Across the Customer Journey<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Easier to understand this by walking through what actually triggers a message, rather than listing generic &#8220;benefits.&#8221; Each stage of the journey has its own event, its own urgency, and its own way of breaking if the message doesn&#8217;t land.<\/span><\/p>\n<h3><b>Customer Registration<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">The first message most customers get from you is an OTP, and it has to arrive fast. A few seconds are tolerable. A minute or more, and the customer&#8217;s usually already given up or hit resend, which just piles more load onto your system without fixing anything. Doubly true in markets where number portability and multiple carriers complicate routing. A business sending an <\/span><a href=\"https:\/\/africala.net\/ke\/products\/sms-api\/\"><b>SMS API in Kenya<\/b><\/a><span style=\"font-weight: 400;\"> has to account for the fact that a Safaricom number and an Airtel number can take entirely different paths to delivery, and the routing logic needs to handle that without anyone noticing. Africala&#8217;s <\/span><a href=\"https:\/\/africala.net\/blog\/seamless-login-verification-via-otp-sms\/\"><b>OTP and login verification setup<\/b><\/a> <span style=\"font-weight: 400;\">is built around exactly that kind of regional carrier variance.<\/span><\/p>\n<h3><b>Payment Success<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">The moment a payment clears, three things typically need to happen: an instant confirmation to reassure the customer that the charge went through, an invoice notification if your billing flow requires one, and a failure alert if it didn&#8217;t clear. That last one gets forgotten a lot. A customer whose card was declined needs to know right away, not five minutes later, after they&#8217;ve closed the tab and gone to a competitor.<\/span><\/p>\n<h3><b>Order Confirmation<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Once an order&#8217;s placed, the API generates a confirmation that usually includes the order ID, an expected delivery window, and a tracking URL. Sounds simple. It&#8217;s also the message customers screenshot and reference more than almost any other, so accuracy matters here more than it does elsewhere in the flow. Get the delivery estimate wrong, and you erode trust faster than a delayed shipment ever would.<\/span><\/p>\n<h3><b>Warehouse Dispatch<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">That typically begins in an ERP or warehouse management system, and not from the storefront, when an order is placed, packed, and on the road. The SMS API must be able to accept triggers from that layer, not only checkout, but also push real-time status back for the operations team to see what is truly shipped.<\/span><\/p>\n<h3><b>Last Mile Delivery<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">This is where message frequency peaks: driver assignment, ETA updates as the vehicle closes in, a final delivery confirmation. It&#8217;s also where logistics-specific routing problems show up most, particularly across regions with inconsistent addressing. Worth a look at how <\/span><a href=\"https:\/\/africala.net\/blog\/sms-api-for-logistics-communication\/\"><b>SMS API for logistics<\/b><\/a> <span style=\"font-weight: 400;\">communication handles that, since delivery messaging has its own quirks separate from the rest of the ecommerce flow.<\/span><\/p>\n<h3><b>Returns &amp; Refunds<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">The refund lifecycle deserves as much attention as the purchase lifecycle, and most platforms underinvest in it. A refund initiated, a refund processed, a pickup scheduled for the returned item: three separate messages, and they cut support tickets noticeably, because &#8220;did my refund go through&#8221; is one of the most common reasons people contact support in the first place.<\/span><\/p>\n<h2><b>Ecommerce Systems That Can Integrate with Africala&#8217;s SMS API<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">If the API does not fit the stack you are running, this does not apply. Africala integrates with all major ecommerce platforms, including Shopify, WooCommerce, Magento, Adobe Commerce, BigCommerce, and OpenCart, as well as with all popular web platforms, such as Laravel, Node.js, Java, .NET, and Python. No matter what platform you use, your system triggers a webhook or API call, and Africala delivers, routes, and reports on it. That&#8217;s not a rebuild of the backend for most Shopify and WooCommerce merchants; it&#8217;s just an app or a simple middleware layer.<\/span><\/p>\n<h2><b>Advanced SMS Automation Workflows<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Beyond the core transactional messages, there&#8217;s a second layer most ecommerce businesses build once the basics are stable. Back-in-stock alerts for products customers were watching, flash sale notifications timed to actual inventory rather than a fixed schedule, price drop alerts on wishlisted items: these tend to convert well because they&#8217;re triggered by real customer interest instead of a blanket promotional blast.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cash-on-delivery verification is underrated in markets where COD still makes up a meaningful share of orders. A confirmation SMS before dispatch cuts down failed deliveries and wasted logistics costs, since it filters out fraudulent or accidental orders before a driver&#8217;s ever sent out. Subscription renewals and membership expiry notices run on similar logic, a heads-up before a charge happens instead of after, which cuts down on chargebacks and disputes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Abandoned cart recovery is likely the most discussed one of these, and it has the attention. It&#8217;s not sent immediately but rather an hour or two after the abandonment. It will do better in markets where SMS open rates remain high, compared to email recovery. Loyalty updates and referral messages complement these but are more promotional than transactional, yet are all on the same reliable, event-driven infrastructure.<\/span><\/p>\n<h2><b>Message Queue Design for Peak Traffic<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Black Friday, Cyber Monday, flash sales: this is where messaging infrastructure either proves itself or falls over. Volume orders can increase by 10 to 20 times the usual amount in just an hour, and each of those volume orders results in 1 or possibly more SMS events. This is where messages get delayed, dropped, and sent out of order if there is no correct queue architecture.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A rate limiter can be implemented using tools such as RabbitMQ, Kafka, or Redis-backed queues to ensure that the rate doesn&#8217;t overload carrier connections, while priority queues can ensure that a payment confirmation or OTP isn&#8217;t lost behind a batch of promotional sends in the same pipeline. Batch processing is useful for non-urgent sends, retry policies are useful in the event of a temporary failure from the carrier, and dead-letter queues are useful to prevent messages from being lost forever while awaiting attention. Africala&#8217;s throughput is built around absorbing exactly this kind of burst, which matters more during a two-hour flash sale than on an average Tuesday.<\/span><\/p>\n<h2><b>Delivery Intelligence &amp; Analytics<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Sending a message and knowing whether it actually arrived are two different problems, and the gap between them is where a lot of &#8220;why didn&#8217;t my customer get this?&#8221; tickets come from. Delivery reports and DLRs tell you whether a message reached the handset, and carrier response codes explain why it didn&#8217;t when it fails: an invalid number, a network issue, a handset that&#8217;s switched off.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Latency monitoring and country-wise performance data matter more than most teams assume going in, especially for businesses operating across several African markets, where carrier performance varies by country and sometimes by region within one. API monitoring, webhook callbacks for real-time status, and a dashboard that actually shows this data, not buried in a CSV that you don&#8217;t open, are what make delivery intelligence more of a daily check-in for operations teams than something they plan to look at.<\/span><\/p>\n<h2><b>Security &amp; Compliance Considerations<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Everything above assumes the underlying transport is secure, and that&#8217;s not something to take for granted. HTTPS across all API traffic, API keys with proper rotation, and OAuth where the provider supports it are baseline requirements, not premium extras. Phone number masking and general PII protection matter especially for order data, since a phone number tied to a delivery address carries more risk than it might first appear.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">OTP expiry needs to be short enough to prevent replay attacks but not so short that legitimate customers get locked out mid-checkout, and rate limiting protects against both abuse and accidental retry storms from your own system. Consent management and opt-out handling aren&#8217;t just good practice; they&#8217;re required by regulation in most markets now, and country-specific rules, which vary a lot across Africa and even more so if you&#8217;re sending internationally, need to be built into the routing logic rather than bolted on afterward.<\/span><\/p>\n<h2><b>Choosing an E-commerce SMS API Provider<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Picking a provider comes down to a fairly consistent set of questions, even if the answers vary by business. Carrier connectivity and direct routes matter more than almost anything else, since aggregator-only routing tends to produce inconsistent delivery times and higher failure rates. API uptime and actual throughput, not the number on a sales page but what the provider can sustain during a real spike, are worth testing before committing rather than after.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you have operations in several countries, regional coverage is important, as a provider who is successful in one country may be unsuccessful in another. Feature lists, while useful, are less of a differentiator for providers, and details like pricing, documentation quality, and response time of support teams are what set the providers apart. Delivery reports, retry mechanisms, and a sandbox environment for testing before going live are the kind of details that seem trivial until you are on a production issue and need to access them. If you&#8217;re weighing providers more broadly, <\/span><a href=\"https:\/\/africala.net\/blog\/enterprise-sms-api-solutions\/\"><b>enterprise SMS API solutions<\/b><\/a> <span style=\"font-weight: 400;\">and <\/span><a href=\"https:\/\/africala.net\/blog\/how-to-choose-the-best-text-message-api-for-your-business\/\"><b>choosing the best text message API<\/b><\/a><span style=\"font-weight: 400;\"> both go deeper into this evaluation process.<\/span><\/p>\n<h2><b>Why Africala Is Built for Ecommerce Messaging at Scale<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Africala&#8217;s offering is quite targeted: &#8216;Global carrier connectivity, combined with real expertise in the African markets, where routing quirks, regulatory differences, and carrier-specific behaviors demand more than a global SMS platform can provide. The bare minimum is RESTful APIs, rapid onset, and high throughput. It comes down to the mix: advanced delivery reporting, webhook support, OTP infrastructure that factors in regional carrier behavior, and multi-country routing \u2013 without having to deploy a business integration in every country.<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Feature<\/b><\/td>\n<td><b>Generic SMS Provider<\/b><\/td>\n<td><b>Africala<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">REST API<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Direct Carrier Routes<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Limited<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Delivery Reports<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Basic<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Advanced<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Webhooks<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Sometimes<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Multi-country Routing<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Limited<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Enterprise Support<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Extra cost<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Included<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">High Throughput<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Varies<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Ecommerce Automation<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Partial<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Complete<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Service-level_agreement\" target=\"_blank\" rel=\"noopener\"><b>Enterprise SLAs<\/b><\/a><span style=\"font-weight: 400;\"> and dedicated support round this out, and that matters most at 2 am during a regional sale event, when you need someone who actually understands the routing, not a generic ticketing queue.<\/span><\/p>\n<h3><b>Also Read:<\/b> <strong><a href=\"https:\/\/africala.net\/blog\/sms-for-ecommerce-stores-in-africa\/\">How E-commerce Stores in Africa Use SMS for Order Tracking &amp; Cart Recovery<\/a><\/strong><\/h3>\n<h2><b>Frequently Asked Questions<\/b><\/h2>\n<p><b>What is an SMS API for ecommerce?<\/b><span style=\"font-weight: 400;\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Instead of someone typing and sending out SMS manually, a programmatic interface that allows your platform, whether it&#8217;s Shopify, a built-in video app like Laravel, or something else, to automatically send SMS based on events like orders, payments and shipping notifications.<\/span><\/p>\n<p><b>Is it possible for Shopify to connect with an SMS API?<\/b><span style=\"font-weight: 400;\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Yes. Shopify stores typically receive orders via a thin application or middleware that subscribes to Shopify webhooks, such as &#8220;order created&#8221; and &#8220;order fulfilled&#8221; events, and then sends them to the SMS API, which will deliver the SMS.<\/span><\/p>\n<p><b>How are transactional and promotional SMS different?<\/b><span style=\"font-weight: 400;\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Transactional messages (OTPs, confirmations, delivery updates) are tied to something the customer just did, and generally don&#8217;t need the same opt-in consent as promotional sends, which are marketing and face stricter consent and opt-out rules in most markets.<\/span><\/p>\n<p><b>How does an SMS API reduce cart abandonment?<\/b><span style=\"font-weight: 400;\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">By triggering a reminder a set time after a cart&#8217;s abandoned, timed to when the customer&#8217;s still likely to finish the purchase, rather than relying only on email, which a lot of customers don&#8217;t check quickly or at all.<\/span><\/p>\n<p><b>Can the SMS API be trusted for OTPs?\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Yes, if done properly. HTTPS transport, brief OTP expiry periods, rate limiting to prevent abuse, and providers that do not log or reveal codes outside of operational requirements.<\/span><\/p>\n<p><b>Is there a possibility to send the message anywhere in the world or just within a country?<\/b><span style=\"font-weight: 400;\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">International sending is generally available with most providers, including Africala, with speed and reliability varying from provider to provider based on the relationships with the various carriers and direct routing with each carrier in the destination country, which is why the coverage of sending to multiple countries varies greatly among providers.<\/span><\/p>\n<p><b>How many messages can an API send per second?<\/b><span style=\"font-weight: 400;\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Depends on your account&#8217;s throughput tier and the destination carrier&#8217;s capacity, not one fixed number. During flash sales and similar spikes, this is exactly what queue architecture and rate limiting are there to manage.<\/span><\/p>\n<p><b>What metrics should I monitor after integrating an SMS API?<\/b><span style=\"font-weight: 400;\">\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Delivery rate, average latency, failure reasons by carrier response code, and country or region-specific performance. These surface problems early, instead of just confirming the API accepted the send.<\/span><\/p>\n<h2><b>Where This Leaves You<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">SMS isn&#8217;t a marketing channel that happens to also send order updates anymore. For most ecommerce businesses moving any real volume, it&#8217;s core infrastructure, right up there with your payment gateway or order management system, and it deserves the same scrutiny when you&#8217;re picking a provider. <\/span><span style=\"font-weight: 400;\">A robust SMS API will provide secure authentication with OTP, deliver up-to-the-minute information to customers, enable personalised engagement when it&#8217;s relevant, and automate effectively throughout the checkout to delivery to return process.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Before you find yourself exposed for the next big event, it may be a good idea to check out Africala&#8217;s <\/span><a href=\"https:\/\/africala.net\/api1.pdf\"><b>API documentation<\/b><\/a><span style=\"font-weight: 400;\">, schedule a demo, or consult with the sales team about your integration needs.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Between the &#8220;Order Confirmed&#8221; screen and the box that appears at the door, there are a dozen small messages that need to be fired in the right order, to the right number, and without any being lost. It works, nobody notices. When it doesn&#8217;t: a customer who refreshes their tracking page 3 times, no SMS [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":2167,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[334],"tags":[],"class_list":["post-2165","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sms-api"],"_links":{"self":[{"href":"https:\/\/africala.net\/blog\/wp-json\/wp\/v2\/posts\/2165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/africala.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/africala.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/africala.net\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/africala.net\/blog\/wp-json\/wp\/v2\/comments?post=2165"}],"version-history":[{"count":6,"href":"https:\/\/africala.net\/blog\/wp-json\/wp\/v2\/posts\/2165\/revisions"}],"predecessor-version":[{"id":2173,"href":"https:\/\/africala.net\/blog\/wp-json\/wp\/v2\/posts\/2165\/revisions\/2173"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/africala.net\/blog\/wp-json\/wp\/v2\/media\/2167"}],"wp:attachment":[{"href":"https:\/\/africala.net\/blog\/wp-json\/wp\/v2\/media?parent=2165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/africala.net\/blog\/wp-json\/wp\/v2\/categories?post=2165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/africala.net\/blog\/wp-json\/wp\/v2\/tags?post=2165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}