What You Can Do with the Business Messenger APIs
The HORISEN Business Messenger app lets you engage customers across multiple channels — SMS, WhatsApp, Facebook, Instagram, RCS, Telegram, and Webpush — from a single platform, and automate conversations with Bot or AI integrations.
Business Messenger API Modules
| API Module | Description |
|---|---|
| Campaign API | Create, clone, update, and manage multi-channel messaging campaigns programmatically. |
| Contact Manager API | Manage contacts, lists, groups, segmentation, subscriptions, touchpoints, and interests. |
| Conversation API | Connect a Botpress, Custom, or AI adapter to automatically respond to inbound messages from any channel. |
| UI Integration API | Display data from your own external systems as Grid or KPI components inside the Business Messenger app. |
Each API uses consistent REST/JSON request-response structures and OAuth2 authentication.
Supported Channels
- SMS — sent via Campaign API, or collected via the SMS Form SDK for web subscription forms.
- WhatsApp — including Catalog, Flow, and Coupon message templates.
- Facebook and Instagram — Messenger-based conversations through connected Pages/Accounts.
- RCS — rich messaging via a registered RCS Agent.
- Telegram — via a Telegram Bot connected to the account.
- Email — available as a Campaign API sending type and Contact Manager opt-in channel.
- Webpush — browser push notifications via the Webpush SDK.
Authentication
Business Messenger APIs use the OAuth2 client credentials grant type. Provide your client ID and secret to obtain an access token:
curl https://accounts{separator}{platform_domain}/oauth2/access-token -d 'grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET'
The response contains a bearer token to use with every subsequent API call:
{"access_token":"ACCESS_TOKEN","token_type":"Bearer","expires_in":604800}
For more details, please check the OAuth2 Authentication Guidelines page.
Quick Examples
Create and Launch an SMS Campaign
Use the Campaign API to schedule a one-time SMS campaign to a contact list:
curl -X 'POST' \
'https://api{separator}{platform_domain}/news/v1/services/SERVICE_UUID/campaigns' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-d '{
"name": "Flash Sale - 24h Promo",
"status": "active",
"sending_type": "sms",
"schedule_type": "once",
"schedule_rrule": "2024-05-01 17:05:00",
"template": "24h Promo! Get -30% today only. Use code FLASH30 at checkout.",
"sender": "+41587000000",
"recipient_lists": "cf9eeb30-c1af-11ee-8073-bf4d6e8c1618"
}'
Add a New Contact
Use the Contact Manager API to create a contact and opt them in for messaging:
curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" --header "Authorization: Bearer ACCESS_TOKEN" -d "{
\"list_uuid\": \"LIST_UUID\",
\"first_name\": \"John\",
\"last_name\": \"Smith\",
\"mobile\": \"+12025550100\",
\"opt_status\": \"in\"
}" "https://api{separator}{platform_domain}/news/v1/services/SERVICE_UUID/cds/contacts"
Segment Contacts by Field
Filter contacts using the Contact Manager API's segmentation query, e.g. all contacts with a specific first name:
curl 'https://api{separator}{platform_domain}/news/v1/services/SERVICE_UUID/cds/contacts?fields=lists,channels&page_number=1&page_size=10&query={"segmentation":[{"operator":"AND","rules":[{"field":"first_name","condition":"eq","value":"john","operator":"AND"}]}]}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Respond to Inbound Messages with a Bot
With the Conversation API's Custom adapter, your webhook receives every inbound message:
{
"serviceUuid": "d354fe67-87f2-4438-959f-65fde4622040",
"dialogUuid": "237a9b91-f7dd-4a49-939d-af95820d84a0",
"channel": "telegram",
"message": {
"body": {
"textMessage": {
"content": "Hello"
}
}
},
"contact": {
"uuid": "ae77ee16-1f77-4617-a5f0-c17b5483b730",
"mobile": "+4163456568"
}
}
Your webhook responds with one or more messages to be sent back to the user:
{
"messages": [
{
"body": {
"textMessage": {
"content": "Hello! How can we help you today?"
}
}
}
]
}
Typical Integrations
Bulk Contact Import
Use the Contact Manager API's imports endpoint to migrate or import existing contact lists in a single batch call, with duplicate resolution based on mobile number or a custom identifier.
AI-Powered Auto-Responses
Connect the Conversation API's AI Adapter to an OpenAI-compatible provider (Google, Anthropic, xAI, etc.) to automatically answer customer messages, without building or hosting your own bot.
Customer Portals
Use the Contact Manager API to manage subscriber lists and segmentation, and the UI Integration API to embed your own billing or usage data as Grid/KPI components inside the Business Messenger app.
Marketing Automation
Use the Campaign API to launch scheduled or recurring campaigns across SMS, WhatsApp, Email, RCS, Telegram, and Webpush from a single integration.
Technical Characteristics
- Multi-channel messaging: SMS, WhatsApp, Facebook, Instagram, RCS, Telegram, Email, Webpush
- REST HTTP APIs with JSON payloads
- OAuth2 client credentials authentication
- Contact segmentation, filtering, and pagination
- Webhook-based Bot/AI integration for automated responses
- WhatsApp Catalog, Flow, and Coupon message template support