Title: Sendly SMS for WooCommerce
Author: Tomasz Lebioda
Published: <strong>29 julhet 2026</strong>
Last modified: 13 Agost 2026

---

Search plugins

![](https://ps.w.org/sendly/assets/banner-772x250.png?rev=3627632)

![](https://ps.w.org/sendly/assets/icon-256x256.png?rev=3627632)

# Sendly SMS for WooCommerce

 Per [Tomasz Lebioda](https://profiles.wordpress.org/tomlwbioda/)

[Download](https://downloads.wordpress.org/plugin/sendly.1.0.1.zip)

 * [Details](https://oci.wordpress.org/plugins/sendly/#description)
 * [Reviews](https://oci.wordpress.org/plugins/sendly/#reviews)
 *  [Installation](https://oci.wordpress.org/plugins/sendly/#installation)
 * [Development](https://oci.wordpress.org/plugins/sendly/#developers)

 [Support](https://wordpress.org/support/plugin/sendly/)

## Descripcion

Sendly sends a text message to the customer whenever a WooCommerce order changes
status — for example when payment is received (Processing), the order is shipped(
Completed), or it is cancelled. Messages are delivered through the **Sendly** SMS
gateway and can be shown with an alphanumeric sender ID (« nadpis », e.g. your shop
name) instead of a phone number.

**Key features**

 * Per-status on/off switch and editable message template (works with custom order
   statuses too).
 * Placeholders: `{shop_name}`, `{order_number}`, `{order_total}`, `{currency}`,`{
   customer_first_name}`, `{customer_last_name}`, `{order_status}`, optional `{tracking_number?}`.
 * Asynchronous sending via Action Scheduler — checkout is never blocked by the 
   SMS call.
 * Automatic retries with exponential backoff and per-order idempotency (no duplicate
   texts).
 * International-ready phone normalisation based on the order’s billing country.
 * Live SMS segment/encoding counter (GSM-7 vs UCS-2) so you can see cost while 
   editing templates.
 * « Send test SMS » button in the settings.
 * Optional delivery receipts (DLR webhook) that record DELIVERED/ERROR on the order.
 * Optional RODO/GDPR consent (opt-out) checkbox at checkout.
 * Create a Sendly account straight from the plugin (100 free SMS to start) — no
   separate signup needed.
 * Quick links to the Sendly customer panel.
 * Per-order audit as order notes, plus a « sendly » channel in WooCommerce  Status
   Logs. Configurable retention; phone numbers are masked and message bodies are
   not stored by default.
 * HPOS (High-Performance Order Storage) compatible.

**Sender ID (nadpis)**

The Sendly API field `from` accepts a numeric virtual number only. The alphanumeric
sender ID is configured on the Sendly side and bound to that number. The plugin 
provides a sender-ID field and a forward-compatible hook (`sendly_request_body`)
so it can be sent in the API payload once Sendly exposes that option.

### External services

This plugin relies on two external services. You need a Sendly account and API token
to use it.

**1. Sendly SMS gateway** — used to deliver every SMS.

 * Endpoint: `https://api.sendly.link/api/sms`
 * Data sent: the destination mobile phone number, the rendered message text (which
   may include the order number, order total, the customer’s first/last name and—
   when you enable « order notes as SMS » — the note text you write), and your Sendly
   sender number and API token (for authentication).
 * When: on enabled order status transitions, when you add a manual order note (
   if that option is enabled), and on manual « Send test SMS ». Delivery receipts
   are received (Sendly posts to your site); your site makes no outbound status-
   query call.
 * Provider: Sendly (Syntell S.A.). Website: https://sendly.link/
 * Terms of Service: https://sendly.link/pl/regulamin/ — Privacy Policy: https://
   sendly.link/pl/polityka-prywatnosci/

**2. Sendly registration page (sendly.link)** — used only if you choose to create
an account from inside the plugin.

 * Page: `https://sendly.link/pl/rejestracja/`
 * Data sent: when you click « Create account », the details you typed (name, e-
   mail, company name, tax ID, address, phone, and the shop name shown as the SMS
   sender) are posted to your own site (admin-ajax) so it can store your e-mail 
   and shop name and build the link; your browser is then redirected to the page
   above with those details pre-filled via the URL fragment. The plugin does not
   forward this data to any third-party server — your browser carries it to sendly.
   link, and the fragment does not reach server logs. You set the password and complete
   a bot-check on sendly.link, then return to your site. The password never touches
   your WordPress site.
 * When: only when you submit the in-plugin signup form.
 * Provider: Sendly (Syntell S.A.). Terms: https://sendly.link/pl/regulamin/ — Privacy
   Policy: https://sendly.link/pl/polityka-prywatnosci/

Make sure you have a lawful basis and, where required, a data-processing agreement
with the provider.

## Screenshots

[⌊The Sendly SMS settings — visible API token, sender number and ID, options, and
per-status message templates with the live UCS-2/GSM-7 segment counter.⌉⌊The Sendly
SMS settings — visible API token, sender number and ID, options, and per-status 
message templates with the live UCS-2/GSM-7 segment counter.⌉[

The Sendly SMS settings — visible API token, sender number and ID, options, and 
per-status message templates with the live UCS-2/GSM-7 segment counter.

[⌊An order note recording the delivered SMS and its Sendly message ID.⌉⌊An order
note recording the delivered SMS and its Sendly message ID.⌉[

An order note recording the delivered SMS and its Sendly message ID.

## Installacion

 1. Upload the `sendly` folder to `/wp-content/plugins/`, or install the ZIP via Plugins
    Add New  Upload.
 2. Activate the plugin. WooCommerce must be active.
 3. Go to WooCommerce  Settings  SMS.
 4. Enter your Sendly API token; the sender number (from) is optional.
 5. Enable the order statuses you want and adjust the message templates.
 6. Use « Send test SMS » to verify your configuration.

## FAQ

### Do I need a Sendly account?

Yes. You need a Sendly SMS account, a virtual number and an API token. The plugin
makes this easy: go to WooCommerce  Settings  SMS  Sign up for Sendly, fill in your
details and click « Create account » — you finish on sendly.link (password + bot
check) and get 100 free SMS to start. Alternatively register directly at https://
sendly.link/pl/rejestracja/ .

### Why is my sender shown as a number instead of my shop name?

The alphanumeric sender ID (« nadpis ») is registered and bound to your number on
Sendly’s side. The plugin’s API call sends only the numeric `from`; the provider
substitutes the approved sender ID.

### Does it work with the block-based checkout?

The opt-out consent checkbox uses the classic checkout hooks. Order-status SMS sending
works regardless of the checkout type.

### Will it slow down checkout?

No. Sending happens in the background through Action Scheduler.

### How are delivery receipts (DLR) secured?

The DLR endpoint is guarded by a random shared secret. The settings page shows a
ready-to-use URL with the secret in the query string for convenience; you can instead
send the secret in an `X-Sendly-Secret` HTTP header to keep it out of access logs.
The secret can be regenerated from the settings page at any time (the old URL then
stops working).

### Can I send to international numbers?

Phone numbers are normalised using the order’s billing country. Actual delivery 
depends on what the Sendly gateway supports; numbers outside the gateway’s accepted
length are skipped and logged.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Sendly SMS for WooCommerce” is open source software. The following people have 
contributed to this plugin.

Contributors

 *   [ Tomasz Lebioda ](https://profiles.wordpress.org/tomlwbioda/)

[Translate “Sendly SMS for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/sendly)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/sendly/), check out
the [SVN repository](https://plugins.svn.wordpress.org/sendly/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/sendly/) by [RSS](https://plugins.trac.wordpress.org/log/sendly/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.1

 * Use boolean autoload values in add_option()/update_option() for WordPress 6.7
   + compatibility.

#### 1.0.0

 * Initial release: per-status SMS via Sendly, async sending with retries, phone
   normalisation, encoding/segment counter, test-SMS button, delivery receipts, 
   RODO opt-out, activity log and HPOS support.

## Mèta

 *  Version **1.0.1**
 *  Last updated **2 setmanas ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/sendly/)
 * Tags
 * [Notifications](https://oci.wordpress.org/plugins/tags/notifications/)[order status](https://oci.wordpress.org/plugins/tags/order-status/)
   [sms](https://oci.wordpress.org/plugins/tags/sms/)[woocommerce](https://oci.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://oci.wordpress.org/plugins/sendly/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/sendly/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/sendly/reviews/)

## Contributors

 *   [ Tomasz Lebioda ](https://profiles.wordpress.org/tomlwbioda/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/sendly/)

## Far un don

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://buycoffee.to/tomaleb)