Skip to content
Mango9

SMS Inbox API

Pass incoming customer replies to another business tool without losing track of which messages it has processed.

In the CRM: Settings → Developer APIs → SMS Inbox API

Keep replies in the customer journey

Use SMS Inbox API when an external tool needs the replies sent to your business numbers. For example, a customer answering a consultation reminder can have that reply passed to the system coordinating the booking.

There are two approaches: a callback sends the message details to your web address, while inbox retrieval asks Mango9 for a batch of waiting replies. Agree which integration is responsible for processing them.

The screen separates the inbox request fields from the variables sent to a callback. Select the image to enlarge it.

Receive replies through a callback

The callback setting is shared at account level. Changing it here replaces the same stored destination used by the SMS callback setting; it is not a separate destination for every developer API page.

The example URL is a placeholder. Enable Callback URL saves the destination; it was not submitted during this review. Select the image to enlarge it.
  1. Have your developer prepare an HTTPS address that can receive the incoming message fields.
  2. Open SMS Inbox API → Incoming SMS Callback.
  3. Enter the complete address in the callback field. Review any existing integration before replacing it.
  4. Select Enable Callback URL when ready to save the account’s callback destination.
  5. Send an agreed test reply to the business number and confirm that the receiving tool processes it once.

Understand the callback fields

Understand the callback fields
FieldMeaning
timestampThe incoming message time as a Unix timestamp. Convert it to the business’s city-based time zone for display.
replyThe incoming message content, URL-encoded.
fromThe customer’s sending number.
toThe business number receiving the reply.
deliver_statusThe status value supplied with the callback.

Retrieve a batch when your tool asks for it

The retrieval endpoint is GET /smsapi/inboxapi with key and optional sdate and edate filters in YYYY-MM-DD format. It returns up to 100 waiting replies. Use the account’s server and the saved full API secret.

The current processed-message setting marks returned replies as processed. Opening the retrieval URL with a real key can therefore change what another consumer receives next. Use one coordinated polling process, retain each message ID and avoid using a live inbox request as a harmless connection test.

The response is pipe-delimited text, with HTML line breaks added by the current handler. It is not JSON. Each message contains its ID, sender, receiver, message text and timestamp. Newlines within the message are flattened.

message_id|sender|receiver|message|timestamp

Example fields:
12345|12025550147|12025550148|Yes, that time works.|10-21-2026 09:30:00

Store each returned reply before the next poll and use its message ID to prevent duplicate processing. Keep the customer’s full message intact when parsing the separators.

Interpret an empty or rejected response

Interpret an empty or rejected response
ResponseMeaning
-1|no sms replies found|3No waiting replies matched the request.
0|user not allowed|3The key did not identify an allowed account.
0|you ip is not whitelisted|3The requesting server is not allowed by the account’s API access setting.

Make replies useful to the team

For appointment marketing, connect the reply to the same contact and booking so the agent can see whether the customer confirmed, asked a question or needs a new time. Review the account time-zone setting so staff and customers see meaningful local times.

Use the Mango9 conversation screens for the team’s ordinary replies. An integration should not start a second automated reply path unless that behavior is intended by the business workflow.