About this plugin
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. 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. 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.