Skip to main content

RCS Promotion APIs

The RCS Promotion APIs enable businesses to create and launch rich, interactive promotional campaigns using Rich Communication Services (RCS). These APIs support advanced messaging features including rich cards, carousels, and interactive buttons.


Prerequisites
  1. RCS Business Account: Active RCS Business Messaging account with verified brand
  2. Msgkart Account: An active Msgkart account with API Key
  3. Approved Rich Cards: Pre-approved RCS message templates with rich media

Launch RCS Promotion

Creates and launches a new RCS promotional campaign with rich media content.

Request Syntax

POST api/v2/promotion/{{msgkartId}}/template/launch?name={{nameOfTargetList}}

Form Data

Use multipart/form-data to upload the CSV file along with the request body.

file: {{csvFile}}

body: JSON
{
"businessId": "{{msgkartId}}",
"name": "{{promotionName}}",
"promotionType": "IMMEDIATE",
"promotionBase": "TEMPLATE",
"promotionTemplateType": "TEMPLATE",
"template": {
"name": "{{tempalteName}}",
"id": "{{tempalteId}}",
"language": "{{templateLanguage}}",
"components": [
{
"type": "CAROUSEL",
"cards": [
{
"card_index": 0,
"components": [
{
"type": "BODY",
"variables": [
{ "type": "text", "value": "${name}" },
{ "type": "text", "value": "${phone}" },
{ "type": "text", "value": "${language}" },
{ "type": "text", "value": "${businesssubscriberid}" },
{ "type": "text", "value": "${name}" },
{ "type": "text", "value": "${language}" },
{ "type": "text", "value": "${phone}" }
]
},
{
"type": "HEADER",
"format": "IMAGE",
"media": {
"mediaUrl": "https://image.jpeg"
}
}
]
},
{
"card_index": 1,
"components": [
{
"type": "HEADER",
"format": "IMAGE",
"media": {
"mediaUrl": "https://image.jpeg"
}
}
]
}
]
}
]
},
"channelType": "rcs"
}


Launch RCS Promotion On an Uploaded list

Launches an RCS promotional campaign targeting contacts from an uploaded CSV file with rich interactive content.

Request Syntax

POST api/v2/promotion/{{msgkartId}}/template/launch?name={{nameOfTargetList}}

Request Body

{
"businessId": "{{msgkartId}}",
"name": "{{promotionName}}",
"promotionType": "IMMEDIATE",
"promotionBase": "TEMPLATE",
"promotionTemplateType": "TEMPLATE",
"template": {
"name": "{{tempalteName}}",
"id": "{{tempalteId}}",
"language": "{{templateLanguage}}",
"components": [
{
"type": "CAROUSEL",
"cards": [
{
"card_index": 0,
"components": [
{
"type": "BODY",
"variables": [
{
"type": "text",
"value": "${name}"
},
{
"type": "text",
"value": "${phone}"
},
{
"type": "text",
"value": "${language}"
},
{
"type": "text",
"value": "${businesssubscriberid}"
},
{
"type": "text",
"value": "${name}"
},
{
"type": "text",
"value": "${language}"
},
{
"type": "text",
"value": "${phone}"
}
]
},
{
"type": "HEADER",
"format": "IMAGE",
"media": {
"mediaUrl": "https://image.jpeg"
}
}
]
},
{
"card_index": 1,
"components": [
{
"type": "HEADER",
"format": "IMAGE",
"media": {
"mediaUrl": "https://image.jpeg"
}
}
]
}
]
}
]
},
"channelType": "rcs"
}

Properties

PropertyDescriptionSample
campaignNameName of the RCS promotional campaignBlack Friday Sale
messageTypeType of RCS messagerich_card, carousel, standalone
contentRich content object with title, description, and mediaSee request body
titleTitle of the rich cardExclusive Deals
descriptionDescription text for the cardGet up to 70% off
mediaUrlURL of the media (image/video)https://example.com/img.jpg
mediaHeightHeight of the mediaSHORT, MEDIUM, TALL
suggestionsInteractive action buttonsArray of suggestion objects
uploadedListIdID of the uploaded contact listlist_rcs_456
targetAudienceTarget audience segmentall, premium, engaged
scheduledTimeScheduled launch time (ISO 8601 format)2024-11-29T00:00:00Z

Get Promotions

Retrieves all RCS promotions for a specific business account.

Request Syntax

GET /api/v2/promotion/{{msgkartId}}?channel=rcs

Path Parameters

ParameterTypeRequiredDescription
msgkartIdstringYesYour Msgkart business ID

Query Parameters

ParameterTypeRequiredDescription
channelstringYesChannel type (use rcs for RCS)

Response Body

