Route Mobile Callback API

Webhook receiver endpoints for real-time RCS message delivery and event notifications.

Operations 1

POST /callback Callback #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/route-mobile-callback-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

route-mobile-callback-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.1.0
  title: Route Mobile Rich Communication Services (RCS) API Documentation Callback API
  description: 'Welcome to the Route Mobile developer hub. You will find comprehensive RCS API documentation to help you start working with Route Mobile as quickly as possible and support if you get stuck. Let''s jump right in!


    For more information, see the [Route Mobile Open API Specifications](https://routemobile.github.io/RCS-Business-Messaging-API/RCS.html)'
  contact:
    url: https://developers.routemobile.com/
    name: Route Mobile Development
    email: support@routemobile.com
  license:
    name: Proprietary
    url: https://www.routemobile.com/terms-and-conditions/
  x-logo:
    url: https://www.routemobile.com/wp-content/uploads/2021/07/RM-Logo.png
    altText: Route Mobile Logo
  x-readme:
    samples-languages:
    - curl
    - python
    - node
    - java
    - php
servers:
- url: https://apis.rmlconnect.net
security:
- jwt: []
tags:
- name: Callback API
  description: Webhook receiver endpoints for real-time RCS message delivery and event notifications.
paths:
  /callback:
    post:
      tags:
      - Callback API
      summary: Callback
      description: 'Use the Callback API to receive real-time RCS notifications of incoming messages and other events. '
      operationId: post-callback
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/rcs_callback_incoming_text'
              - $ref: '#/components/schemas/rcs_callback_incoming_image'
              - $ref: '#/components/schemas/rcs_callback_incoming_location'
              - $ref: '#/components/schemas/rcs_callback_incoming_suggaction'
              - $ref: '#/components/schemas/rcs_callback_incoming_suggestion_reply'
              - $ref: '#/components/schemas/rcs_callback_incoming_video'
              - $ref: '#/components/schemas/rcs_callback_incoming_document'
              - $ref: '#/components/schemas/rcs_callback_status_read_delivered'
              - $ref: '#/components/schemas/rcs_callback_status_failed'
              - $ref: '#/components/schemas/rcs_callback_fallback_whatsapp'
            examples:
              Incoming Text:
                value:
                  bot_name: Routemobile
                  event_type: text_message
                  request_id: Mx068dFMQbSWm7zPxvVFIxxxx
                  session_id: 1d80575f-fe51-4ea9-b1b4-883ded8fxxxx
                  text_message: Hi
                  timestamp: 2023-05-23T09:14:36.2599xxx
                  user_contact: '{phone}'
                  username: demo
              Incoming Image:
                value:
                  bot_name: Routemobile
                  event_type: media_message
                  media_name: 16656.jpg
                  media_size: '193386'
                  media_type: image
                  media_uri: https://www.example.com/a502a4e475d7f700cead51b416a1040ed53f2c607a6d87790561d5xxxxxx
                  request_id: MxE3=LDqIZRqKVzsjLPIxxxx
                  session_id: b19d033c-a159-4565-8d3d-8d527abaxxxx
                  timestamp: 2023-04-02T10:49:30.9598xxxx
                  user_contact: '{phone}'
                  username: demo
              Incoming Location:
                value:
                  request_id: 01bc1fcd-6ceb-473d-bd17-b0979ea2xxxx
                  user_contact: '{phone}'
                  timestamp: 2021-02-06T03:50:00.432xxxx
                  bot_name: VMart
                  username: vmartretail
                  session_id: 72cfbb87-f7bf-4e02-bd40-322e4e35xxxxx
                  event_type: location
                  latitude: 19.1453xxx
                  longitude: 72.8236xxx
              Incoming Suggestion Action (URL/Dial):
                value:
                  bot_name: Routemobile
                  event_type: response
                  request_id: MxoUu=Ito5SfCX-SVJ0jmxxxx
                  response_postback: url
                  response_text: Tap me
                  session_id: b19d033c-a159-4565-8d3d-8d527abaxxxx
                  suggestion_type: action
                  timestamp: 2023-04-02T12:02:33.594xxxx
                  user_contact: '{phone}'
                  username: demo
              Incoming Suggestion Reply:
                value:
                  bot_name: Routemobile
                  event_type: response
                  request_id: Mxtq0v4sL6T1Oa2WpBXxxxxx
                  response_postback: test
                  response_text: Nice
                  session_id: b19d033c-a159-4565-8d3d-8d527abaxxxx
                  suggestion_type: reply
                  timestamp: 2023-04-02T12:03:03.315xxxx
                  user_contact: '{phone}'
                  username: demo
              Incoming Video:
                value:
                  bot_name: Routemobile
                  event_type: media_message
                  media_name: 15584.mp4
                  media_size: '8372956'
                  media_type: video
                  media_uri: https://www.example.com/8ffc96b86dd5a47a1b3e0c5baf68b952998e561e681cf92f6539xxxxxxx
                  request_id: Mx1DOwT7ZHRN-8Gzu2PFxxxxx
                  session_id: b19d033c-a159-4565-8d3d-8d527abxxxxx
                  timestamp: 2023-04-02T10:50:45.8520xxx
                  user_contact: '{phone}'
                  username: demo
              Incoming Document:
                value:
                  bot_name: Routemobile
                  event_type: media_message
                  media_name: Ticket.pdf
                  media_size: '160827'
                  media_type: application
                  media_uri: https://www.example.com/9108880408b94cf4a9dfb48002ac580ed868962d757321463a2b8dxxxxx
                  request_id: Mxi3EWJ6TvQkeJZ4MZbPxxxx2
                  session_id: b19d033c-a159-4565-8d3d-8d527abxxxxx1
                  timestamp: 2023-04-02T10:51:33.554xxxxx
                  user_contact: '{phone}'
                  username: demo
              Status (Read/Delivered):
                value:
                  bot_name: Routemobile
                  event_type: status
                  message_id: 66b3ef00-d14e-11ed-a253-0a58a9xxxxx
                  message_status: READ/DELIVERED
                  timestamp: 2023-04-02T12:03:43.655xxxxxx
                  user_contact: '{phone}'
                  extra: extra
                  username: demo
                  campaign_name: '{campaign_name}'
                  campaign_id: '{campaign_id}'
              Status Failed:
                value:
                  bot_name: Routemobile
                  event_type: status
                  message_id: 66b3ef00-d14e-11ed-a253-0a58a9fxxxxx
                  message_status: FAILED
                  failure_reason: 'The supplied file URL https://storage.googleapis.com/kitchen-sink-xxxxx-images/xxxxt.jpg is invalid Code: INVALID_ARGUMENT'
                  timestamp: 2023-04-02T12:03:43.6557xxxx
                  user_contact: '{phone}'
                  extra: extra
                  username: demo
                  campaign_name: '{campaign_name}'
                  campaign_id: '{campaign_id}'
              Fallback to Whatsapp:
                value:
                  bot_name: Routemobile
                  event_type: status
                  message_id: 66b3ef00-d14e-11ed-a253-0a58a9feac02
                  message_status: fallback
                  timestamp: '2023-04-02T12:03:43.655710Z'
                  user_contact: '+917045345285'
                  whatsapp_message_id: 11b3ef00-d14e-11ed-a253-0a58a9feac02
                  extra: extra
                  username: demo
      responses:
        '200':
          description: OK
components:
  schemas:
    rcs_callback_incoming_text:
      type: object
      title: Incoming Text
      properties:
        bot_name:
          type: string
          description: 'The name of the bot.

            '
        event_type:
          type: string
          description: "The type of event or message. \n"
        request_id:
          type: string
          description: 'The unique identifier for the original request or message.

            '
        session_id:
          type: string
          description: 'The session identifier for the conversation or interaction. It helps to associate multiple messages from the same user or session.

            '
        text_message:
          type: string
          description: 'The text content of the message sent by the user.

            '
        timestamp:
          type: string
          description: 'The timestamp of when the message was received or sent.

            '
        user_contact:
          type: string
          description: 'The contact information of the user.

            '
        username:
          type: string
          description: 'The name of the user.

            '
      required:
      - bot_name
      - event_type
      - request_id
      - session_id
      - text_message
      - timestamp
      - user_contact
      - username
    rcs_callback_incoming_video:
      type: object
      title: Incoming Video
      properties:
        bot_name:
          type: string
          description: 'The name of the bot.

            '
        event_type:
          type: string
          description: "The type of event or message. \n"
        media_name:
          type: string
          description: 'The name of the media file.

            '
        media_size:
          type: string
          description: "The size of the media file in bytes. \n"
        media_type:
          type: string
          description: 'The type of media. For a video, it is set to "video".

            '
        media_uri:
          type: string
          description: "The URI or URL where the media file is hosted or stored. \n"
        request_id:
          type: string
          description: 'The unique identifier for the original request or message.

            '
        session_id:
          type: string
          description: 'The session identifier for the conversation or interaction. It helps to associate multiple messages from the same user or session.

            '
        timestamp:
          type: string
          description: 'The timestamp of when the message was received or sent.

            '
        user_contact:
          type: string
          description: 'The contact information of the user.

            '
        username:
          type: string
          description: 'The name of the user.

            '
      required:
      - bot_name
      - event_type
      - media_name
      - media_size
      - media_type
      - media_uri
      - request_id
      - session_id
      - timestamp
      - user_contact
      - username
    rcs_callback_incoming_location:
      type: object
      title: Incoming Location
      properties:
        request_id:
          type: string
          description: 'The unique identifier for the original request or message.

            '
        user_contact:
          type: string
          description: 'The contact information of the user.

            '
        timestamp:
          type: string
          description: 'The timestamp of when the message was received or sent.

            '
        bot_name:
          type: string
          description: 'The name of the bot.

            '
        username:
          type: string
          description: 'The name of the user.

            '
        session_id:
          type: string
          description: 'The session identifier for the conversation or interaction. It helps to associate multiple messages from the same user or session.

            '
        event_type:
          type: string
          description: "The type of event or message. \n"
        latitude:
          type: number
          description: "A decimal number representing the latitude coordinate of the location shared by the user. \n"
        longitude:
          type: number
          description: 'A decimal number representing the longitude coordinate of the location shared by the user.

            '
      required:
      - request_id
      - user_contact
      - timestamp
      - bot_name
      - username
      - session_id
      - event_type
      - latitude
      - longitude
    rcs_callback_incoming_suggaction:
      type: object
      title: Incoming Suggestion Action (URL/Dial)
      properties:
        bot_name:
          type: string
          description: 'The name of the bot.

            '
        event_type:
          type: string
          description: "The type of event or message. \n"
        request_id:
          type: string
          description: 'The unique identifier for the original request or message.

            '
        response_postback:
          type: string
          description: 'The postback value associated with the suggestion action.

            '
        response_text:
          type: string
          description: 'The text associated with the suggestion action.

            '
        session_id:
          type: string
          description: 'The session identifier for the conversation or interaction. It helps to associate multiple messages from the same user or session.

            '
        suggestion_type:
          type: string
          description: 'The type of suggestion used by the user.

            '
        timestamp:
          type: string
          description: 'The timestamp of when the message was received or sent.

            '
        user_contact:
          type: string
          description: 'The contact information of the user.

            '
        username:
          type: string
          description: 'The name of the user.

            '
      required:
      - bot_name
      - event_type
      - request_id
      - response_postback
      - response_text
      - session_id
      - suggestion_type
      - timestamp
      - user_contact
      - username
    rcs_callback_status_failed:
      type: object
      title: Status Failed
      properties:
        bot_name:
          type: string
          description: 'The name of the bot.

            '
        event_type:
          type: string
          description: "The type of event or message. \n"
        message_id:
          type: string
          description: "The unique identifier for the message that is being reported for its status. \n"
        message_status:
          type: string
          description: 'The status of the message.

            '
        failure_reason:
          type: string
          description: 'The reason for the failure.

            '
        timestamp:
          type: string
          description: 'The timestamp of when the message was received or sent.

            '
        user_contact:
          type: string
          description: 'The contact information of the user.

            '
        extra:
          type: string
          description: 'Additional information or parameters related to the payment.

            '
        username:
          type: string
          description: 'The name of the user.

            '
        campaign_name:
          type: string
          description: "The name of the campaign. \n"
        campaign_id:
          type: string
          description: "The id for the campaign sent. \n"
      required:
      - bot_name
      - event_type
      - message_id
      - message_status
      - failure_reason
      - timestamp
      - user_contact
      - extra
      - username
      - campaign_name
      - campaign_id
    rcs_callback_fallback_whatsapp:
      type: object
      title: Fallback To Whatsapp
      properties:
        bot_name:
          type: string
          description: 'The name of the bot.

            '
        event_type:
          type: string
          description: "The type of event or message. \n"
        message_id:
          type: string
          description: "The unique identifier for the message that is being reported for its status. \n"
        message_status:
          type: string
          description: 'The status of the message.

            '
        timestamp:
          type: string
          description: 'The timestamp of when the message was received or sent.

            '
        user_contact:
          type: string
          description: 'The contact information of the user.

            '
        extra:
          type: string
          description: 'Additional information or parameters related to the payment.

            '
        username:
          type: string
          description: 'The name of the user.

            '
      required:
      - bot_name
      - event_type
      - message_id
      - message_status
      - failure_reason
      - timestamp
      - user_contact
      - extra
      - username
    rcs_callback_incoming_suggestion_reply:
      type: object
      title: Incoming Suggestion Reply
      properties:
        bot_name:
          type: string
          description: 'The name of the bot.

            '
        event_type:
          type: string
          description: 'The type of event or message. For a suggestion reply, it is set to "response".

            '
        request_id:
          type: string
          description: 'The unique identifier for the original request or message.

            '
        response_postback:
          type: string
          description: 'The postback value associated with the suggestion reply.

            '
        response_text:
          type: string
          description: 'The text response provided by the user for the suggestion.

            '
        session_id:
          type: string
          description: 'The session identifier for the conversation or interaction. It helps to associate multiple messages from the same user or session.

            '
        suggestion_type:
          type: string
          description: "The type of suggestion used by the user. \n"
        timestamp:
          type: string
          description: 'The timestamp of when the message was received or sent.

            '
        user_contact:
          type: string
          description: 'The contact information of the user.

            '
        username:
          type: string
          description: 'The name of the user.

            '
      required:
      - bot_name
      - event_type
      - request_id
      - response_postback
      - response_text
      - session_id
      - suggestion_type
      - timestamp
      - user_contact
      - username
    rcs_callback_incoming_document:
      type: object
      title: Incoming Document
      properties:
        bot_name:
          type: string
          description: 'The name of the bot.

            '
        event_type:
          type: string
          description: "The type of event or message. \n"
        media_name:
          type: string
          description: 'The name of the media file.

            '
        media_size:
          type: string
          description: "The size of the media file in bytes. \n"
        media_type:
          type: string
          description: 'The type of media. For a document, it is set to "document".

            '
        media_uri:
          type: string
          description: "The URI or URL where the media file is hosted or stored. \n"
        request_id:
          type: string
          description: 'The unique identifier for the original request or message.

            '
        session_id:
          type: string
          description: 'The session identifier for the conversation or interaction. It helps to associate multiple messages from the same user or session.

            '
        timestamp:
          type: string
          description: 'The timestamp of when the message was received or sent.

            '
        user_contact:
          type: string
          description: 'The contact information of the user.

            '
        username:
          type: string
          description: 'The name of the user.

            '
      required:
      - bot_name
      - event_type
      - media_name
      - media_size
      - media_type
      - media_uri
      - request_id
      - session_id
      - timestamp
      - user_contact
      - username
    rcs_callback_incoming_image:
      type: object
      title: Incoming Image
      properties:
        bot_name:
          type: string
          description: 'The name of the bot.

            '
        event_type:
          type: string
          description: "The type of event or message. \n"
        media_name:
          type: string
          description: 'The name of the media file.

            '
        media_size:
          type: string
          description: 'The size of the media file in bytes.

            '
        media_type:
          type: string
          description: 'The type of media. For an image, it is set to "image".

            '
        media_uri:
          type: string
          description: 'The URI or URL where the media file is hosted or stored.

            '
        request_id:
          type: string
          description: 'The unique identifier for the original request or message.

            '
        session_id:
          type: string
          description: 'The session identifier for the conversation or interaction. It helps to associate multiple messages from the same user or session.

            '
        timestamp:
          type: string
          description: 'The timestamp of when the message was received or sent.

            '
        user_contact:
          type: string
          description: 'The contact information of the user.

            '
        username:
          type: string
          description: 'The name of the user.

            '
      required:
      - bot_name
      - event_type
      - media_name
      - media_size
      - media_type
      - media_uri
      - request_id
      - session_id
      - timestamp
      - user_contact
      - username
    rcs_callback_status_read_delivered:
      type: object
      title: Status (Read/Delivered)
      properties:
        bot_name:
          type: string
          description: 'The name of the bot.

            '
        event_type:
          type: string
          description: "The type of event or message. \n"
        message_id:
          type: string
          description: "The unique identifier for the message that is being reported for its status. \n"
        message_status:
          type: string
          description: 'The status of the message.

            '
        timestamp:
          type: string
          description: 'The timestamp of when the message was received or sent.

            '
        user_contact:
          type: string
          description: 'The contact information of the user.

            '
        extra:
          type: string
          description: 'Additional information or parameters related to the payment.

            '
        username:
          type: string
          description: 'The name of the user.

            '
        campaign_name:
          type: string
          description: "The name of the campaign. \n"
        campaign_id:
          type: string
          description: "The id for the campaign sent. \n"
      required:
      - bot_name
      - event_type
      - message_id
      - message_status
      - timestamp
      - user_contact
      - extra
      - username
      - campaign_name
      - campaign_id
  securitySchemes:
    jwt:
      type: apiKey
      name: Authorization
      in: header