메시지 리포트

메시지 리포트 연동은 가져오기(Polling) 또는 수신받기(Webhook) 중 하나를 기본 방식으로 사용합니다.
기본 방식으로 일부 누락이 발생한 경우 개별조회(Inquiry)로 보완 조회합니다.

연동 방식

아래 버튼으로 각 연동 방식 섹션으로 이동할 수 있습니다.

가져오기(Polling)

가져오기(GET)

GET/api/comm/v1/report/polling

처리 완료된 리포트를 Pull 방식으로 조회합니다. 반환된 reportId는 수신 확인(DELETE)에 사용합니다.

Query Parameters

(none)

-

요청 파라미터는 없습니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/report/polling" \
2 -H "Authorization: {ApiKey}" \
3 -H "Accept: application/json"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "reportId": "REPORT-20260331-0001",
12 "report": [
13 {
14 "msgKey": "SMS20260331-000001",
15 "serviceType": "SMS",
16 "msgType": "SMS",
17 "sendTime": "2026-03-31T09: 30: 00+09: 00",
18 "reportTime": "2026-03-31T09: 30: 11+09: 00",
19 "reportType": "0",
20 "reportCode": "10000",
21 "reportText": "Success",
22 "carrier": "10001",
23 "userType": "",
24 "resCnt": "",
25 "ref": "요청 시 입력한 데이터"
26 }
27 ]
28 }
29 }
30}

수신 확인(DELETE)

DELETE/api/comm/v1/report/polling/{reportId}

가져오기(GET) 응답의 reportId를 전달해 수신 확인 처리합니다.

Path Parameters

reportId

필수String

가져오기(GET) 응답에서 받은 리포트 아이디입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/report/polling/REPORT-20260331-0001" \
2 -H "Authorization: {ApiKey}" \
3 -H "Accept: application/json"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success"
10 }
11}

수신받기(Webhook)

POST{등록한 Webhook URL}

사전에 등록한 Webhook URL로 리포트를 Push 방식으로 전달받습니다. 리포트 1건당 1회 요청되며, 수신 후 규격에 맞는 응답을 반환해야 합니다. 응답이 없거나 규격이 맞지 않으면 실패로 간주합니다. 타임아웃은 5초이며, 최대 3회까지 재시도합니다. Webhook URL 등록 및 방화벽 설정이 필요합니다. 방화벽 및 보안 프로토콜

Header

X-IB-Timestamp

필수String

Webhook 전송 시점의 타임스탬프입니다.

X-IB-Signature

필수String

보안 서명입니다. HmacSHA256(secret, X-IB-Timestamp)로 생성됩니다. secret은 고객계정 별 별도 관리됩니다. 검증을 위해 값 확인이 필요한 경우 영업담당자에 요청해주세요.

Accept

필수String

application/json

Content-Type

필수String

application/json

Body Parameters

{}JSON

msgKey

필수String

메시지 키입니다.

serviceType

필수String

서비스 타입입니다.

msgType

String

메시지 타입입니다.

sendTime

String

전송 처리 일시입니다. (ISO 8601, yyyy-MM-dd'T'HH:mm:ss.SSS)

reportTime

필수String

리포트 수신 일시입니다. (ISO 8601, yyyy-MM-dd'T'HH:mm:ss.SSS)

reportType

필수String

리포트 종류입니다.

reportCode

필수String

리포트 코드입니다.

reportText

String

리포트 상세 내용입니다.

carrier

String

(문자메시지) 이통사 코드입니다.

userType

String

(카카오 브랜드메시지) 메시지 발송 처리 타입입니다. I: 채널 친구에게 발송 성공, N: 채널 친구가 아닌 사용자에게 발송 성공

resCnt

String

(국제메시지) 메시지 분할 수입니다.

ref

String

요청 시 입력한 참조 필드입니다.

Returns

msgKey

필수String

수신한 메시지 키를 그대로 반환해야 합니다. 응답을 보내지 않거나 규격이 맞지 않으면 수신 실패로 간주되어 재전송이 발생합니다.

요청 예시

1curl -X POST "{등록한 Webhook URL}" \
2 -H "Content-Type: application/json" \
3 -H "X-IB-Timestamp: 1743381600000" \
4 -H "X-IB-Signature: {HmacSHA256(secret, X-IB-Timestamp)}" \
5 -d '{
6 "msgKey": "SMS20260331-000001",
7 "serviceType": "SMS",
8 "msgType": "SMS",
9 "sendTime": "2026-03-31T09:30:00.000+09:00",
10 "reportTime": "2026-03-31T09:30:11.000+09:00",
11 "reportType": "0",
12 "reportCode": "10000",
13 "reportText": "Success",
14 "carrier": "10001",
15 "userType": "",
16 "resCnt": "",
17 "ref": "요청 시 입력한 데이터"
18}'

응답 예시

1{
2 "msgKey": "SMS20260331-000001"
3}

개별조회(Inquiry)

GET/api/comm/v1/report/inquiry/{msgKey}

특정 메시지 키(msgKey)의 리포트를 단건 조회합니다. 최대 30일 이전의 리포트를 조회할 수 있습니다.

Path Parameters

msgKey

필수String

조회할 메시지 키입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/report/inquiry/SMS20260331-000001" \
2 -H "Authorization: {ApiKey}" \
3 -H "Accept: application/json"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "report": [
12 {
13 "msgKey": "SMS20260331-000001",
14 "serviceType": "SMS",
15 "msgType": "SMS",
16 "sendTime": "2026-03-31T09: 30: 00+09: 00",
17 "reportTime": "2026-03-31T09: 30: 11+09: 00",
18 "reportType": "0",
19 "reportCode": "10000",
20 "reportText": "Success",
21 "carrier": "10001",
22 "userType": "",
23 "resCnt": "",
24 "ref": "요청 시 입력한 데이터"
25 }
26 ]
27 }
28 }
29}