-
Notifications
You must be signed in to change notification settings - Fork 0
Typing Indicator
GiuFLim edited this page Apr 27, 2026
·
2 revisions
Trigger WhatsApp “typing indicator” via API.
When you get a messages webhook indicating a received message, you can use the message.id value to mark the message as read and display a typing indicator so the WhatsApp user knows you are preparing a response. This is good practice if it will take you a few seconds to respond.
The typing indicator will be dismissed once you respond, or after 25 seconds, whichever comes first. To prevent a poor user experience, only display a typing indicator if you are going to respond.
- URL:
https://api2.nxcloud.com/api/wa/typingIndicator - Method:
POST - Content-Type:
application/json - Authentication required:
Yes
For authentication rules, refer to: API Call Convention
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| accessKey | String | Yes | fme2na3kdi3ki | User identity key |
| ts | String | Yes | 1655710885431 | Request timestamp in milliseconds. Max allowed client/server time drift is 60 seconds |
| bizType | String | Yes | 2 | WhatsApp business type. Fixed value: 2
|
| action | String | Yes | read | WhatsApp business action. Fixed value: read
|
| sign | String | Yes | 6e9506557d1f289501d333ee2c365826 | API request signature. See authentication docs |
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| appkey | String | Yes | xxx | Application appkey |
| messaging_product | String | Yes | Messaging channel. Fixed value: whatsapp
|
|
| business_phone | String | Yes | xxx | Business phone number (must include country code) |
| status | String | Yes | read | Fixed value: read
|
| message_id | String | Yes | wamid.HBgNODYxMzMyMDIzNzQ0NhUCABEYEjkzRjVGODY0OTJCQzM5QzQ1MgA= | Incoming message ID |
| typing_indicator | Object | Yes | {"type":"text"} |
Typing indicator object |
| typing_indicator.type | String | Yes | text | Fixed value: text
|
{
"appkey": "xxx",
"messaging_product": "whatsapp",
"business_phone": "xxx",
"status": "read",
"message_id": "wamid.HBgNODYxMzMyMDIzNzQ0NhUCABEYEjkzRjVGODY0OTJCQzM5QzQ1MgA=",
"typing_indicator": {
"type": "text"
}
}| Parameter | Type | Description |
|---|---|---|
| code | Integer | Result code |
| data | JsonObject | Response payload (may include downstream error object) |
| message | String | Result message |
{
"code": 0,
"data": {
"success": true
},
"message": "success"
}{
"code": 0,
"data": {
"error": {
"code": 100.0,
"message": "(#100) Invalid parameter",
"type": "OAuthException",
"fbtrace_id": "APoPA639oqWRwvF3dFSQsUz",
"error_data": {
"messaging_product": "whatsapp",
"details": "Please check the message ID you have provided."
}
}
},
"message": "success"
}{
"code": 0,
"data": {
"error": {
"code": 100.0,
"message": "(#100) Invalid parameter",
"type": "OAuthException",
"fbtrace_id": "A9PTrNfMQxS6EZ8uUlxAAey",
"error_data": {
"messaging_product": "whatsapp",
"details": "Message supplied to mark message as read API with message ID: wamid.HBgNODYxMzMyMDIzNzQ0NhUCABEYEjkzRjVGODY0OTJCQzM5QzQ1MgA= is outgoing. Please use an incoming message ID."
}
}
},
"message": "success"
}{
"code": 9000,
"data": null,
"message": "Invalid parameter (typing_indicator.type must be 'text')"
}{
"code": -1,
"message": "failure",
"data": null
}| Code | Message | Resolution |
|---|---|---|
| 0 | success | Request accepted. If data.error is not null, handle it as a downstream error |
| -1 | failure | System exception. Contact technical support |
| 1000~100X | Authentication issue | See authentication docs |
| 9000 | Parameter error | Check required fields and fixed-value constraints |
| 9001 | System business error | Contact technical support |
| 9002 | Invalid business phone number | Confirm the phone number is a valid WhatsApp business number |
| 10003 | This WhatsApp number is not bound to the app | Contact business support to bind app and phone number |
-
statusmust beread. -
typing_indicatoris required, andtyping_indicator.typemust betext. -
message_idmust be an incoming message ID. Outgoing IDs will trigger downstreamInvalid parameter. - Recommended success criteria:
code == 0- and
data.errordoes not exist.
SMS
- SMS Billing Standards
- Sending SMS
- Report Conversion
- Delivery Receipt Webhook
- Batch Record Query
- Single Record Query
- SMS Report
Voice
- Upload Voice Recording File
- Query Uploaded Recording Files
- Send Voice Broadcast
- Send Voice Notification
- Send Voice Verification Code
- Voice Verification Code Fill Report
- Voice Receipt Callback
- Voice Record Query
Call Center
Agent (Legacy)
- NXphone PC Usage Instructions
- NXphone Android Usage Instructions
- NXphone-SDK Function Description Document
- Agent System SIP Link Invocation Method (Recommended)
- Agent API Invocation Interface Specification (V1.0)
- Number Desensitization Process
- Modify Phone Password Interface
- Query Call Detail Records (CDR) by Order ID
- Call Detail Records (CDR) Callback Interface Specification (V1.0)
- Query Call Detail Records (CDR) by Order ID
- Query Approval Form
- Query Phone
- Explanation of Call Hangup Reasons
Short Link
Email Verification Code
- Send Email Verification Code
- Email Verification Code Receipt Callback
- Email Verification Code Record Query
DID Number
- Sending SMS via DID phone number
- SMS webhook (Signed)
- SMS webhook (Unsigned)
- DID API Dialout With Amazon Connect
Number Check
- Send Message
- Send Otp Message
- Mark Inbound Message as Read
- Upload Media File
- Get Media File
- Delete Media File
- Webhook
- Get Phone Number Information
- Get Message Template
- Create Message Template
- Create Message Template Async
- Update Message Template
- Delete Message Template
- Upload Template Example File
- Embedded Page Login
- Create Client App
- Phone List of Client App
- Get Verification Code
- Verify Verification Code
- Create Local Client
- Block Users
- Business Profiles
Viber
Zalo ZNS
Private Number
- Submit AB Binding
- Unbind AB Binding
- Query Opponent Number by A or B
- Query AXB Relationship List
- Create Number Group G
- Submit AXG Binding Relationship
- Query Number Group G
- Update Number Group G
- Delete Number Group G
- Webhook
- Error Codes
General
NXLINK(HKG)
- Send WhatsApp Message
- Webhook
- Send Viber Message
- Webhook (Viber)
- Send Line Message
- Webhook (Line)
- Batch Create Customers
- Batch Create Customers (SEA)
- Query Customer Fields
- Template APIs
- Conversation Analysis
- Notification Analysis
- Chat Records
- Query Customer List
NXLINK(IDN)
- Send WhatsApp Message
- Webhook
- Send Viber Message
- Webhook (Viber)
- Send Line Message
- Webhook (Line)
- Batch Create Customers
- Batch Create Customers (SEA)
- Query Customer Fields
- Template APIs
- Conversation Analysis
- Notification Analysis
- Chat Records
- Query Customer List
NXLINK(CHL)