Skip to main content

RCS Messaging and Campaign APIs

This page covers the main RCS APIs for capability checks, single-message sending, campaign batching, and callback payloads.

Base URL

https://alb-backend.msgkart.com/api/v3

Authentication

Include the following header in every request:

x-api-key: <apikey>

Capability APIs

Single Capability Discovery

Checks whether a subscriber is RCS-capable for the given Msgkart business account.

Request Syntax

GET /capability/{msgkartId}/rcs?subscriberId=919999999999

Response Body

{
"capable": true
}

Messaging APIs

Send Single RCS Message (Template)

Sends a single RCS template message to one subscriber.

Request Syntax

POST /message/{msgkartId}/template/rcs

Request Body: Template with Header Variables

{
"message": {
"messageType": "rcs_message",
"templateId": "{{templateId}}",
"components": [
{
"type": "HEADER",
"format": "IMAGE",
"media": {
"mediaUrl": "mediaUrl"
}
}
],
"rcsMessageType": "RICHCARD_STANDALONE"
},
"to": "{{subscriberId}}"
}

Request Body: Template with Body Variables

{
"message": {
"messageType": "rcs_message",
"templateId": "juzer_test",
"components": [
{
"type": "BODY",
"variables": [
{
"type": "text",
"value": "${name}"
}
]
}
],
"rcsMessageType": "RICHCARD_STANDALONE"
},
"to": "{{subscriberId}}"
}

Request Body: Template ID

{
"message": {
"messageType": "rcs_message",
"templateId": "juzer_test5",
"rcsMessageType": "RICHCARD_STANDALONE"
},
"to": "{{subscriberId}}"
}

Send Freeform Message

Sends a freeform text message.

Request Body

{
"phone": "919999999999",
"text": "Hellow World"
}

Response Body

{
"messageId": "rcs-5e2a9c41-bd7-8f1e-91b8f2d9a0ef"
}

Campaign Management APIs

Create Batched Campaign

Creates a new RCS campaign. Default expiry is midnight if not provided.

Request Syntax

POST /promotion/{msgkartId}/rcs

Request Body

{
"promotionName": "p1Name",
"promotionExpiry": 1700000000
}

Response Body

{
"promotionId": "p1"
}

Add Batch to Campaign

Adds a batch of subscribers to an existing campaign.

Request Syntax

POST /promotion/{msgkartId}/rcs/batch

Request Body

{
"promotionId": "p1",
"doCapabilityCheck": false,
"subscribers": [
{
"phone": "919999999999",
"text": "Hey How are you"
},
{
"phone": "919999999998",
"text": "Hello World"
}
]
}

Response Body

{
"batchId": "batch_123"
}

Callbacks (Webhooks)

Batched Capability Callback

POST <Business URL>
{
"success": true,
"promotionId": "",
"batchId": "",
"totalProcessed": 6,
"rcsNumbers": [
"+9198xxxxxx23"
],
"nonRcsNumbers": [
"+9198xxxxxx24"
],
"rcsCount": 3,
"nonRcsCount": 3
}

Batched Message ID Mapping Callback

POST <Business URL>
{
"success": true,
"promotionId": "",
"batchId": "",
"messages": [
{
"id": "message_id_1",
"phone": "+9198xxxxxx23"
},
{
"id": "message_id_2",
"phone": "+9198xxxxxx22"
}
]
}

Message Status Callback

POST <Business URL>
{
"messageId": "message_id",
"status": "READ",
"timestamp": "2026-03-06T09:47:07.835213Z"
}

End-to-End Flow

Create Campaign
Add Batch (with capability check)
Capability Callback (RCS vs Non-RCS users)
Messages Sent
Messages ID Mapping Callback
Message Status Callback (Delivered / Read)