Skip to content
SMSGELY — Naimur SMS BD

Guide for WordPress site owners

Send SMS from your WordPress site

A practical, non-technical walkthrough for adding SMS notifications to a WordPress website with the SMSGELY API: what to send, how to set it up safely and how to check it works.

What you can do

Useful SMS for WordPress sites

Most sites start with one or two of these and add more later.
  • Contact form alerts

    Get an SMS on your own phone when a visitor submits an enquiry, so you can call back quickly.
  • Registration notices

    Welcome new members or tell staff when someone registers for a course or event.
  • One-time passwords

    Send a short code to verify a visitor’s phone number before an account or booking is confirmed.
  • Booking confirmations

    Confirm appointments for clinics, salons or training centres with the date and time.

About plugins: an official SMSGELY WordPress plugin is planned but not available yet. Today, WordPress sites connect through the SMS API with a short PHP snippet, published in the WordPress developer docs. This guide explains the steps around that snippet.

Step-by-step setup

1. Create your SMSGELY account

Register with your business email and verify it. You can manage everything from the dashboard afterwards.

2. Top up your wallet

Add balance through bKash or Nagad. Our team verifies the payment and the balance appears in your wallet. Rates are on the pricing page.

3. Choose your sender

For messages that show your brand name, request a masking sender ID in Dashboard → Sender IDs. It must be approved before it can send, and supporting documents may be requested. If you want to start immediately, use the platform’s non-masking sender, which needs no approval; include your site name in the message text.

4. Create an API key with only the sms:send scope

Go to Dashboard → Developer → API keys, create a key named after your site (for example “Website – contact form”) and tick only sms:send. Copy the key straight away: it is shown once and cannot be viewed again.

5. Store the key safely

Give the key to your developer over a private channel, or add it yourself to wp-config.php above the line that says “That’s all, stop editing!”:

define( 'SMSGELY_API_KEY', 'smsgely_abcd1234ef_YOUR_SECRET' );

wp-config.php sits outside your theme, is not overwritten by theme or plugin updates, and is not served to visitors.

6. Add the snippet as a site-specific plugin

Copy the snippet from the WordPress developer docs into a small plugin file (for example wp-content/plugins/smsgely-notify/smsgely-notify.php) and activate it under Plugins. A site-specific plugin keeps working when you change themes, unlike code pasted into functions.php. Your developer connects it to your form plugin or registration hook.

7. Test with your own number

Submit the form or register a test account using your own mobile number. The SMS should arrive on your phone shortly. Try a Bangla message too, if you plan to send them.

8. Check delivery reports

Open delivery reports in the dashboard and find the test message. A status of delivered confirms the whole chain works. If you see failed or rejected, the error tells you why, and you were not charged.

Security tips

  • Never paste the API key into theme files, page builders, widgets or JavaScript. Anything in the page source can be read by visitors and copied.
  • Use an IP allowlist if your host has a fixed IP address. Add your server’s outgoing IP to the key, so a leaked key cannot be used from anywhere else. Ask your hosting provider if you are not sure.
  • Rotate the key if it leaks. If a key appears in a screenshot, a support chat or a public repository, create a new key, update wp-config.php and revoke the old one.
  • Protect forms from abuse. Use a CAPTCHA or rate limit on public forms that trigger SMS, so bots cannot drain your balance.
  • Read the full SMS API security checklist.

Troubleshooting

What you seeLikely cause and fix
INVALID_API_KEYThe key is missing, mistyped or revoked. Check the constant in wp-config.php and that there are no extra spaces.
INVALID_SENDER or MASKING_NOT_APPROVEDThe sender ID in the snippet does not match an approved sender on your account. Check Dashboard → Sender IDs.
INSUFFICIENT_BALANCEYour available balance cannot cover the message. Top up your wallet and try again.
INSUFFICIENT_SCOPE or FORBIDDENThe key lacks the sms:send scope, or the request came from an IP address not on the key’s allowlist.
INVALID_RECIPIENTThe phone number is not a valid Bangladeshi mobile number. Use 01XXXXXXXXX or +8801XXXXXXXXX.
Bangla text arrives as question marks or the request failsThe body was not sent as UTF-8 JSON, or the Bangla text was escaped incorrectly. Build the body with wp_json_encode() and set Content-Type: application/json.
Nothing happens at allCheck that the site-specific plugin is active and that your developer hooked it to the right form event.

More codes are listed in the error reference. If you are stuck, open a ticket from support.

FAQ

WordPress SMS questions

Is there an official SMSGELY WordPress plugin?

Not yet. An official plugin is planned. Today you connect WordPress through the SMSGELY REST API using a small PHP snippet, which your developer can add as a site-specific plugin in a few minutes.

Do I need a developer to connect WordPress?

It helps. If you are comfortable editing wp-config.php and uploading a small plugin file over SFTP or your hosting file manager, you can follow the steps yourself. Otherwise share this page and the developer docs with your developer.

Can my WordPress site send SMS in Bangla?

Yes. Bangla text is sent as Unicode, which allows 70 characters in a single SMS and 67 per part for longer messages. Make sure the snippet sends the request body as JSON so Bangla text is encoded correctly.

Which API key scope should the website use?

Only sms:send. A website that sends notifications does not need to read contacts or reports, so a key limited to sms:send reduces the damage if it is ever exposed.

Will my visitors’ messages be sent twice if the form is submitted twice?

Not if your snippet sends an Idempotency-Key header that is unique to the form entry. SMSGELY then treats a repeated request within 24 hours as the same message and does not send or charge it again.

Connect your website to SMS

Create an account, request your sender ID and generate an sms:send key. Our support team can help if you get stuck.