TUTORIAL · HOW IT WORKS

WESMS Complete User Guide

From creating your account to automating sends via API — every console feature explained step by step, with the exact location of each setting.

01Sign up & sign in

Free to register, no credit card required. Every new account receives a HK$3 trial credit instantly.

  1. Click Sign up free at the top right and enter your email and a strong password (12+ characters recommended).
  2. Once verified you land in the console with HK$3 credit. Your balance never expires and there are no monthly fees.
  3. Forgot your password? Use "Forgot password" on the login page to receive a reset link by email.
Interface language: the console supports Traditional Chinese and English; switch anytime at the top right — your choice is remembered.

02First-send walkthrough

The first time you open the dashboard, a guided modal invites you to send a real SMS to your own phone in under 30 seconds.

Prefer not to see it again? Tick "Don't show again" at the bottom of the modal before closing.

03Dashboard & balance

Your mission control for everything sending.

04Send wizard: international & mainland China SMS

Pick a template → add recipients → choose a sender → review and send.

Step 1 — Choose a template (required)

Step 2 — Recipients

Step 3 — Sender ID

Step 4 — Review & send

Mainland China sends require an approved SMS signature (section 6). Messages are delivered as "【Signature】 content" to +86 numbers.

05Template library (international SMS)

Location: Templates. Every international message body must be submitted for approval here.

  1. Click "New template" and set a name, type (OTP / notification / marketing) and content.
  2. Use hash-format variables for dynamic parts, e.g. #code# (auto-generates a 6-digit OTP if omitted), #name#.
  3. Approval usually takes one business day; results are delivered by email and in-app notification.
  4. Rejected templates include the reason and can be revised and resubmitted; approved ones become selectable in the send wizard.
For marketing templates, keep an opt-out line (e.g. "Reply STOP to unsubscribe") and follow destination regulations to protect approval and deliverability.

06Mainland China SMS signatures

Location: Templates → Mainland China → Signatures. Regulators require every mainland SMS to carry an approved signature.

  1. Create a signature (2–12 characters), choose "own use" or "third-party" and upload the required documents (business licence, authorisation letter, etc.).
  2. The platform pre-reviews and submits it to the upstream carrier; live status (pending / approved / rejected with reason) is shown on the page.
  3. Once approved you can use it with mainland templates in the send wizard; recipients see "【YourSignature】 content".

07Custom Sender ID (brand name)

Location: Sender ID. Free to request — recipients see your brand name instead of a random number.

  1. Click "Apply for Sender ID", provide the brand name (up to 11 alphanumeric characters), a short use-case description and optional supporting documents.
  2. Review usually completes within one business day; you'll be notified by email.
  3. Approved IDs automatically appear in the send wizard's sender dropdown.
Some countries restrict custom Sender IDs (e.g. numeric-only requirements). Local carrier policy always prevails.

08Contacts

Location: Contacts. Group your audiences once, import them with one click on every campaign.

09Blacklist

Location: Blacklist. Set and forget the numbers that should never be contacted again.

10Send records & reports

Location: Records. Full traceability from campaign to single message.

11Top-up plans

Location: Top-up. Balance never expires; top up any time.

12Ledger & refunds

Location: Ledger. Every cent accounted for.

13Price list

Location: Pricing. At-cost pricing: unit price = carrier cost + 10% platform fee, listed per destination across 200+ countries.

14Developers: API keys & online debugging

Location: Developer. Plug SMS into your website, app or back-office.

  1. Create and manage API keys on this page (one key per system, so a leak can be revoked in isolation).
  2. Use the built-in API debugger to send real requests and inspect responses before writing any code.
  3. Full specification lives in the Open API docs. Core send call:
curl -X POST 'https://www.wesms.net/api/sms_job/postAdd' \
  -H 'x-appid: {Your AppID}' \
  -H 'x-secret: {Your Secret}' \
  --data-urlencode 'template_id=5' \
  --data-urlencode 'var[code]=823951' \
  --data-urlencode 'phone=+85291234567'

15Webhooks

Location: Developer → Webhook. Push delivery statuses to your system in real time.

  1. Save an HTTPS callback URL and a shared secret.
  2. Each push carries four headers: X-Wesms-Event, X-Wesms-Timestamp, X-Wesms-Signature, X-Wesms-Attempt. The signature is hmac_sha256("timestamp.body", secret) — verify it before processing.
  3. The delivery health log on the same page shows every push with time, HTTP status and attempt count — all you need to debug the integration.

16Notifications & account settings

Never miss an important event.

Troubleshooting

SymptomWhat to do
Template dropdown is empty in the send wizardNo approved template yet. Submit one under "Templates" and wait for approval (usually one business day).
"Insufficient available balance"Available = balance − frozen credit. Top up, or wait for in-flight campaigns to settle and release the freeze.
Am I charged for failed messages?No. Failures are automatically unfrozen and refunded, usually within minutes; see the Ledger for the refund entry.
Mainland sends rejectedCheck that a signature under "Mainland China → Signatures" is approved; mainland sends require an approved signature.
Webhook callbacks not arrivingConfirm the endpoint is public HTTPS and check the health log status codes (4xx/5xx means your server rejected the push).
Paid but balance not updatedClick "Check result now" on the top-up order; bank-transfer orders need the proof uploaded and verified (within one business day).
Sign up & get HK$3 credit Open API docs