WhatsApp products · Linked device · API
Send WhatsApp messages from your own software
WASMS is the SMS service model running over WhatsApp. It is an API, not a panel: your CRM, e-commerce stack or campaign system makes an HTTP request and the message lands on the customer’s phone from the WhatsApp line registered to your organisation. Text, images, video, documents, audio, locations and contact cards can be sent, and status is queried from the same API.
The line is a number connected by QR code. No paperwork and no Meta approval are needed; in return there is no verified badge and none of the official API’s guarantees either. Both sides are written plainly on this page.

Who it is for
Jobs where software triggers the sending
Anywhere nobody opens a panel to type a message, and the notification has to go out the moment the event happens in a system.
Transactional notifications and verification
In e-commerce, finance and logistics, order, shipping, appointment and verification notifications move from the existing system to WhatsApp with one call.
Document delivery
Invoices, receipts and contracts are delivered straight to the customer with their file name. To the customer they are all part of the same conversation.
Information to opted-in lists
Text, images or documents go to customer lists that have given consent. That bulk and unsolicited sending puts the number at risk is written separately below.
Content types
What can you send?
Six content types are live, and so is the button list. Poll and button messages are experimental and are confirmed with Tecmony before production use.
Text
Free-form text for notification, verification and service flows.
Image and video
Campaign creative, product announcements, short videos.
Document
Invoices, receipts, contracts and similar files, with their file name.
Audio
Voice notifications and reminders.
Contact card
The contact details of the right agent or department.
Location
The coordinates of a branch, store or meeting point.
How it works
A message travels through four stops
The third stop is your own number; WASMS uses it like a service.
- Your own systemYour CRM, e-commerce or campaign system sends a POST request.
- WASMS APIThe token is validated; the endpoint for the message type runs and returns a message_id.
- The WhatsApp line registered to youYour verified number, connected by QR, delivers the message.
- Your customerThe message appears in WhatsApp from your business number. Status is queried from the same API by message_id.
Screens
How it looks on the customer’s phone
Customer side
One line, three jobs
A shipping notification, an invoice and a verification code all go from one integration and one number. If the customer replies, the conversation continues on the same line; if you want a team to handle those replies, the same number can also be connected to WADesk.
- Notification: order, shipping, appointment
- Document: invoice, receipt, contract
- Verification: one-time code
API
Everything you need to integrate
In the examples below replace YOUR_API_TOKEN, YOUR_PHONE_ID and YOUR_PIN with the values Tecmony gives you. Responses use a common envelope carrying status, code and data.
1. Authentication: obtaining a token
You request a token with the phone_id and PIN issued to you. The token is carried in the token header on every subsequent call; if the header is missing, wrong or expired the request is rejected and a new token is obtained.
curl -X GET \
"https://wasms.tecmony.cloud/api/v1/whatsapp/token?phone_id=YOUR_PHONE_ID&pin=YOUR_PIN"
Response:
{
"status": true,
"code": 200,
"data": {
"phone_id": "9085XXXXXXXX",
"token": "YOUR_API_TOKEN"
}
}
2. Sending a text message
curl -X POST \
"https://wasms.tecmony.cloud/api/v1/whatsapp/message/text" \
-H "token: YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "905XXXXXXXXX",
"message": "Your order has shipped."
}'
3. Sending a document
curl -X POST \
"https://wasms.tecmony.cloud/api/v1/whatsapp/message/document" \
-H "token: YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "905XXXXXXXXX",
"filename": "invoice-2026-04187.pdf",
"content": "https://example.com/invoice.pdf"
}'
Endpoint list
| Method | Endpoint | Body fields | Status |
|---|---|---|---|
| GET | /api/v1/whatsapp/token | Query: phone_id, pin | Live |
| POST | /api/v1/whatsapp/message/text | phone_number, message | Live |
| POST | /api/v1/whatsapp/message/image | phone_number, content | Live |
| POST | /api/v1/whatsapp/message/video | phone_number, content | Live |
| POST | /api/v1/whatsapp/message/document | phone_number, filename, content | Live |
| POST | /api/v1/whatsapp/message/audio | phone_number, content | Live |
| POST | /api/v1/whatsapp/message/location | phone_number, lat, lon, title | Live |
| POST | /api/v1/whatsapp/message/contact | phone_number, contact_name, contact_number | Live |
| POST | /api/v1/whatsapp/message/button/list | phone_number, title, description, button_text, rows_title, rows[] | Live |
| POST | /api/v1/whatsapp/message/poll | phone_number, poll_title, poll_options[] | Experimental |
| POST | /api/v1/whatsapp/message/button | phone_number, media_file, media_message, button definitions | Experimental |
| GET | /api/v1/whatsapp/message/{message_id} | Status query for a sent message | Live |
Error cases
- 200: the request was accepted;
statusistrueand amessage_idis returned. - 400 “Must be connected”: the line’s WhatsApp session has dropped. The number’s owner scans the QR again from the phone; calls then return to normal.
- Token error: the
tokenheader is missing, wrong or expired. Obtain a new one from the token endpoint. - 502: usually an access block on your own corporate network. Repeat the request from a different internet connection; confirm the service is up with a request to
https://wasms.tecmony.cloud/, a healthy response returns 200.
For the full error code list, field-level validation rules and the Postman collection, write to the Tecmony support team.
Setup
Four steps from number registration to the first call
No account is opened before the number is verified, and the service agreement is signed before that step.
- Number registrationYou tell Tecmony the number you will send from. It has to be able to receive an international call or SMS; some operators block that traffic.
- VerificationOur team sends a call or an SMS to the number; you pass the verification code back to us.
- Account openingOnce the number is verified, your phone_id and PIN are shared and the line is connected by QR.
- IntegrationYou obtain a session from the token endpoint and call the message endpoints. A sample Postman collection is available from our support team.
Limits
What WASMS does not do, and what you should know
The limits that come with the linked-device route. They were written on our old site too, and they are written here.
- It is not the official WhatsApp Business API. The customer sees only the number and its own profile; no verified business badge is granted. If you need the badge and official delivery reports, look at WaSend.
- WhatsApp may restrict or close the number. Clause 7 of our service agreement: in a product that works by linking a device’s WhatsApp account, WhatsApp may restrict the number under its own policies, and the customer chooses the service knowing this risk. Bulk and unsolicited sending raises the risk considerably.
- If the link drops, requests return “Must be connected”. If the session on the phone ends, sending stops until the QR is scanned again. Catch this error in your sending flow and raise an alert.
- Only a mobile number can be used. Landlines and virtual numbers do not fit this route; the number has to be linked to WhatsApp on a phone.
- Poll and button messages are experimental. They are confirmed with Tecmony before production use and are not covered by the agreement.
- It does not collect consent. To start a message to someone, that person must have given prior consent naming your business; collecting it, and its legal compliance, is the customer’s responsibility.
- It is not a channel for sensitive data. Payment card numbers, financial account details and national ID numbers must not be shared over it, nor requested from customers.
Frequently asked
Questions people ask before integrating
For a question that is not here, write to us. If another route fits better: WADesk to handle inbound conversations as a team, WaSend for approved-template campaigns, WAGEM for a read-only archive. The comparison is on the WhatsApp Products page.
How does WASMS differ from an SMS service?
WASMS is the conventional SMS service model running over WhatsApp. Your own application, CRM or campaign system connects to the API; the difference is that the message goes out from the WhatsApp line registered to your organisation instead of as an SMS, and that besides text you can send images, video, documents, audio, contact cards and locations.
How does WASMS differ from WaSend?
The infrastructure. WASMS works over a number connected by QR: no paperwork, no Meta approval, but no verified badge either, and WhatsApp can close the number. WaSend works over the official WhatsApp Business API: business verification and template approval are required and Meta conversation fees apply, and in return you get a verified profile and official delivery reports.
Which message types are live, and which are experimental?
The text, image, video, document, audio, location, contact card and button-list endpoints are live. Poll and button messages are experimental; if you plan to use them in production, confirm with Tecmony first.
How long is a token valid?
A token is obtained with your phone_id and PIN and carried in the token header on every subsequent call. If the header is missing, wrong or expired the request is rejected, and you obtain a new token from the token endpoint.
What should I do if a request returns 502?
This is usually an access block on your own corporate network. Repeat the same request from a different internet connection. You can also confirm the service is up with a request to wasms.tecmony.cloud; a healthy response returns code 200.
What does the “Must be connected” error mean?
The line’s WhatsApp session on the phone has dropped. The number’s owner scans a new QR through the Linked devices step in the phone’s WhatsApp; once the link is restored, requests return to normal. This is in the nature of the linked-device route.
Can I query the status of a sent message?
Yes. GET /api/v1/whatsapp/message/{message_id} returns the status of a sent message. Responses use the common envelope carrying status, code and data.
Is customer consent required before sending?
Yes. WASMS operates within WhatsApp LLC’s rules: before you can start a conversation with someone, that person must have given prior consent that explicitly names your business. How consent is obtained, and its legal compliance, is the customer’s responsibility.
Make the first call today
Register your number; after verification you send your first message within minutes using your phone_id and PIN.
Or reach us directly: +90 (216) 912 00 79[email protected]