Using it

Sending a message

The Send Message tab sends one message to one client, right now. It is the fastest way to prove the whole chain works, and it is what to use for a one-off note that no template covers.

This is not a campaign tool. One client per send — there is no “select all” and no group. Bulk sending belongs in your platform dashboard, which has campaigns built for it.

Sending

  1. Pick a client from the list. Each entry reads Firstname Lastname (#id) — number, so you can check the destination before you send.
  2. Type the message. Up to 1,600 characters; the counter under the box turns amber as you approach the limit and red at it.
  3. Click Send.

You can use {firstname} and {lastname} in the text; they are replaced with the chosen client's details. No other variable works here.

The message goes out through whatever the Settings tab says — SMS or WhatsApp, device or credits. There is no per-message choice.

Refreshing after a send does not send it again. The page redirects to itself once the message is away, so a refresh, or Back then Forward, redraws the result rather than repeating the send. This matters: a repeat would message the client twice and charge you twice.

Finding a client

The list holds up to 500 clients at a time. On a bigger install that is a page of them, not all of them, and the line beneath the list says so — “Showing the first 500 of 8214 clients — use search to narrow.”

The search box works two ways, and the difference matters:

  • As you type, it narrows the 500 already on the page. Instant, but it can only find what was loaded.
  • Pressing Search asks the server, which looks at every client you have. This is the one that finds someone outside the first 500.

Search matches first name, last name and phone number, and if you type digits only, the client ID as well. When nothing on the page matches you are told to press Search rather than left with an empty list.

Enter in the search box searches; it never sends. The search box sits inside the send form, so the obvious keypress would otherwise dispatch a real, billable message. It is bound to Search deliberately.

Your chosen client stays chosen while you search. Narrowing the list does not quietly drop the selection, so you can pick someone, look up a number, and still send to who you picked.

What the results mean

MessageMeaning
Message sent to … Your platform accepted it for delivery. That is not the same as the handset having received it — delivery is reported in your dashboard, not here.
Select a client and enter a message. One of the two is empty. The message must be more than whitespace.
That client no longer exists. The client was deleted between the page loading and you pressing Send.
Your session expired. Please try again. The page sat open too long. Nothing was sent. Reload and send again.
Not sent: Plugin is not configured The Settings tab has never been saved. See Configuration.
Not sent: Could not resolve "…" to a valid international number The client's stored number could not be validated against their country, so it was refused rather than guessed at. See Troubleshooting.
Not sent: Transport error … WHMCS could not reach your platform install at all — DNS, firewall, TLS or a server that did not answer.
Not sent: Server error: HTTP 5×× Your platform install answered with an error of its own. Check its error log.
Not sent: Unexpected API response Something answered, but not your platform's API. A misconfigured site URL, or a proxy or security product returning its own page, are the usual causes.
Not sent: anything else Passed straight through from your platform — a missing permission on the API key, a service not on your subscription, no credit, an unknown device or WhatsApp account. The text says which.

A failed send keeps your draft and your selected client, so you can fix the cause and press Send again without retyping.

Where the send is recorded

Every attempt, successful or not, is written to the WHMCS module log at Configuration → System Logs → Module Log. The message body is not stored there — the log records the outcome, not the text. Sent messages themselves appear in your platform dashboard's reports, alongside everything else you send.