Inbound SMS
Configure a virtual number and receive inbound SMS messages as secure callback requests.
Your account needs a virtual number to receive SMS messages. Once a callback URL is configured, iP.1 sends inbound messages to it with POST.
Prerequisites
- Order a subscription or add-on for a virtual number.
- Open the user portal.
- Go to the SMS settings for inbound SMS.
- Enter an absolute HTTPS callback URL.
The callback must respond with 200 OK after receiving the message. According to the published documentation, any other status causes a later retry.
Example payload
{
"id": "message_in_abc123",
"batchId": "batch_in_abc123",
"owner": "ip1-XXXXX",
"sender": "46700000000",
"recipient": "46760000000",
"body": "Yes, that time works.",
"direction": "mo",
"segments": 1,
"type": "sms",
"datacoding": "GSM",
"priority": 1,
"statuses": [
{
"created": "2026-10-05T08:03:21Z",
"code": 201,
"duration": 1
}
],
"modified": "2026-10-05T08:03:21Z",
"mcc": "240",
"mnc": "01"
}
Fields
| Field | Type | Description |
|---|---|---|
id |
string |
Inbound message ID. |
batchId |
string |
Parent batch. |
owner |
string |
Account that owns the virtual number. |
sender |
string |
Mobile number that sent the SMS. |
recipient |
string |
Your virtual number. |
body |
string |
Message content. |
direction |
string |
mo (Mobile Originated). |
segments |
integer |
Number of SMS segments. |
type |
string |
Message type. |
datacoding |
string |
gsm or ucs. Older documentation mistakenly called the Unicode option flash; the correct term elsewhere in the API reference is ucs. |
priority |
integer |
Message priority. |
statuses |
object[] |
Status events. |
modified |
string |
Latest update in ISO 8601. |
mcc |
string | null |
Mobile Country Code when available. |
mnc |
string | null |
Mobile Network Code when available. |
Implementation guidance
- respond only after validating the payload and placing it safely in a queue
- make the receiver idempotent using
id - treat
bodyas data, never as HTML or code - impose limits on payload size and processing time
- minimize storage of phone numbers and message text
- create alerts for repeated callback errors
To read a continuous history for a participant, use the conversation endpoints.
