Message insight
Message insight is the set of APIs you use to look up message delivery results by statistics, history, and status.
Look up statistics
Looks up message acceptance and report statistics by period and channel.
Query Parameters
QUERYstartDate
RequiredStringThe lookup start date (YYYYMMDD).
endDate
StringThe lookup end date (YYYYMMDD).
serviceType
StringThe channel type (SMS, MMS, RCS, ALIMTALK, BRANDMESSAGE).
groupKey
StringThe message group key.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/message/statistics?startDate=20251101&endDate=20251130&serviceType=SMS" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"헤더값 X-Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "statistics": [ { "statDate":"20251101", "recvTotalCnt": 131, "recvSuccCnt": 124, "recvFailCnt": 7, "reportTotalCnt": 131, "reportSuccCnt": 118, "reportFailCnt": 13 } ] } }}Look up delivery history
Looks up message send history by request time. You can review the detailed history through the acceptance, send, and report stages.
Query Parameters
QUERYrequestTime
RequiredStringThe reference time for the lookup (YYYY-MM-DDTHH:mm:ss).
serviceType
String ArrayThe channel type (SMS, MMS, RCS, ALIMTALK, BRANDMESSAGE). Separate multiple values with commas.
groupKey
StringThe message group key.
lastSeq
IntegerThe pagination sequence.
limit
IntegerThe number of records to look up. Default 100, maximum 1,000.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/message/history?requestTime=2025-11-01T00:00:00&limit=100" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "messages": [ { "msgKey":"msgkey1", "serviceType":"SMS", "msgType":"SM", "to":"01000000000", "fallback":"Y", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T15:15:56+09:00", "sendTime":"2025-11-13T15:15:56+09:00", "reportTime":"2025-11-13T15:15:59+09:00", "reportType":"0", "reportCode":"10000", "reportText":"성공", "carrier":"10003" }, { "msgKey":"msgkey1", "serviceType":"RCS", "msgType":"RS", "to":"01000000000", "fallback":"Y", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T15:15:56+09:00", "sendTime":"2025-11-13T15:15:56+09:00", "reportTime":"2025-11-13T15:15:55+09:00", "reportType":"0", "reportCode":"54003", "reportText":"단말기기로 RCS 메시지를 전송할 수 없습니다.", "carrier":"20003" }, { "msgKey":"msgkey1", "serviceType":"ALIMTALK", "msgType":"AT", "to":"01000000000", "fallback":"N", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T15:15:56+09:00", "sendTime":"2025-11-13T15:15:56+09:00", "reportTime":"2025-11-13T15:15:56+09:00", "reportType":"0", "reportCode":"63020", "reportText":"알림톡 수신 차단 (2025-01-15 적용)" }, { "msgKey":"msgkey3", "serviceType":"ALIMTALK", "msgType":"AT", "to":"01000000000", "fallback":"N", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T15:15:56+09:00", "sendTime":"2025-11-13T15:15:56+09:00", "reportTime":"2025-11-13T15:15:57+09:00", "reportType":"0", "reportCode":"10000", "reportText":"성공" }, { "msgKey":"msgkey2", "serviceType":"ALIMTALK", "to":"", "fallback":"N", "responseCode":"A306", "responseText":"유효하지 않거나 비어있는 필드 (필드명 : to)", "requestTime":"2025-11-13T15:15:56+09:00", "reportType":"1" } ] } }}Look up status (single)
Looks up the acceptance, send, and report status of a single message by msgKey.
Path Parameters
PATHmsgKey
RequiredStringThe message key to look up.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/message/inquiry/msgKey/{msgKey}" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"헤더값 X-Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "messages": [ { "msgKey":"msgKey", "serviceType":"RCS", "msgType":"RS", "to":"01000000000", "fallback":"Y", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T14:18:18+09:00", "sendTime":"2025-11-13T14:18:18+09:00", "reportTime":"2025-11-13T14:18:18+09:00", "reportType":"0", "reportCode":"54003", "reportText":"단말기기로 RCS 메시지를 전송할 수 없습니다.", "carrier":"20003" }, { "msgKey":"msgKey", "serviceType":"ALIMTALK", "msgType":"AT", "to":"01000000000", "fallback":"N", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T14:18:18+09:00", "sendTime":"2025-11-13T14:18:18+09:00", "reportTime":"2025-11-13T14:18:18+09:00", "reportType":"0", "reportCode":"63020", "reportText":"알림톡 수신 차단 (2025-01-15 적용)" }, { "msgKey":"msgKey", "serviceType":"SMS", "msgType":"SM", "to":"01000000000", "fallback":"Y", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T14:18:18+09:00", "sendTime":"2025-11-13T14:18:19+09:00", "reportTime":"2025-11-13T14:18:20+09:00", "reportType":"0", "reportCode":"10000", "reportText":"성공", "carrier":"10003" } ] } }}Look up status (multiple)
Looks up the status of multiple messages in a broadcast request by requestId. requestId is msgKey without its last 3 digits.
Path Parameters
PATHrequestId
RequiredStringThe broadcast request identifier. It is msgKey without its last 3 digits.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/message/inquiry/requestId/{requestId}" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"헤더값 X-Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "messages": [ { "msgKey":"requestId000", "serviceType":"BRANDMESSAGE", "msgType":"FT", "to":"01000000000", "fallback":"N", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T14:58:31+09:00", "sendTime":"2025-11-13T14:58:31+09:00", "reportTime":"2025-11-13T14:58:31+09:00", "reportType":"0", "reportCode":"10000", "reportText":"성공", "userType":"" }, { "msgKey":"requestId002", "serviceType":"SMS", "msgType":"SM", "to":"01000000002", "fallback":"Y", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T14:58:31+09:00", "sendTime":"2025-11-13T14:58:31+09:00", "reportTime":"2025-11-13T14:58:33+09:00", "reportType":"0", "reportCode":"10000", "reportText":"성공", "carrier":"10003" }, { "msgKey":"{requestId}001", "serviceType":"BRANDMESSAGE", "msgType":"FT", "to":"01000000001", "fallback":"N", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T14:58:31+09:00", "sendTime":"2025-11-13T14:58:31+09:00", "reportTime":"2025-11-13T14:58:31+09:00", "reportType":"0", "reportCode":"10000", "reportText":"성공", "userType":"" }, { "msgKey":"{requestId}002", "serviceType":"BRANDMESSAGE", "msgType":"FT", "to":"01000000002", "fallback":"N", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T14:58:31+09:00", "sendTime":"2025-11-13T14:58:31+09:00", "reportTime":"2025-11-13T14:58:31+09:00", "reportType":"0", "reportCode":"63018", "reportText":"메시지를 전송할 수 없음", "userType":"" }, { "msgKey":"{requestId}002", "serviceType":"RCS", "msgType":"RS", "to":"01000000002", "fallback":"Y", "responseCode":"A000", "responseText":"요청 성공", "requestTime":"2025-11-13T14:58:31+09:00", "sendTime":"2025-11-13T14:58:31+09:00", "reportTime":"2025-11-13T14:58:30+09:00", "reportType":"0", "reportCode":"54003", "reportText":"단말기기로 RCS 메시지를 전송할 수 없습니다.", "carrier":"20003" } ] } }}Look up MO (inbound) history
Looks up inbound message history in reverse chronological order by the time the MO occurred. Use lastSeq as the cursor to continue to the next page.
Query Parameters
QUERYoccurredTime
RequiredStringThe MO occurrence time used as the lookup baseline (YYYY-MM-DDTHH:mm:ss+09:00). You must include the timezone offset.
from
StringFilters by sender number.
to
StringFilters by recipient number (MO number).
lastSeq
IntegerThe cursor used to look up the next page. If omitted, the lookup starts from the most recent record.
limit
IntegerThe number of records to look up. Default 100, maximum 1,000.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/message/history/mo?occurredTime=2026-04-23T14:11:01%2B09:00&limit=100" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"헤더값 X-Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "lastSeq": 949194539147, "hasNext": true, "messages": [ { "msgKey":"20260423141101437PSM949194539147", "serviceType":"MO", "msgType":"SM", "to":"0316000000", "from":"01000000000", "originator":"01000000000", "content":"수신거부", "carrier":"10003", "occurredTime":"2026-04-23T14:11:01+09:00" } ] } }}Look up a single MO (inbound) message
Looks up MO (inbound) messages by msgKey. Because the same msgKey can match multiple records, they are returned as an array.
Path Parameters
PATHmsgKey
RequiredStringThe MO message key to look up.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/message/inquiry/mo/msgKey/{msgKey}" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"헤더값 X-Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "messages": [ { "msgKey":"20260423141101437PSM949194539147", "serviceType":"MO", "msgType":"SM", "to":"0316000000", "from":"01000000000", "originator":"01000000000", "content":"수신거부", "carrier":"10003", "occurredTime":"2026-04-23T14:11:01+09:00" } ] } }}Kakao Alimtalk insight
Look up the delivery success, read, and click statistics that Kakao provides directly for the Alimtalk channel.
Look up the main insights
Looks up key Alimtalk statistics — send success/failure, reads, clicks — by period and sender profile.
Query Parameters
QUERYstartDate
RequiredStringThe lookup start date (YYYYMMDD).
endDate
RequiredStringThe lookup end date (YYYYMMDD).
senderKey
RequiredString ArrayThe sender profile key. To look up several, separate them with commas.
templateCode
String ArrayThe template code. To look up several, separate them with commas. If omitted, all templates are returned.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/statistics/alimtalk?startDate=20251101&endDate=20251130&senderKey={senderKey}" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "statistics": [ { "successCount": 1240, "failCount": 18, "readCount": 875, "buttonClickCount": 312, "listClickCount": 0, "thumbnailClickCount": 0, "etcClickCount": 44, "sendRate": 98.57, "readRate": 70.56, "clickRate": 25.16, "ctr": 35.66 } ] } }}Hourly reaction metrics
Looks up hourly Alimtalk engagement statistics by period and sender profile.
Query Parameters
QUERYstartDate
RequiredStringThe lookup start date (YYYYMMDD).
endDate
RequiredStringThe lookup end date (YYYYMMDD).
senderKey
RequiredString ArrayThe sender profile key. To look up several, separate them with commas.
templateCode
String ArrayThe template code. To look up several, separate them with commas. If omitted, all templates are returned.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/statistics/alimtalk/reaction/hourly?startDate=20251101&endDate=20251130&senderKey={senderKey}" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "statistics": [ { "hour":"14", "successCount": 1240, "failCount": 18, "readCount": 875, "buttonClickCount": 312, "listClickCount": 0, "thumbnailClickCount": 0, "etcClickCount": 44, "sendRate": 98.57, "readRate": 70.56, "clickRate": 25.16, "ctr": 35.66 } ] } }}Look up template details
Looks up per-template Alimtalk statistics by period and sender profile.
Query Parameters
QUERYstartDate
RequiredStringThe lookup start date (YYYYMMDD).
endDate
RequiredStringThe lookup end date (YYYYMMDD).
senderKey
RequiredString ArrayThe sender profile key. To look up several, separate them with commas.
templateCode
String ArrayThe template code. To look up several, separate them with commas. If omitted, all templates are returned.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/statistics/alimtalk/template?startDate=20251101&endDate=20251130&senderKey={senderKey}" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "statistics": [ { "templateCode":"ORDER_COMPLETE_001", "templateName":"주문 완료 알림", "successCount": 1240, "failCount": 18, "readCount": 875, "buttonClickCount": 312, "listClickCount": 0, "thumbnailClickCount": 0, "etcClickCount": 44, "sendRate": 98.57, "readRate": 70.56, "clickRate": 25.16, "ctr": 35.66 } ] } }}Kakao Brand Message insight
Look up the delivery success, read, and click statistics that Kakao provides directly for the Brand Message channel.
Look up the main insights
Looks up key Brand Message statistics — send success/failure, reads, clicks — by period and sender profile.
Query Parameters
QUERYstartDate
RequiredStringThe lookup start date (YYYYMMDD).
endDate
RequiredStringThe lookup end date (YYYYMMDD).
senderKey
RequiredString ArrayThe sender profile key. To look up several, separate them with commas.
templateCode
String ArrayThe template code. To look up several, separate them with commas. If omitted, all templates are returned.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/statistics/brandmessage?startDate=20251101&endDate=20251130&senderKey={senderKey}" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "statistics": [ { "successCount": 1240, "failCount": 18, "readCount": 875, "buttonClickCount": 312, "listClickCount": 0, "thumbnailClickCount": 0, "etcClickCount": 44, "sendRate": 98.57, "readRate": 70.56, "clickRate": 25.16, "ctr": 35.66 } ] } }}Hourly reaction metrics
Looks up hourly Brand Message engagement statistics by period and sender profile.
Query Parameters
QUERYstartDate
RequiredStringThe lookup start date (YYYYMMDD).
endDate
RequiredStringThe lookup end date (YYYYMMDD).
senderKey
RequiredString ArrayThe sender profile key. To look up several, separate them with commas.
templateCode
String ArrayThe template code. To look up several, separate them with commas. If omitted, all templates are returned.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/statistics/brandmessage/reaction/hourly?startDate=20251101&endDate=20251130&senderKey={senderKey}" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "statistics": [ { "hour":"14", "successCount": 1240, "failCount": 18, "readCount": 875, "buttonClickCount": 312, "listClickCount": 0, "thumbnailClickCount": 0, "etcClickCount": 44, "sendRate": 98.57, "readRate": 70.56, "clickRate": 25.16, "ctr": 35.66 } ] } }}Look up template details
Looks up per-template Brand Message statistics by period and sender profile.
Query Parameters
QUERYstartDate
RequiredStringThe lookup start date (YYYYMMDD).
endDate
RequiredStringThe lookup end date (YYYYMMDD).
senderKey
RequiredString ArrayThe sender profile key. To look up several, separate them with commas.
templateCode
String ArrayThe template code. To look up several, separate them with commas. If omitted, all templates are returned.
Returns
common
ObjectThe common response section.
data
ObjectThe product response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/statistics/brandmessage/template?startDate=20251101&endDate=20251130&senderKey={senderKey}" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "statistics": [ { "templateCode":"BRAND_PROMO_001", "templateName":"프로모션 안내", "successCount": 1240, "failCount": 18, "readCount": 875, "buttonClickCount": 312, "listClickCount": 0, "thumbnailClickCount": 0, "etcClickCount": 44, "sendRate": 98.57, "readRate": 70.56, "clickRate": 25.16, "ctr": 35.66 } ] } }}RCS message insight
Look up RCS delivery results by customer response. Beyond delivery and displayed (read) counts, you can see button clicks, persistent menu usage, and brand profile impressions.
Statistics are aggregated per groupId. You must supply a groupId when you send an RCS message; that value is what the statistics are grouped and looked up by. Sends without a groupId are not included, so decide the unit you want to measure (a campaign, a message type, and so on) and pass it with the send request.