Skip to content

ContextSMS Teams Platform API (1.0.0)

Overview

Build unified Microsoft Teams integrations with enterprise messaging capabilities.

Platform Capabilities

  • Unified Teams Integration - Connect Teams with external messaging systems
  • Multi-tenant Support - Manage multiple customer organizations efficiently
  • Advanced Routing - Intelligent message routing and delivery
  • Real-time Messaging - Instant message delivery and notifications

Integration Workflow

  1. Authenticate → Secure login with Bearer token
  2. Configure Team → Set up organization settings
  3. Manage Channels → Create and configure team channels
  4. Route Messages → Handle message routing and delivery
  5. Process Webhooks → Real-time event notifications
Overview
Languages
Servers
Mock server
https://context-docs.sabrhub.com/_mock/specs/contextsms-teams.external
Teams Backend Server (production)
https://teams-backend.sabrhub.com
Authentication Server (production)
https://usermanagement.sabrhub.com/v1

Authentication

Endpoints related to user authentication and token management

Operations

Enterprise Management

APIs for creating, retrieving, listing, and deleting enterprises

Operations

Mapping Management

Manage phone number-to-messaging app mappings across enterprises

Operations

Request

Create a number→messaging-app mapping for the specified enterprise. Returns the mapping id and mapping details.

Security
BearerAuth
Path
enterpriseIdstringrequired
Example: E0000027
Bodyapplication/jsonrequired
phoneNumberstringrequired
Example: "+12223334444"
messagingAppTypestringrequired
Value"Teams"
Example: "Teams"
messagingAppIdstringrequired
Example: "test@example.com"
namestringrequired
Example: "Tester"
mmsEnabledboolean
Example: false
mappingFeaturesArray of objects

Array of platform-specific feature configurations

Example: [{"platformType":"Teams","enabled":true,"groupTexting":false,"broadcastTexting":false,"mmsEnabled":false,"teamTexting":true,"scheduleSend":false,"aiSmartReplies":false,"aiChatAssist":false,"cdrAccess":false,"crmIntegration":false,"contactsIntegration":false},{"platformType":"Webex","enabled":true,"groupTexting":false,"broadcastTexting":false,"mmsEnabled":false,"teamTexting":true,"scheduleSend":false,"aiSmartReplies":false,"aiChatAssist":false,"cdrAccess":false,"crmIntegration":false,"contactsIntegration":false}]
notifyUserboolean

Whether to notify the user via email

Example: true
emailNotifyMapobject

Map of email addresses to notification preferences

Example: {"test222@gmail.com":false}
curl -X POST "https://teams-backend.sabrhub.com/mapping/add/E0000027" \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "test",
    "phoneNumber": "+13322222223",
    "messagingAppId": "test222@gmail.com",
    "messagingAppType": "Teams",
    "mmsEnabled": false,
    "mappingFeatures": [
      {
        "platformType": "Teams",
        "enabled": true,
        "groupTexting": false,
        "broadcastTexting": false,
        "mmsEnabled": false,
        "teamTexting": true,
        "scheduleSend": false,
        "aiSmartReplies": false,
        "aiChatAssist": false,
        "cdrAccess": false,
        "crmIntegration": false,
        "contactsIntegration": false
      },
      {
        "platformType": "Webex",
        "enabled": true,
        "groupTexting": false,
        "broadcastTexting": false,
        "mmsEnabled": false,
        "teamTexting": true,
        "scheduleSend": false,
        "aiSmartReplies": false,
        "aiChatAssist": false,
        "cdrAccess": false,
        "crmIntegration": false,
        "contactsIntegration": false
      }
    ],
    "notifyUser": true,
    "emailNotifyMap": {
      "test222@gmail.com": false
    }
  }'

Responses

Mapping added successfully.

Bodyapplication/json
numberToMessageAppMapIdstring
Example: "NTMAP0000123"
phoneNumberstring
Example: "+12223334444"
messagingAppTypestring
Example: "Teams"
messagingAppIdstring
Example: "test@example.com"
namestring
Example: "Tester"
mmsEnabledboolean
Example: false
statusstring
Example: "ACTIVE"
createdDatestring(date-time)
updateDatestring(date-time)
Response
application/json
{ "numberToMessageAppMapId": "NTMAP0000123", "phoneNumber": "+12223334444", "messagingAppType": "Teams", "messagingAppId": "test@example.com", "name": "Tester", "mmsEnabled": false, "status": "ACTIVE", "createdDate": "2019-08-24T14:15:22Z", "updateDate": "2019-08-24T14:15:22Z" }

