{"id":373971,"date":"2026-10-05T14:27:18","date_gmt":"2026-10-05T14:27:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sms-gateway-center-sms-rcs-voice-notifications\/"},"modified":"2026-10-05T14:50:20","modified_gmt":"2026-10-05T14:50:20","slug":"sgc-connect","status":"publish","type":"plugin","link":"https:\/\/ssw.wordpress.org\/plugins\/sgc-connect\/","author":14198636,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.14","stable_tag":"1.0.14","tested":"7.1.3","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"SMS Gateway Center - SMS, RCS & Voice Notifications","header_author":"SMS Gateway Center","header_description":"Send SMS, WhatsApp, RCS & Voice notifications from WooCommerce, Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Formidable Forms, Easy Digital Downloads, The Events Calendar, Simply Schedule Appointments, LearnDash, and WordPress login\/registration OTP - one account, every channel.","assets_banners_color":"226a99","last_updated":"2026-10-05 14:50:20","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.smsgatewaycenter.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":202,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.14":{"tag":"1.0.14","author":"smsgatewaycenter","date":"2026-10-05 14:50:20","revision":3729110}},"upgrade_notice":{"1.0.8":"<p>Adds appointment booking (Simply Schedule Appointments), Events Calendar, Easy Digital Downloads, Ninja Forms, Formidable Forms integrations, and a WooCommerce abandoned-cart reminder. No action needed to upgrade.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3729080,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3729080,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3729080,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3729080,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.14"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3729080,"resolution":"1","location":"assets","locale":"","width":1536,"height":1024},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3729080,"resolution":"2","location":"assets","locale":"","width":1536,"height":1024},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3729080,"resolution":"3","location":"assets","locale":"","width":1536,"height":1024},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3729080,"resolution":"4","location":"assets","locale":"","width":1536,"height":1024},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3729080,"resolution":"5","location":"assets","locale":"","width":1983,"height":793}},"screenshots":{"1":"Connect Account - paste your credentials once, test the connection, done.","2":"WooCommerce settings tab - one toggle, channel picker, and message template per order event.","3":"The channel\/fallback-order picker - choose SMS, WhatsApp, RCS and\/or Voice, tried in the order you check them.","4":"Message Log - every send, its channel, and whether it succeeded, without leaving WordPress.","5":"Login &amp; Registration OTP settings - multi-channel two-factor authentication for WordPress core login and signup."}},"plugin_section":[],"plugin_tags":[4906,9210,711,3160,286],"plugin_category":[41,45],"plugin_contributors":[213223],"plugin_business_model":[],"class_list":["post-373971","plugin","type-plugin","status-publish","hentry","plugin_tags-notifications","plugin_tags-otp","plugin_tags-sms","plugin_tags-whatsapp","plugin_tags-woocommerce","plugin_category-communication","plugin_category-ecommerce","plugin_contributors-smsgatewaycenter","plugin_committers-smsgatewaycenter"],"banners":{"banner":"https:\/\/ps.w.org\/sgc-connect\/assets\/banner-772x250.png?rev=3729080","banner_2x":"https:\/\/ps.w.org\/sgc-connect\/assets\/banner-1544x500.png?rev=3729080","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sgc-connect\/assets\/icon-128x128.png?rev=3729080","icon_2x":"https:\/\/ps.w.org\/sgc-connect\/assets\/icon-256x256.png?rev=3729080","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sgc-connect\/assets\/screenshot-1.png?rev=3729080","caption":"Connect Account - paste your credentials once, test the connection, done."},{"src":"https:\/\/ps.w.org\/sgc-connect\/assets\/screenshot-2.png?rev=3729080","caption":"WooCommerce settings tab - one toggle, channel picker, and message template per order event."},{"src":"https:\/\/ps.w.org\/sgc-connect\/assets\/screenshot-3.png?rev=3729080","caption":"The channel\/fallback-order picker - choose SMS, WhatsApp, RCS and\/or Voice, tried in the order you check them."},{"src":"https:\/\/ps.w.org\/sgc-connect\/assets\/screenshot-4.png?rev=3729080","caption":"Message Log - every send, its channel, and whether it succeeded, without leaving WordPress."},{"src":"https:\/\/ps.w.org\/sgc-connect\/assets\/screenshot-5.png?rev=3729080","caption":"Login &amp; Registration OTP settings - multi-channel two-factor authentication for WordPress core login and signup."}],"raw_content":"<!--section=description-->\n<p><strong>SGC Connect<\/strong> connects one SMS Gateway Center account to your WordPress site, and sends notifications on whichever channel you choose - SMS, WhatsApp, RCS, or Voice - with automatic fallback to the next channel if the first one fails.<\/p>\n\n<h4>Works with<\/h4>\n\n<p>Each integration appears as its own tab under <strong>SGC Connect<\/strong> only when that plugin is active on your site. For every event you choose the channels (SMS, WhatsApp, RCS, Voice), pick an already-approved template from your SMS Gateway Center account, and fill in its variables using the placeholder tokens listed on that tab.<\/p>\n\n<p><strong>WooCommerce<\/strong><\/p>\n\n<p>Notifies the customer's billing phone number.<\/p>\n\n<ul>\n<li><strong>New order placed<\/strong>, <strong>Order processing<\/strong> (payment received), <strong>Order shipped \/ completed<\/strong>, <strong>Order cancelled or failed<\/strong> - one message per status change.<\/li>\n<li><strong>Cart abandoned<\/strong> - sent once when a shopper has entered a phone number at checkout but not placed an order for 60 minutes. Works with both the block-based Cart\/Checkout and the classic shortcode checkout. Reminders are sent by WP-Cron, so they depend on your site receiving visits (or a real server cron calling wp-cron.php).<\/li>\n<li>Tokens: <code>{order_id}<\/code>, <code>{first_name}<\/code>, <code>{order_total}<\/code>, <code>{store_name}<\/code>, <code>{cart_total}<\/code>, <code>{cart_url}<\/code>.<\/li>\n<\/ul>\n\n<p><strong>Easy Digital Downloads<\/strong><\/p>\n\n<p>EDD does not collect a phone number, so SGC Connect adds an optional <strong>Mobile number<\/strong> field under the email field on the checkout form. Customers who leave it blank are simply not messaged.<\/p>\n\n<ul>\n<li>Events: <strong>order placed<\/strong>, <strong>order completed<\/strong>, <strong>order refunded<\/strong>, <strong>order payment failed<\/strong>.<\/li>\n<li>Tokens: <code>{order_id}<\/code>, <code>{customer_name}<\/code>, <code>{order_total}<\/code>, <code>{store_name}<\/code>.<\/li>\n<\/ul>\n\n<p><strong>Contact Form 7<\/strong><\/p>\n\n<ul>\n<li>Event: <strong>a form is submitted<\/strong>. The mobile number is taken from the first field whose name contains <code>phone<\/code>, <code>mobile<\/code> or <code>tel<\/code> (for example <code>your-phone<\/code>). Forms without such a field send nothing.<\/li>\n<li>Tokens: <code>{form_title}<\/code> and <code>{field:your-field-name}<\/code> for any submitted field, e.g. <code>{field:your-name}<\/code>.<\/li>\n<\/ul>\n\n<p><strong>WPForms<\/strong><\/p>\n\n<ul>\n<li>Event: <strong>a form is submitted<\/strong>. The mobile number is taken from the form's <strong>Phone<\/strong> field.<\/li>\n<li>Tokens: <code>{form_title}<\/code> and <code>{field:1}<\/code> - use the numeric field ID shown in the WPForms builder.<\/li>\n<\/ul>\n\n<p><strong>Ninja Forms<\/strong><\/p>\n\n<ul>\n<li>Event: <strong>a form is submitted<\/strong>. The mobile number is taken from the form's <strong>Phone<\/strong> field.<\/li>\n<li>Tokens: <code>{form_title}<\/code> and <code>{field:your_field_key}<\/code> - use the field key shown in the Ninja Forms builder.<\/li>\n<\/ul>\n\n<p><strong>Formidable Forms<\/strong><\/p>\n\n<ul>\n<li>Event: <strong>a form is submitted<\/strong> (a new entry is created). The mobile number is taken from the form's <strong>Phone<\/strong> field.<\/li>\n<li>Tokens: <code>{form_title}<\/code> and <code>{field:your_field_key}<\/code> - use the field key shown in the Formidable builder.<\/li>\n<\/ul>\n\n<p><strong>Gravity Forms<\/strong><\/p>\n\n<ul>\n<li>Event: <strong>a form is submitted<\/strong>. The mobile number is taken from the form's <strong>Phone<\/strong> field.<\/li>\n<li>Tokens: <code>{form_title}<\/code> and <code>{field:1}<\/code> - use the numeric field ID shown in the form editor.<\/li>\n<\/ul>\n\n<p><strong>The Events Calendar + Event Tickets<\/strong><\/p>\n\n<p>Free RSVP tickets are supported. SGC Connect adds an optional <strong>Mobile number<\/strong> field to the RSVP form.<\/p>\n\n<ul>\n<li><strong>RSVP confirmed<\/strong> - sent immediately when someone RSVPs \"going\" (not for \"not going\").<\/li>\n<li><strong>Event starting soon<\/strong> - sent once, 60 minutes before the event starts, to everyone who RSVP'd going and left a mobile number. Sent by WP-Cron.<\/li>\n<li>Tokens: <code>{event_title}<\/code>, <code>{event_date}<\/code>, <code>{venue_name}<\/code>, <code>{store_name}<\/code>.<\/li>\n<\/ul>\n\n<p><strong>Appointment booking (Simply Schedule Appointments)<\/strong><\/p>\n\n<p>Turn on the <strong>Phone<\/strong> field under <strong>Customer Information<\/strong> in your appointment type so customers can enter a number.<\/p>\n\n<ul>\n<li><strong>Appointment booked<\/strong>, <strong>Appointment canceled<\/strong>, and <strong>Appointment starting soon<\/strong> (sent once, 60 minutes before the start time, by WP-Cron).<\/li>\n<li>Tokens: <code>{appointment_type}<\/code>, <code>{appointment_date}<\/code>, <code>{customer_name}<\/code>, <code>{store_name}<\/code>.<\/li>\n<\/ul>\n\n<p><strong>LearnDash<\/strong><\/p>\n\n<ul>\n<li><strong>Student enrolled in a course<\/strong> and <strong>Student completes a course<\/strong>. The number is read from the student's <code>billing_phone<\/code> (or <code>phone_number<\/code>) profile field, so students without one are skipped.<\/li>\n<li>Tokens: <code>{first_name}<\/code>, <code>{course_title}<\/code>.<\/li>\n<\/ul>\n\n<p><strong>WordPress login and registration (OTP)<\/strong><\/p>\n\n<ul>\n<li><strong>Registration<\/strong> - adds a Mobile Number field and a \"Send OTP\" button to the WordPress registration form; the account is only created once the correct code is entered.<\/li>\n<li><strong>Login<\/strong> - an optional second factor for users who verified a phone at registration. After a correct password, the first login attempt sends a code and asks you to log in again with it.<\/li>\n<li>Codes are 6 digits, valid for 10 minutes and single-use. Put the <code>{otp}<\/code> token in your SMS, WhatsApp or RCS template. Voice plays a fixed pre-recorded clip and cannot read out a code, so use SMS, WhatsApp or RCS for OTP.<\/li>\n<\/ul>\n\n<p><strong>You do not need all of these plugins installed.<\/strong> SGC Connect only ever shows a settings tab for the plugins you actually have active - a WooCommerce-only store never sees a Gravity Forms tab, and none of that integration's code is even loaded on your site.<\/p>\n\n<h4>External service: SMS Gateway Center<\/h4>\n\n<p>This plugin is a connector for the <strong>SMS Gateway Center<\/strong> messaging service and does nothing until you connect your own account. When an event you enabled happens (an order, a form submission, a booking, an OTP request and so on), the plugin sends that message's recipient phone number and message content (or template variables) to your SMS Gateway Center account URL, which you enter under <strong>SGC Connect &gt; Connect Account<\/strong>. The \"Test Connection\" button and the template pickers also contact your account to send a test SMS and to list your approved templates, senders and voice clips. Your API key or password is stored encrypted and sent only to your account URL.<\/p>\n\n<p>Service: <a href=\"https:\/\/www.smsgatewaycenter.com\/\">SMS Gateway Center<\/a> - <a href=\"https:\/\/www.smsgatewaycenter.com\/termsofservice\/\">Terms of Service<\/a> - <a href=\"https:\/\/www.smsgatewaycenter.com\/privacy\/\">Privacy Policy<\/a><\/p>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Install SGC Connect and go to <strong>SGC Connect &gt; Connect Account<\/strong>. Paste your SMS Gateway Center userid and password (or API key). Click Test Connection.<\/li>\n<li>Open the tab for whichever plugin you use (WooCommerce, Contact Form 7, etc.) and turn on the events you want notified - each with its own channel choice and message template.<\/li>\n<li>Done. Every matching event on your site now sends automatically, and you can see every send (and whether it succeeded) under <strong>Message Log<\/strong>.<\/li>\n<\/ol>\n\n<p>Don't have an account yet? <a href=\"https:\/\/www.smsgatewaycenter.com\/\">Sign up free at SMSGatewayCenter.com<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install it from <strong>Plugins &gt; Add New<\/strong>, then activate it.<\/li>\n<li>Go to <strong>SGC Connect &gt; Connect Account<\/strong>. Enter your SMS Gateway Center account URL and userid, plus either your API key (recommended) or password. Add your default Sender ID, and a WhatsApp Business number, RCS Bot ID and Voice Library ID if you use those channels.<\/li>\n<li>Click <strong>Test Connection<\/strong> to send yourself a real test SMS.<\/li>\n<li>Open the tab for the plugin you use (for example WooCommerce), turn on an event, tick the channels you want, choose a template and fill in its variables. Save.<\/li>\n<li>Check <strong>Message Log<\/strong> to see each send and whether it succeeded.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20plugins%20does%20sgc%20connect%20send%20sms%2Fwhatsapp%2Frcs%2Fvoice%20notifications%20for%3F\"><h3>Which plugins does SGC Connect send SMS\/WhatsApp\/RCS\/Voice notifications for?<\/h3><\/dt>\n<dd><p>WooCommerce, Easy Digital Downloads, Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Formidable Forms, The Events Calendar (with Event Tickets), appointment booking via Simply Schedule Appointments, LearnDash, and WordPress's own core login\/registration screens. See the \"Works with\" section above for exactly what each one triggers.<\/p><\/dd>\n<dt id=\"do%20i%20need%20all%20these%20other%20plugins%20%28woocommerce%2C%20gravity%20forms%2C%20etc.%29%20installed%3F\"><h3>Do I need all these other plugins (WooCommerce, Gravity Forms, etc.) installed?<\/h3><\/dt>\n<dd><p>No. SGC Connect detects which of them are active on your site and only shows settings for those. If you only run Contact Form 7, that is the only integration tab you will ever see.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20my%20site%20down%20if%20i%20only%20use%20one%20integration%3F\"><h3>Will this slow my site down if I only use one integration?<\/h3><\/dt>\n<dd><p>No. Code for an integration you don't have installed is never loaded at all - not just hidden, genuinely never read by PHP. The plugin's footprint scales with what you actually use.<\/p><\/dd>\n<dt id=\"what%20if%20i%20want%20sms%20to%20try%20first%2C%20then%20whatsapp%20if%20that%20fails%3F\"><h3>What if I want SMS to try first, then WhatsApp if that fails?<\/h3><\/dt>\n<dd><p>Every event lets you pick more than one channel; whichever you check are tried in the order shown, moving to the next only if the previous one fails to deliver.<\/p><\/dd>\n<dt id=\"does%20the%20login%20otp%20feature%20require%20sms%20only%2C%20like%20most%202fa%20plugins%3F\"><h3>Does the login OTP feature require SMS only, like most 2FA plugins?<\/h3><\/dt>\n<dd><p>No - you can require it over SMS, WhatsApp, or RCS, or configure more than one as a fallback sequence.<\/p><\/dd>\n<dt id=\"a%20customer%20didn%27t%20receive%20a%20message.%20how%20do%20i%20find%20out%20why%3F\"><h3>A customer didn't receive a message. How do I find out why?<\/h3><\/dt>\n<dd><p>Open <strong>SGC Connect &gt; Message Log<\/strong> - every attempt is listed with its channel and result, and hovering a \"Failed\" badge shows the reason. If nothing is listed at all, the message was never attempted. The usual causes are: the event isn't switched on, no channel (or no template) is chosen for it, or there was no phone number to send to (for example the customer left an optional mobile field blank).<\/p><\/dd>\n<dt id=\"what%20format%20should%20phone%20numbers%20be%20in%3F\"><h3>What format should phone numbers be in?<\/h3><\/dt>\n<dd><p>Include the country code (for example 919812345678 or +919812345678). Spaces, dashes and brackets are stripped automatically, but the plugin cannot guess a missing country code.<\/p><\/dd>\n<dt id=\"where%20does%20woocommerce%20get%20the%20customer%27s%20number%20from%3F\"><h3>Where does WooCommerce get the customer's number from?<\/h3><\/dt>\n<dd><p>From the billing phone on the order. If a customer's order has no billing phone, no message is sent for it.<\/p><\/dd>\n<dt id=\"how%20does%20the%20abandoned-cart%20reminder%20work%3F\"><h3>How does the abandoned-cart reminder work?<\/h3><\/dt>\n<dd><p>When a shopper types a phone number at checkout but doesn't place an order, SGC Connect waits 60 minutes and sends one reminder. If they change their cart again, the timer restarts. Shoppers who never entered a phone number can't be messaged. It works with both the block-based and the classic WooCommerce checkout.<\/p><\/dd>\n<dt id=\"why%20did%20an%20abandoned-cart%2C%20event%2C%20or%20appointment%20reminder%20arrive%20late%3F\"><h3>Why did an abandoned-cart, event, or appointment reminder arrive late?<\/h3><\/dt>\n<dd><p>These reminders run on WP-Cron, which only fires when someone visits your site. On a very quiet site, a reminder can be delayed until the next visit. If timing matters, have your host call <code>wp-cron.php<\/code> from a real server cron every few minutes.<\/p><\/dd>\n<dt id=\"which%20form%20field%20is%20used%20as%20the%20mobile%20number%3F\"><h3>Which form field is used as the mobile number?<\/h3><\/dt>\n<dd><p>Contact Form 7: the first field whose name contains \"phone\", \"mobile\" or \"tel\". WPForms, Ninja Forms, Formidable Forms and Gravity Forms: the form's Phone field. If a form has no such field, nothing is sent for that form.<\/p><\/dd>\n<dt id=\"how%20do%20i%20put%20what%20the%20visitor%20typed%20into%20the%20message%3F\"><h3>How do I put what the visitor typed into the message?<\/h3><\/dt>\n<dd><p>Use the field tokens listed at the top of the integration tab, for example <code>{field:your-name}<\/code> in Contact Form 7 or <code>{field:1}<\/code> (the field ID) in WPForms and Gravity Forms. For WhatsApp and RCS, fill the template's variables with these tokens.<\/p><\/dd>\n<dt id=\"easy%20digital%20downloads%20has%20no%20phone%20field%20-%20where%20do%20customers%20enter%20their%20number%3F\"><h3>Easy Digital Downloads has no phone field - where do customers enter their number?<\/h3><\/dt>\n<dd><p>SGC Connect adds an optional \"Mobile number\" field to the EDD checkout form, under the email field. Orders placed without a number don't trigger a message.<\/p><\/dd>\n<dt id=\"do%20events%20and%20rsvps%20work%20with%20paid%20tickets%3F\"><h3>Do events and RSVPs work with paid tickets?<\/h3><\/dt>\n<dd><p>Not yet. The Events Calendar support covers free RSVP tickets. Paid ticket purchases through Event Tickets are not included.<\/p><\/dd>\n<dt id=\"why%20am%20i%20not%20getting%20appointment%20notifications%3F\"><h3>Why am I not getting appointment notifications?<\/h3><\/dt>\n<dd><p>In Simply Schedule Appointments, open your appointment type and turn on the <strong>Phone<\/strong> field under Customer Information. Customers must enter a number when booking for a message to be sent.<\/p><\/dd>\n<dt id=\"which%20channels%20need%20pre-approved%20templates%3F\"><h3>Which channels need pre-approved templates?<\/h3><\/dt>\n<dd><p>SMS, WhatsApp and RCS all send from templates that are approved in your SMS Gateway Center account (SMS templates also carry a DLT template ID where your country requires one). You pick the template from a dropdown loaded live from your account, so you never copy template IDs by hand. Voice plays a pre-recorded clip from your Voice Library.<\/p><\/dd>\n<dt id=\"what%20customer%20data%20does%20the%20plugin%20store%20on%20my%20site%3F\"><h3>What customer data does the plugin store on my site?<\/h3><\/dt>\n<dd><p>The Message Log keeps the recipient number, event, channel and result of each send. The abandoned-cart feature keeps a customer's cart total, first name and phone number only until they order or the reminder is sent. One-time codes are held for 10 minutes. Your API key or password is stored encrypted. Message content and phone numbers are sent to your SMS Gateway Center account to deliver the message - see \"External service\" above.<\/p><\/dd>\n<dt id=\"what%20do%20i%20need%20to%20send%20whatsapp%20messages%3F\"><h3>What do I need to send WhatsApp messages?<\/h3><\/dt>\n<dd><p>A WhatsApp Business number connected to your SMS Gateway Center account, entered under <strong>SGC Connect &gt; Connect Account &gt; WhatsApp Business Number<\/strong>. Then, on any event, tick WhatsApp and choose one of your Meta-approved WhatsApp templates from the dropdown - it is loaded live from your account.<\/p><\/dd>\n<dt id=\"how%20do%20i%20fill%20in%20whatsapp%20template%20variables%2C%20images%2C%20and%20buttons%3F\"><h3>How do I fill in WhatsApp template variables, images, and buttons?<\/h3><\/dt>\n<dd><p>After you pick a template, a field appears for each variable ({{1}}, {{2}} and so on) - type plain text or use the placeholder tokens for that tab (for example <code>{order_id}<\/code>). If the template's header is an image, video or document, a Media URL field appears for the file's link. Button labels come from the approved template and can't be changed per message. The preview shows exactly how the message will read.<\/p><\/dd>\n<dt id=\"can%20whatsapp%20send%20a%20message%20to%20anyone%3F\"><h3>Can WhatsApp send a message to anyone?<\/h3><\/dt>\n<dd><p>Messages go out as approved templates, so the recipient's number must include the country code and the template must be approved and active in your account. Free-form text isn't sent - that's how WhatsApp Business works, not a plugin limit.<\/p><\/dd>\n<dt id=\"the%20message%20log%20says%20%22sent%22%20-%20does%20that%20mean%20it%20was%20delivered%3F\"><h3>The Message Log says \"Sent\" - does that mean it was delivered?<\/h3><\/dt>\n<dd><p>\"Sent\" means your SMS Gateway Center account accepted the message for delivery. Final delivery to the handset (delivered, read, or failed) is reported in your SMS Gateway Center dashboard reports for each channel.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20an%20account%3F\"><h3>Where do I get an account?<\/h3><\/dt>\n<dd><p>Sign up at <a href=\"https:\/\/www.smsgatewaycenter.com\/\">smsgatewaycenter.com<\/a> - your userid, password and API key are all found under your account's Profile page.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.14<\/h4>\n\n<ul>\n<li>Renamed every plugin-declared function, class, constant, option, table, cron hook, AJAX action, meta key and JavaScript global to a longer, more distinctive \"sgcconnect\" prefix (previously \"sgc\", which was too short to guarantee uniqueness). No feature changes.<\/li>\n<\/ul>\n\n<h4>1.0.13<\/h4>\n\n<ul>\n<li>Fixed several phpcs:ignore comments that were placed on the wrong line (a statement's opening line rather than the exact line PHPCS reports) and so weren't actually suppressing anything - found by running the official Plugin Check tool directly against this codebase rather than relying on the annotations alone. No behavior changes.<\/li>\n<\/ul>\n\n<h4>1.0.12<\/h4>\n\n<ul>\n<li>Annotated every WordPress Plugin Check DB\/nonce warning with the reasoning behind it (custom-table direct queries with no wp_cache_* equivalent; WordPress core's own login\/registration hooks, which carry no nonce for a plugin to verify against) rather than leaving them unexplained. No behavior changes.<\/li>\n<\/ul>\n\n<h4>1.0.11<\/h4>\n\n<ul>\n<li>Login\/Registration OTP now sends the code through the same multi-channel SMS\/WhatsApp\/RCS system and fallback order every other event in this plugin uses, with the code filled into an {otp} template placeholder, instead of a separate SMS-only endpoint. Login OTP now actually sends a code on the first login attempt (it previously did not).<\/li>\n<li>Deferred WP-Cron scheduling (WooCommerce abandoned-cart, Events Calendar, and appointment reminders) from plugins_loaded to init, resolving a translation-loaded-too-early notice.<\/li>\n<li>Shortened the readme's short description to fit the directory's 150-character limit, and removed a comparative claim about other plugins.<\/li>\n<\/ul>\n\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Removed the Plugin URI header (it was identical to the Author URI, which WordPress.org's plugin headers require to be distinct) - the Author URI (smsgatewaycenter.com) remains.<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Renamed the plugin to remove a restricted trademarked term from the display name, per WordPress.org plugin directory guidelines (WhatsApp remains a fully supported notification channel - only the plugin's own name changed).<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Add appointment booking integration (Simply Schedule Appointments): booking confirmation, cancellation notice, and an automatic reminder sent before the appointment.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Add The Events Calendar + Event Tickets integration: RSVP confirmation and an automatic \"starting soon\" reminder before the event.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Add Easy Digital Downloads integration: order placed, completed, refunded, and failed payment notifications.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Add a WooCommerce abandoned-cart reminder, sent automatically once a cart has gone quiet for an hour.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Add Ninja Forms and Formidable Forms integrations.<\/li>\n<\/ul>\n\n<h4>1.0.1 to 1.0.3<\/h4>\n\n<ul>\n<li>Live template\/variable pickers for SMS, WhatsApp and RCS - choose an already-approved template from your connected account instead of typing template IDs by hand.<\/li>\n<li>Per-event Voice library clip override.<\/li>\n<li>Security hardening: API key sent as an HTTP header rather than in the request body; account secrets stored encrypted.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: WooCommerce, Contact Form 7, WPForms, Gravity Forms, and LearnDash integrations, plus WordPress core login\/registration OTP, all through one account connection.<\/li>\n<\/ul>","raw_excerpt":"Send SMS, WhatsApp, RCS &amp; Voice notifications from WooCommerce, forms, LMS courses, bookings, and WordPress login OTP - one account, every channel.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/373971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=373971"}],"author":[{"embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/smsgatewaycenter"}],"wp:attachment":[{"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=373971"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=373971"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=373971"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=373971"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=373971"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=373971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}