How to receive SMS inbound messages

With the numbers API, you are able to rent a new number, use it as the sender in your campaigns and receive the inbound messages from your clients.

When you rent or update a number, you are able to define a callback Url ("inboundSmsCallbackUrl") that will receive the inbound SMS messages.

Your callback service will receive a POST HTTP request with the following request body:

{
  "messageId": string,
  "from": string,
  "to": string,
  "message": string,
  "parts": integer,
  "originatingService": "Sms",
  "direction": "Inbound",
  "receivedDate": string
}

Also, your inbound messages can be tracked through the SMS tracking resource.
You can see all your inbound messages at the Logs menu in Routee Platform with direction: inbound.

See an example of how to use a Number with your SMS Campaign How to use a Number with your SMS Campaign

If you want to gather the inbound messages and save them into a file, you should build a server-side script.

Example:

Using the following example server-side code, you will save the message, messageId and the receivedDate of inbound messages into a file.

<?php

// read input data from POST
$request = json_decode(file_get_contents('php://input'), true);

// set file name
$log_file_name = "my-inbound-logs.log";

// check if log file already exists
if (!file_exists($log_file_name)) {
	//create a file in not exists
    $log_file_create = fopen($log_file_name, 'w');
    fclose($log_file_create);
    chmod($log_file_name, 0755);
}

// Check for null request
if ($request == null) {
    //save message to a specific log file
    error_log("Request is null\n", 3, $log_file_name);
    return;
}

// Check that this is an inbound message
if (!isset($request['direction']) == 'Inbound') {
    //save message to a specific log file
    error_log("This is not an inbound message\n", 3, $log_file_name);
    return;
}

// Write data to log file
   error_log("The following inbound message: ".$request['message']." with messageId: ".$request['messageId']." was received at: ".$request['receivedDate']."\n", 3, $log_file_name);
 

Updated 2 years ago


How to receive SMS inbound messages


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.