{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["partial","tabs","tab","admonition"]},"type":"markdown"},"seo":{"title":"SMS Messaging","description":"Complete developer documentation for the eCommunicate Omnichannel platform. WhatsApp Cloud, WhatsApp Lite, SMS, Live Chat, and Conversations APIs. Send messages, manage templates, configure webhooks, and build customer engagement at scale.","siteUrl":"https://docs.ecommunicate.co.za","keywords":["eCommunicate API","WhatsApp Business API","SMS API","omnichannel messaging","WhatsApp templates","messaging platform","South Africa messaging API"],"llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"sms-messaging","__idx":0},"children":["SMS Messaging"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send SMS messages directly or as automatic fallback when WhatsApp delivery fails. SMS provides universal reach — every mobile phone can receive an SMS."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Authentication Required"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All API requests require your Developer Key in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]}," header. No ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Bearer"]}," prefix — pass the key directly."," ","See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/authentication"},"children":["Authentication"]}," for setup and security best practices."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"endpoints","__idx":1},"children":["Endpoints"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Method"},"children":["Method"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Endpoint"},"children":["Endpoint"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/whatsapp-api-service/v2/messages"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unified endpoint — set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["channel: \"SMS\""]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/whatsapp-api-service/v2/channels/sms"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["SMS-only endpoint"]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"sending-an-sms","__idx":2},"children":["Sending an SMS"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Unified Endpoint","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"POST /whatsapp-api-service/v2/messages\n\n{\n  \"channel\": \"SMS\",\n  \"payload\": {\n    \"messages\": [\n      {\n        \"to\": \"+27987654321\",\n        \"text\": \"Your verification code is 123456\",\n        \"ctId\": \"your-tracking-id\",\n        \"unicode\": false\n      }\n    ]\n  }\n}\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"SMS Endpoint","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"POST /whatsapp-api-service/v2/channels/sms\n\n{\n  \"messages\": [\n    {\n      \"to\": \"+27987654321\",\n      \"text\": \"Your verification code is 123456\",\n      \"ctId\": \"your-tracking-id\",\n      \"unicode\": false\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response (202 Accepted):"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"response\": \"Request Accepted for Processing\",\n  \"smsGatewayResponse\": {\n    \"statusCode\": \"0\",\n    \"statusDescription\": \"Message(s) Accepted For Processing\",\n    \"completionTime\": \"2026-01-15T10:30:00Z\",\n    \"gstid\": \"tracking-uuid\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"encoding-and-character-limits","__idx":3},"children":["Encoding and character limits"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Encoding"},"children":["Encoding"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"unicode value"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unicode"]}," value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Single SMS"},"children":["Single SMS"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Multipart (per segment)"},"children":["Multipart (per segment)"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Best for"},"children":["Best for"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["GSM 7-bit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["160 chars"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["153 chars"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["English and standard Latin text"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Unicode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["70 chars"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["67 chars"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Non-Latin characters, emoji, accented text"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Choosing the right encoding"},"children":[{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["GSM 7-bit"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unicode: false"]},") for standard English text — it's more cost-effective since you get more characters per message part."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Unicode"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unicode: true"]},") when your message contains non-Latin characters (Arabic, Chinese, Cyrillic), accented characters (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["e"]},"), or emoji."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Multipart messages are automatically split and reassembled on the recipient's device."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"gsm-7-bit-character-set","__idx":4},"children":["GSM 7-bit character set"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The GSM 7-bit encoding supports: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["A-Z"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["a-z"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0-9"]},", space, and these special characters:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"@ £ $ ¥ è é ù ì ò Ç Ø ø Å å Δ _ Φ Γ Λ Ω Π Ψ Σ Θ Ξ\n^ { } \\ [ ~ ] | € ! \" # ¤ % & ' ( ) * + , - . / : ; < = > ? ¡ §\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Any character outside this set will require Unicode encoding."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"segments-and-billing","__idx":5},"children":["Segments and billing"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A single SMS can hold up to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["160 GSM 7-bit characters"]},". Once a message goes over that limit, it is automatically split into ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["153-character segments"]}," so the recipient's device can reassemble them into one long message. Each segment is billed as one SMS."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The 7 characters \"lost\" per segment (160 → 153) hold the User Data Header that tells the handset how to stitch the parts back together."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Calculate length on the client"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Measure the message length ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["before"]}," sending so you know how many SMS will be charged. The platform does not pre-flight the cost — once the message is accepted, every segment counts."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"gsm-7-bit-segmentation","__idx":6},"children":["GSM 7-bit segmentation"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Message length (characters)"},"children":["Message length (characters)"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Segments"},"children":["Segments"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Charged SMS"},"children":["Charged SMS"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1 – 160"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["161 – 306"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2 (2 × 153)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["307 – 459"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3 (3 × 153)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["460 – 612"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["4"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["4 (4 × 153)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["613 – 765"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["5"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["5 (5 × 153)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["766 – 918"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["6"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["6 (6 × 153)"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A message of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["161 characters"]}," costs ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["2 SMS"]},", not 1 — crossing the 160-character boundary by even a single character doubles the cost."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"unicode-ucs-2-segmentation","__idx":7},"children":["Unicode (UCS-2) segmentation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unicode: true"]},", the per-segment limits drop because each character takes 2 bytes:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Message length (characters)"},"children":["Message length (characters)"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Segments"},"children":["Segments"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Charged SMS"},"children":["Charged SMS"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1 – 70"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["71 – 134"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2 (2 × 67)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["135 – 201"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3 (3 × 67)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["202 – 268"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["4"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["4 (4 × 67)"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Watch for accidental Unicode"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A single curly quote (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["'"]},"), em dash (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["—"]},"), or emoji forces the entire message onto Unicode encoding. A 161-character \"English\" message that contains one ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["—"]}," becomes a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["3-SMS Unicode"]}," send instead of a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["2-SMS GSM"]}," send. Sanitise input or strip smart punctuation if you want to guarantee GSM 7-bit billing."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"sms-as-whatsapp-fallback","__idx":8},"children":["SMS as WhatsApp fallback"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Enable automatic SMS fallback on any WhatsApp message by adding the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fallback"]}," object:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"sender\": \"+27123456789\",\n  \"templateName\": \"your_template\",\n  \"templateId\": \"template-uuid\",\n  \"messageType\": \"NOTIFICATION\",\n  \"messages\": [ ... ],\n  \"fallback\": {\n    \"sendFallback\": true,\n    \"text\": \"Custom SMS text (optional)\",\n    \"unicode\": false\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sendFallback"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," to send SMS if recipient is not on WhatsApp"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["text"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Custom SMS text. If omitted, the resolved WhatsApp template text is used"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unicode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," = GSM 7-bit, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," = Unicode"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Fallback needs a phone number"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["SMS fallback delivers to the recipient's phone number, so it isn't available for a recipient addressed by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerUserId"]}," (BSUID) alone — there's no number to fall back to. Supply ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["to"]}," as well if you want SMS fallback to apply."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Toggle fallback at the client level:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"PUT /payless4messaging-service/WhatsApp/Client/updateClientSMSFallback\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This enables or disables SMS fallback globally for all messages sent by that client."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"sms-reports","__idx":9},"children":["SMS reports"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retrieve sent and received SMS messages:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"GET /whatsapp-api-service/SMSSendReceiveMessages/getSMSSendReceiveMessagesForCurrentLoginUser\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Query parameters:"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["page"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Page number (0-based)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["size"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Page size"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["searchString"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by phone number or text content"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["direction"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["enum"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OUTGOING"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INCOMING"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["enum"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DIRECT"]}," (sent as SMS) or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FALLBACK"]}," (WhatsApp fallback)"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response fields:"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["receiver"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Recipient phone number"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["text"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Message content"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["messageStatus"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELIVERED"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SENT"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FAILED"]},", etc."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["messageCost"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cost of the message"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["messageType"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DIRECT"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FALLBACK"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["messageDirection"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OUTGOING"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INCOMING"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"check-sms-balance","__idx":10},"children":["Check SMS balance"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"GET /whatsapp-api-service/SMSBalance/getClientBalance\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Returns your current SMS credit balance. Monitor this to avoid delivery failures due to insufficient credits."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"production-tips","__idx":11},"children":["Production tips"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Always validate phone numbers"]}," in E.164 format before sending (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["+27..."]}," for South Africa)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use GSM 7-bit encoding by default"]}," — only switch to Unicode when your message content requires it"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ctId"]}," for tracking"]}," — correlate SMS delivery reports with your internal records"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Monitor your balance"]}," — set up alerts when credits drop below a threshold"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Check the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mode"]}," field"]}," in reports to distinguish between direct SMS and WhatsApp fallback messages"]}]}]},"headings":[{"value":"SMS Messaging","id":"sms-messaging","depth":1},{"value":"Endpoints","id":"endpoints","depth":2},{"value":"Sending an SMS","id":"sending-an-sms","depth":2},{"value":"Encoding and character limits","id":"encoding-and-character-limits","depth":2},{"value":"GSM 7-bit character set","id":"gsm-7-bit-character-set","depth":3},{"value":"Segments and billing","id":"segments-and-billing","depth":2},{"value":"GSM 7-bit segmentation","id":"gsm-7-bit-segmentation","depth":3},{"value":"Unicode (UCS-2) segmentation","id":"unicode-ucs-2-segmentation","depth":3},{"value":"SMS as WhatsApp fallback","id":"sms-as-whatsapp-fallback","depth":2},{"value":"SMS reports","id":"sms-reports","depth":2},{"value":"Check SMS balance","id":"check-sms-balance","depth":2},{"value":"Production tips","id":"production-tips","depth":2}],"frontmatter":{"title":"SMS Messaging","description":"Send direct SMS messages with encoding options, character limits, and WhatsApp fallback configuration.","seo":{"title":"SMS Messaging"}},"lastModified":"2026-07-16T09:46:36.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/sms-messaging","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}