TXTImpact can forward inbound messages, SMS, MMS, RCS and WhatsApp events to your system using one of the webhook formats below.
Webhook Versions Supported
- V2 — POST (JSON body)
- V2 — GET or POST (Form/QueryString)
- V1 (Legacy) — GET or POST (Form/QueryString) (deprecated)
- Supported for SMS and MMS.
When is a webhook fired?
A webhook is triggered when an inbound message is received and a workflow action is configured as Webhook (Forward to URL).
Common Fields (Concepts)
| Field | Description |
|---|---|
| message | Inbound message text |
| mobileNumber / mobilenumber | Sender’s phone number (E.164 digits, e.g. 12129204690) |
| shortCode / SHORTCODE | Your TXTImpact number that received the message |
| operatorId / Operatorid | Internal operator id (carrier/route identifier) |
| rcvd / Rcvd | Date/time message was received |
| smsInboxId / MOLOGID | TXTImpact inbound message ID |
| subscriberName | Subscriber/customer name (if known) |
| subject | Optional subject (used in some workflows) |
| attachments + baseUrl/baseURL | Attachment info for inbound media (see notes below) |
Attachment Handling
If an inbound message includes media (MMS), TXTImpact may include:
attachments(string, optional)baseUrlorbaseURL(string)
Base URL example: https://cloud.wire2air.com/mms/Inbound/
How to build a downloadable URL:
- If
attachmentsis present, combinebaseUrl + attachments. - If
attachmentsis empty, there is no media for that message.
1) V2 Webhook — POST (JSON Body)
Method
POST
Content Type
application/json; charset=utf-8
Sample JSON Body
{
"attachments": "",
"baseURL": "https://cloud.wire2air.com/mms/Inbound/",
"message": "V2 Get",
"mobileNumber": "12129204690",
"operatorId": 470,
"rcvd": "2026-02-10T15:20:28",
"shortCode": "17329641232",
"smsInBoxId": 14121296,
"subject": "",
"subscriberName": "Sandeep Gulyani",
"w2aToken": ""
}Note: You may see baseUrl or baseURL depending on the sender/config.
V2 JSON Field Definitions
| JSON Field | Type | Required | Notes |
|---|---|---|---|
| smsInBoxId / smsInboxId | number | Yes | Inbound message id |
| operatorId | number/string | No | Internal operator id |
| rcvd | string | No | Receive timestamp (ISO recommended) |
| shortCode | string | Yes | TXTImpact receiving number |
| mobileNumber | string | Yes | Sender number |
| subscriberName | string | No | Subscriber name if known |
| subject | string | No | Optional |
| message | string | No | Message text |
| attachments | string | No | Attachment filename(s) or blank |
| baseUrl / baseURL | string | No | Attachment base path |
| w2aToken | string | No | Reserved for authentication (optional) |
3) V2 Webhook — GET/POST (Form/QueryString)
This is the “V2 fields, but sent as query params (GET) or form params (POST)” option.
Method
GET or POST
Content Type
- GET: QueryString parameters
- POST:
application/x-www-form-urlencoded(same fields as GET)
Sample (GET)
| Parameter | Example |
|---|---|
| attachments | (blank) |
| baseUrl | https://cloud.wire2air.com/mms/Inbound/ |
| message | V2 Get |
| mobileNumber | 12129204690 |
| operatorId | 470 |
| rcvd | 2/10/2026 3:10:07 PM |
| shortCode | 17329641232 |
| smsInboxId | 14121248 |
| subject | (blank) |
| subscriberName | Sandeep Gulyani |
V2 Form Field Definitions
| Field | Required | Notes |
|---|---|---|
| smsInboxId | Yes | Inbound message id |
| operatorId | No | Internal operator id |
| rcvd | No | Receive timestamp (string) |
| shortCode | Yes | TXTImpact receiving number |
| mobileNumber | Yes | Sender number |
| subscriberName | No | Subscriber name if known |
| subject | No | Optional |
| message | No | Message text |
| attachments | No | Attachment filename(s) or blank |
| baseUrl | No | Attachment base path |
3) V1 Webhook (Legacy) — GET/POST (Form/QueryString) (deprecated)
Method
GET or POST
Content Type
- GET: QueryString parameters
- POST:
application/x-www-form-urlencoded(same fields as GET)
Sample (GET)
| Parameter | Example |
|---|---|
| MOLOGID | 13868205 |
| Operatorid | 470 |
| Rcvd | 2026-02-10T10:14:50 |
| SESSIONID | mee7e137bbbd4a398a9f58851cda620f |
| SHORTCODE | 17329641232 |
| TAGSUBREF | (blank) |
| attachments | (blank) |
| baseUrl | https://cloud.wire2air.com/mms/Inbound/ |
| message | V2 Get |
| mobilenumber | 12129204690 |
V1 Field Definitions
| Field | Required | Notes |
|---|---|---|
| MOLOGID | Yes | Inbound message id (legacy name) |
| Operatorid | No | Internal operator id |
| Rcvd | No | Receive timestamp |
| SESSIONID | No | Session correlation id (legacy) |
| SHORTCODE | Yes | TXTImpact receiving number |
| TAGSUBREF | No | Optional tag/sub reference (legacy) |
| mobilenumber | Yes | Sender number |
| message | No | Message text |
| attachments | No | Attachment filename(s) or blank |
| baseUrl | No | Attachment base path |
Headers & Client IP
During testing (e.g., Pipedream), you may see values like traceparent or client_ip. Those are receiver/environment details and are not guaranteed as part of the TXTImpact payload format.
Recommended Implementation Notes
- Treat all fields as strings and parse defensively.
- Store
smsInboxId/smsInBoxId/MOLOGIDas the unique inbound id for idempotency. - If
attachmentsis present, build the media URL usingbaseUrl + attachments.