Request

Return mappings for the specified enterprise (phoneNumber, messagingAppType, messagingAppId, name).

Security
BearerAuth
Path
enterpriseIdstringrequired
Example: E0000001
curl -X GET "https://teams-backend.sabrhub.com/numbertomessageappmapping/enterprise/E0000001" \
  -H "Authorization: Bearer <TOKEN>"

Responses

List of mappings for the specified enterprise.

Bodyapplication/jsonArray [
enterpriseIdstring
Example: "E0000001"
numberToMessageAppMapobject
]
Response
application/json
[ { "enterpriseId": "E0000001", "numberToMessageAppMap": { … } } ]

Request

Update mapping details (messagingAppId, phoneNumber, name, mmsEnabled, mappingFeatures, notifyUser, emailNotifyMap) for the specified mapping ID and return the updated mapping.

Security
BearerAuth
Path
numberToMessageAppMapIdstringrequired
Example: NTMAP0000123
Bodyapplication/jsonrequired
messagingAppIdstring
Example: "app456"
phoneNumberstring
Example: "+12223334444"
namestring
Example: "Updated Name"
mmsEnabledboolean
Example: false
mappingFeaturesArray of objects

Array of platform-specific feature configurations

notifyUserboolean

Whether to notify the user via email

Example: true
emailNotifyMapobject

Map of email addresses to notification preferences

Example: {"test222@gmail.com":false}
curl -X PUT "https://teams-backend.sabrhub.com/mapping/NTMAP0000123" \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "messagingAppId": "app456",
    "phoneNumber": "+12223334444",
    "name": "Updated Name",
    "mmsEnabled": false,
    "mappingFeatures": [
      {
        "platformType": "Teams",
        "enabled": true,
        "groupTexting": false,
        "broadcastTexting": false,
        "mmsEnabled": false,
        "teamTexting": true,
        "scheduleSend": false,
        "aiSmartReplies": false,
        "aiChatAssist": false,
        "cdrAccess": false,
        "crmIntegration": false,
        "contactsIntegration": false
      }
    ],
    "notifyUser": true,
    "emailNotifyMap": {
      "app456": false
    }
  }'

Responses

Mapping updated successfully

Bodyapplication/json
numberToMessageAppMapIdstring
Example: "NTMAP0000123"
messagingAppIdstring
Example: "app456"
phoneNumberstring
Example: "+12223334444"
namestring
Example: "Updated Name"
messagingAppTypestring
Example: "Teams"
statusstring
Example: "ACTIVE"
Response
application/json
{ "numberToMessageAppMapId": "NTMAP0000123", "messagingAppId": "app456", "phoneNumber": "+12223334444", "name": "Updated Name", "messagingAppType": "Teams", "status": "ACTIVE" }

Request

Delete the mapping identified by numberToMessageAppMapId. Returns 200 on success or 404 if the mapping is not found.

Security
BearerAuth
Path
numberToMessageAppMapIdstringrequired

The ID of the message app map to be deleted.

Example: NTMAP0000123
curl -X DELETE "https://teams-backend.sabrhub.com/mapping/NTMAP0000123" \
  -H "Authorization: Bearer <TOKEN>"

Responses

Mapping deleted successfully

Response
No content

Request

Lookup and return mapping details using messagingAppId (phone, app type, mapping id, name).

Security
BearerAuth
Bodyapplication/jsonrequired
emailstring(email)required
Example: "app789@example.com"
platformTypestring

Platform type (optional)

curl -X POST "https://teams-backend.sabrhub.com/mapping/messagingAppId" \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"email": "app789@example.com"}'

Responses

Mapping read successfully

Bodyapplication/jsonArray [
numberToMessageAppMapIdstring
Example: "NTMAP0000456"
messagingAppIdstring
Example: "app789@example.com"
phoneNumberstring
Example: "+12223334444"
messagingAppTypestring
Example: "Teams"
namestring
Example: "Mapping Name"
statusstring
Example: "ACTIVE"
createdDatestring(date-time)
updateDatestring(date-time)
featureobject

Feature validation details

]
Response
application/json
[ { "numberToMessageAppMapId": "NTMAP0000456", "messagingAppId": "app789@example.com", "phoneNumber": "+12223334444", "messagingAppType": "Teams", "name": "Mapping Name", "status": "ACTIVE", "createdDate": "2019-08-24T14:15:22Z", "updateDate": "2019-08-24T14:15:22Z", "feature": {} } ]