{
"promotions": [
{
"promotionId": "5d58cb288b0d46ffbe839fec303f8bb4",
"businessId": "107698525673716",
"msgkartId": "107698525673716",
"name": "Adil testing",
"channelType": "rcs",
"status": "Completed",
"createdBy": null,
"promotionType": "IMMEDIATE",
"targetSource": "CSV",
"targetType": "Digitap 1.csv_1765385758146",
"flowId": null,
"flowName": null,
"promotionBase": null,
"attributionWindow": 0,
"promotionEndTime": 1765385829,
"createdDate": 1765385766
}
]
}

Get Promotion Statistics Report

Retrieves detailed statistics and analytics for a specific RCS promotion campaign.

Request Syntax

GET /api/v2/promotion/{{msgkartId}}/statistics/{{promotionId}}/report?channel=rcs

Path Parameters

ParameterTypeRequiredDescription
msgkartIdstringYesYour Msgkart business ID
promotionIdstringYesID of the promotion

Query Parameters

ParameterTypeRequiredDescription
channelstringYesChannel type (use rcs for RCS)

Response Body (CSV Format)

Name,Phone,Status,Timestamp,Error,FlowId,FlowName,RetryCount,TemplateName,Language
Datta,919986014713,read,10 Dec 2025 10:27 PM,null,null,0,cpr_adil,en_US
Joel,919895566812,failed,10 Dec 2025 10:27 PM,This message was not delivered to maintain healthy ecosystem engagement.,null,null,0,cpr_adil,en_US
}

Get Promotion Stats

Retrieves real-time statistics for a specific RCS promotion.

Request Syntax

GET /api/v2/promotion/{{msgkartId}}/{{promotionId}}/stats?channel=rcs

Path Parameters

ParameterTypeRequiredDescription
msgkartIdstringYesYour Msgkart business ID
promotionIdstringYesID of the promotion

Query Parameters

ParameterTypeRequiredDescription
channelstringYesChannel type (use rcs for this endpoint)

Response Body

{
"attempted": 8,
"failed": 2,
"sent": 0,
"delivered": 0,
"read": 6,
"interacted": 0,
"optout": 0,
"statsReport": [
{
"attempted": 8,
"failed": 2,
"sent": 0,
"delivered": 0,
"read": 6,
"interacted": 0,
"optout": 0,
"promotionRetryNumber": 0
}
]
}

Update Promotion Status

Updates the status of an RCS promotion (stop or cancel).

Request Syntax

PATCH /api/v2/promotion/{{msgkartId}}/{{promotionId}}?channel=rcs

Path Parameters

ParameterTypeRequiredDescription
msgkartIdstringYesYour Msgkart business ID
promotionIdstringYesID of the promotion to update

Query Parameters

ParameterTypeRequiredDescription
channelstringYesChannel type (use rcs for RCS)

Request Body

{
"type": "status",
"status": "Stopped"
}

Status Values

ValueDescription
StoppedTemporarily stop the promotion (can be resumed)
CancelledPermanently cancel the promotion (cannot be resumed)

Response Body

{
"promotionId": "a33a29a41afb40e5a5bca1d333b8d998",
"businessId": "107698525673716",
"msgkartId": "107698525673716",
"name": "response",
"targetListId": "4d47d5f540a74abea1b23f4ebeb4664d",
"targetListName": "adilMaheshHariKris",
"phoneNumberId": "126875363728090",
"template": {
"name": "abc_adil_nawaz",
"id": "701692262430813",
"language": "en_US",
"category": "MARKETING",
"components": [
{
"variables": [
{
"type": "text",
"value": "Adil"
}
],
"type": "BODY"
},
{
"type": "HEADER",
"format": "IMAGE",
"media": {
"mediaUrl": "https://media.msgkart.com/107698525673716/48b4e7cead794afdbb9b42c3eb417481.jpeg",
"fileName": "msgkart_healthcare"
}
}
]
},
"createdDate": 1765777610,
"startTime": 0,
"mostRecentStartTime": 0,
"status": "Cancelled",
"createdBy": "a599947d-bc5c-4b45-b93c-5a318e2e2243",
"promotionType": "IMMEDIATE",
"scheduleTime": "0",
"targetSource": "CSV",
"tagSearchCriteria": "ANY",
"retryPromotion": true,
"maxRetries": 3,
"retriesLeft": 3,
"channelType": "rcs",
"batchSize": 0,
"batchTimer": 0,
"staggered": false,
"subscriberLimitPerGroup": 0,
"attributionWindow": 0,
"promotionBase": "TEMPLATE",
"promotionEndTime": 1765777679,
"callCampaign": false,
"utilityTemplateIndex": 0,
"stopOnCategoryUpdate": false
}