콘텐츠로 이동

2.8 메시지 리포트

구분접속 URL
상용https://api.msghub.uplus.co.kr
검수https://api.msghub-qa.uplus.co.kr
  1. 2025년까지 브랜드톡의 productCode는 친구톡 상품코드로 표현됩니다.
  2. 2026년 이후 브랜드톡의 productCode는 친구/비친구 상품코드로 표현됩니다.
코드설명
KFRT1친구톡 Text
KFRM2친구톡 이미지
KFRM3친구톡 와이드
KFRM4친구톡 아이템리스트
KFRM5친구톡 캐러셀
KFRM6친구톡 프리미엄
KFRM7친구톡 커머스
KFRM8친구톡 캐러셀 커머스
BRDF브랜드톡 친구
BRDNF브랜드톡 비친구

실시간으로 처리가 완료된 메시지의 결과를 전달합니다. 메시지 결과는 한 번만 전달됩니다.

  1. 리포트 요청 결과가 1건이라도 있으면, 즉시 다음 요청을 시작해야 합니다. 없을 경우 잠시 대기 후 재요청해야 합니다. (한 번에 최대 100개 리포트 수신 가능, 배열 형태로 전달됨)
  2. 리포트가 없을 때 무한루프 요청 방지를 위해 최소 10초 간격으로 요청해야 하며, 10초 이내 재요청 시 실패처리됩니다.
  3. 리포트 결과에는 report key가 있으며, 처리 완료 후 이를 리포트 처리 결과 전달 API로 전송해야 합니다. 120초 내 전달되지 않으면 동일 리포트가 다시 내려오며, 클라이언트는 중복 수신 방지 처리를 해야 합니다.
  4. 리포트를 요청하지 않으면 81시간 후 자동 만료됩니다.

GET /msg/v1.2/report HTTP/1.1
NameType필수설명
AuthorizationString사용자 인증 토큰
Content-TypeStringapplication/json

NameType설명
codeString결과 코드
messageString결과 코드 설명
dataObject결과 데이터 정보
data.rptKeyString리포트 키
data.rptCntInteger리포트 개수
data.rptLstArray리포트 목록
data.rptLst[].msgKeyString메시지 고유 키
data.rptLst[].cliKeyString클라이언트 키
data.rptLst[].chString채널
data.rptLst[].resultCodeString발송 결과 코드
data.rptLst[].resultCodeDescString발송 결과 코드 설명
data.rptLst[].fbReasonLstArrayFallback 사유
data.rptLst[].fbReasonLst[].chString채널
data.rptLst[].fbReasonLst[].fbResultCodeStringfallback 결과 코드
data.rptLst[].fbReasonLst[].fbResultDescStringfallback 결과 설명
data.rptLst[].fbReasonLst[].telcoString이통사(*xMS, RCS만 해당) 또는 카카오 딜러사(API Key 설정: 결과 딜러사 정보 제공 Y인 경우)
data.rptLst[].telcoString이통사 (xMS, RCS만 해당)
data.rptLst[].rptDtString결과 수신 일시
data.rptLst[].productCodeString상품 코드

curl -X GET "https://api.msghub.uplus.co.kr/msg/v1.2/report" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"
{
"code": "10000",
"message": "성공",
"data": {
"rptKey": "RPUvazue5K",
"rptCnt": 2,
"rptLst": [
{
"msgKey": "qWAr0xnmOt.6fL0d",
"cliKey": "test001",
"ch": "MMS",
"resultCode": "10000",
"resultCodeDesc": "성공",
"fbReasonLst": [
{
"ch": "RCS",
"fbResultCode": "54002",
"fbResultDesc": "No Rcs Capability",
"telco": "KT"
}
],
"telco": "SKT",
"rptDt": "2025-07-15T16:51:43",
"productCode": "LMS"
},
...
]
}
}

2. 리포트 처리 결과 전달 (Polling 방식)

섹션 제목: “2. 리포트 처리 결과 전달 (Polling 방식)”

요청된 리포트 키를 완료 처리할 때 이 API를 사용합니다.

120초 내 미전달 시, 리포트가 다시 전달되며 클라이언트는 중복 방지를 위한 확인 처리를 해야 합니다.


POST /msg/v1.2/report/result HTTP/1.1
NameType필수설명
AuthorizationString사용자 인증 토큰
Content-TypeStringapplication/json
NameType설명
rptKeyLstArray리포트 키 목록

NameType설명
codeString결과 코드
messageString결과 코드 설명

curl -X POST "https://api.msghub.uplus.co.kr/msg/v1.2/report/result" \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{"rptKeyLst": ["RPsEOqHAhA","RPsQOqHAhB","RPsEOqHAhC"...]}'
{
"code": "10000",
"message": "성공"
}

처리 완료된 메시지를 고객사의 웹훅 URL로 실시간 전달합니다. 메시지는 단 1회만 전달되며, 실패 시 재시도합니다 (기본 10초, 추후 변경 가능). 리포트는 72시간 보관됩니다.

  1. userCustomFields - 사용자 정의 필드를 사용하기 위해서는, 콘솔에서 설정이 필요합니다.
  • 메시지허브 관리자콘솔 > 프로젝트 > 프로젝트 상세 > API KEY > apiKey 선택 > 수정
  • 결과수신 방법 Webhook 선택 > 추가 필드 사용 선택

POST {WEBHOOK_URL}

