Message report
For message report integration you use either Polling or Webhook as your primary method.
If some reports go missing with your primary method, fill the gaps with Inquiry.
Integration methods
Use the buttons below to jump to the section for each integration method.
Polling
Fetch (GET)
Retrieves completed reports in pull mode. Use the returned reportId to acknowledge receipt (DELETE).
Query Parameters
(none)
-There are no request parameters.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/report/polling" \ -H "Authorization: {ApiKey}" \ -H "Accept: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"header-value-X-Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "reportId":"REPORT-20260331-0001", "report": [ { "msgKey":"SMS20260331-000001", "serviceType":"SMS", "msgType":"SM", "sendTime":"2026-03-31T09:30:00+09:00", "reportTime":"2026-03-31T09:30:11+09:00", "reportType":"0", "reportCode":"10000", "reportText":"Success", "carrier":"10001", "userType":"", "resCnt":"", "ref":"요청 시 입력한 데이터" } ] } }}Acknowledge receipt (DELETE)
Pass the reportId from the pull (GET) response to acknowledge receipt.
Path Parameters
reportId
RequiredStringReport ID received from the pull (GET) response.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/report/polling/REPORT-20260331-0001" \ -H "Authorization: {ApiKey}" \ -H "Accept: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"header-value-X-Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success" }}Webhook
Reports are pushed to the webhook URL you registered in advance. One request is sent per report, and you must return a response that matches the specification. If no response arrives or it does not match the specification, the delivery is treated as a failure. The timeout is 5 seconds and up to 3 retries are made. Webhook URL registration and firewall configuration are required. Firewall and security protocol
Header
X-IB-Timestamp
RequiredStringTimestamp of when the webhook was sent.
X-IB-Signature
RequiredStringSecurity signature. Generated with HmacSHA256(secret, X-IB-Timestamp). The secret is managed separately per customer account. If you need the value for verification, ask your sales representative.
Accept
RequiredStringapplication/json
Content-Type
RequiredStringapplication/json
Body Parameters
{}JSONmsgKey
RequiredStringMessage key.
serviceType
RequiredStringService type.
msgType
StringMessage type.
sendTime
StringSend processing timestamp. (ISO 8601, yyyy-MM-dd'T'HH:mm:ss.SSS)
reportTime
RequiredStringReport received timestamp. (ISO 8601, yyyy-MM-dd'T'HH:mm:ss.SSS)
reportType
RequiredStringReport type.
reportCode
RequiredStringReport code.
reportText
StringReport detail text.
carrier
String(SMS/LMS/MMS) Mobile carrier code.
userType
String(Kakao Brand Message) Message send handling type.
resCnt
String(International message) Number of message segments.
ref
StringReference field supplied in the request.
Returns
msgKey
RequiredStringYou must return the received message key as is. If you send no response or it does not match the specification, the delivery is treated as failed and a retry occurs.
Request example
curl -X POST "{등록한 Webhook URL}" \ -H "Content-Type: application/json" \ -H "X-IB-Timestamp: 1743381600000" \ -H "X-IB-Signature: {HmacSHA256(secret, X-IB-Timestamp)}" \ -d '{ "msgKey": "SMS20260331-000001", "serviceType": "SMS", "msgType": "SM", "sendTime": "2026-03-31T09:30:00.000+09:00", "reportTime": "2026-03-31T09:30:11.000+09:00", "reportType": "0", "reportCode": "10000", "reportText": "Success", "carrier": "10001", "userType": "", "resCnt": "", "ref": "요청 시 입력한 데이터"}'Response example
{ "msgKey":"SMS20260331-000001"}Inquiry
Looks up a single report for a specific message key (msgKey). Reports from up to 30 days ago can be retrieved.
Path Parameters
msgKey
RequiredStringMessage key to look up.
Returns
common
ObjectCommon response section.
data
ObjectService response section.
Request example
curl -X GET "https://mars.ibapi.kr/api/comm/v1/report/inquiry/SMS20260331-000001" \ -H "Authorization: {ApiKey}" \ -H "Accept: application/json"Response example
{ "common": { "authCode":"A000", "authResult":"Success", "infobankTrId":"header-value-X-Infobank-Tracking-Id" }, "data": { "code":"A000", "result":"Success", "data": { "report": [ { "msgKey":"SMS20260331-000001", "serviceType":"SMS", "msgType":"SM", "sendTime":"2026-03-31T09:30:00+09:00", "reportTime":"2026-03-31T09:30:11+09:00", "reportType":"0", "reportCode":"10000", "reportText":"Success", "carrier":"10001", "userType":"", "resCnt":"", "ref":"요청 시 입력한 데이터" } ] } }}