(고객사에서 Msghub에 등록한 Webhook URL)

NameType설명
Content-TypeStringapplication/json
NameType설명
rptCntInteger리포트 개수 (최대 100개)
rptLstArray리포트 목록
rptLst[].isBiBooleanRCS 양방향 메시지 여부
rptLst[].msgKeyString메시지 고유 키
rptLst[].cliKeyString클라이언트 키
rptLst[].chString채널
rptLst[].resultCodeString발송 결과 코드
rptLst[].resultCodeDescString결과 코드 설명
rptLst[].productCodeString상품 코드
rptLst[].fbReasonLstArrayFallback 사유
rptLst[].fbReasonLst[].chString채널
rptLst[].fbReasonLst[].fbResultCodeStringfallback 결과 코드
rptLst[].fbReasonLst[].fbResultDescStringfallback 결과 설명
rptLst[].fbReasonLst[].telcoString이통사(*xMS, RCS만 해당) 또는 카카오 딜러사(API Key 설정: 결과 딜러사 정보 제공 Y인 경우)
rptLst[].rptDtString결과 수신 일시
rptLst[].rptRegDtString결과 등록 일시
rptLst[].phoneString수신번호
rptLst[].userCustomFieldsObject사용자 정의 필드
rptLst[].recvDtString발송 요청 일시

2) 응답 (Response from Client to Msghub)

섹션 제목: “2) 응답 (Response from Client to Msghub)”

Msghub로 성공적인 수신을 알리기 위해 HTTP 200 OK 응답을 보내야 합니다.

HTTPDescription비고
200성공-
204성공응답 혹은 처리 할 리포트가 없음
400실패실패로 전달시 재처리 가능함

3) 수신 예시 (Sample Payload to Webhook)

섹션 제목: “3) 수신 예시 (Sample Payload to Webhook)”
{
"rptCnt": 1,
"rptLst": 2
{
"isBi": false, "msgKey": "lXXYpOIuCd.6cGlYN",
"msgKey": "lAXYpOIuDd.1cGlYD",
"ch": "SMS",001
"resultCode": "10000",
"resultCodeDesc": "성공",
"productCode": "SMS",
"fbReasonLst": [
{
"ch": "RCS",
"fbResultCode": "54002",
"fbResultDesc": "No Rcs Capability",
"telco": "KT"
}
],
"rptDt": "2025-04-19T15:01:40",
"rptRegDt": "2025-04-19T15:01:40",
"phone": "01012341234",
"userCustomFields": {
"key1": "value1",
"key2": 123
},
"recvDt": "2025-04-18T15:01:40"
],
...
}

cliKey와 발송일을 기준으로 최대 90일 이내 메시지 상태를 조회합니다.


POST /msg/v1/sent HTTP/1.1
NameType필수설명
AuthorizationString사용자 인증 토큰
Content-TypeStringapplication/json
NameType설명비고
cliKeyLstArray조회할 cliKey 목록최대 10건
NameType필수설명
cliKeyString고객이 부여한 메시지 키
reqDtString발송일자 (YYYY-MM-DD)

NameType설명
codeString결과 코드
messageString설명
data.cliKeyLstArray클라이언트키 목록
data.cliKeyLst[].msgKeyString메시지 고유 키
data.cliKeyLst[].cliKeyString클라이언트 키
data.cliKeyLst[].chString채널
data.cliKeyLst[].statusString상태 (REG, ING, DONE, OVER_DATE, INVALID_KEY)
data.cliKeyLst[].resultCodeString결과 코드
data.cliKeyLst[].resultCodeDescString설명
data.cliKeyLst[].telcoString이통사(*xMS, RCS만 해당) 또는 카카오 딜러사(API Key 설정: 결과 딜러사 정보 제공 Y인 경우)
data.cliKeyLst[].fbReasonLstArrayFallback 사유
data.cliKeyLst[].fbReasonLst[].chString채널
data.cliKeyLst[].fbReasonLst[].fbResultCodeStringfallback 결과 코드
data.cliKeyLst[].fbReasonLst[].fbResultDescStringfallback 결과 설명
data.cliKeyLst[].fbReasonLst[].telcoString이통사(*xMS, RCS만 해당) 또는 카카오 딜러사(API Key 설정: 결과 딜러사 정보 제공 Y인 경우)
data.cliKeyLst[].rptDtString결과 수신 일시
data.cliKeyLst[].productCodeString상품 코드
curl -X POST "https://api.msghub.uplus.co.kr/msg/v1/sent" \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"cliKeyLst": [
{
"cliKey": "cliKey",
"reqDt": "2025-07-02"
}
]
}'
{
{
"code": "10000",
"message": "성공",
"data": {
"cliKeyLst": [
{
"msgKey": "lABCCdzcmw.1fLTAb",
"cliKey": "cliKey",
"ch": "SMS",
"status": "DONE",
"resultCode": "10000",
"resultCodeDesc": "성공",
"telco": "LGU",
"fbReasonLst": [
{
"ch": "RCS",
"fbResultCode": "54002",
"fbResultDesc": "No Rcs Capability",
"telco": "KT"
}
],
"rptDt": "2025-07-02T13:46:03",
"productCode": "SMS"
},
...
]
}
}

코드설명
REG접수완료
ING처리중
DONE완료
OVER_DATE조회기간 초과 (90일)
INVALID_KEY키 오류