콘텐츠로 건너뛰기
U+ 메시지 허브
메시지 허브 사용자 가이드

  • 채널 소개
  • 기능
  • 요금제
  • 고객센터
    • FAQ
    • 공지사항
    • 자료실
  • 사용자 가이드
  • CONSOLE
메시지허브 홈
메시지허브 홈
U+ 메시지 허브
메시지 허브 사용자 가이드

Quick Guide

  • 메시지허브 가입부터 문자 발송하기
  • 발신번호 사전등록 한방에 해결하기
  • 통합발송 사용하기

서비스 개요

  • 서비스 개요

계정 안내

  • 가입해지
  • 회원가입
  • 로그인

관리자 콘솔

  • 개요 및 주요기능
  • 대시보드
  • 사용자
  • 프로젝트
  • 발신정보
  • 발신제한
  • 이용 현황
  • 정산(선불요금제)
  • 정산 (후불요금제)
  • 주소록
  • 통계
  • 알람

사용자 콘솔

  • 개요 및 주요 기능
  • 대시보드
  • 발송 > 통합발송
  • 발송 > 문자
  • 발송 > RCS
  • 발송 > 카카오톡
  • 발송 > PUSH
  • 조회
  • 템플릿 > 통합발송
  • 템플릿 > 문자
  • 템플릿 > RCS
  • 템플릿 > 카카오톡
  • 템플릿 > PUSH
  • 통계
  • LAB

API 가이드

  • 공통
    • 개요 및 주요기능
    • 인증
    • 결과 코드
  • 메시지 발송
    • 월별 발송 성공 통계 데이터 조회
    • 스키마 정보
    • 통합메시지
    • RCS
    • 알림톡/친구톡
    • 예약 발송
    • PUSH
    • 문자(SMS/LMS/MMS)
    • 리포트 처리
    • 이미지 사전등록
    • MO
    • 080 수신거부번호
    • 반응형URL & 통계
  • 채널 관리
    • 통합발송 연동관리
    • RCS 연동 관리
    • 카카오 연동 관리

Push 앱개발 가이드

  • iOS 개발가이드
  • Android 개발가이드

Agent 가이드

  • 허브 에이전트란?

서비스 정보

  • 스키마 정보 (구)
  • 서비스 이용약관
    • 이용약관 2025년1월1일 (주요변경)
    • 이용약관 2025년1월1일
  • 메시지허브 홈
  • 사용자 가이드
  • API 가이드
  • 메시지 발송
  • 리포트 처리

리포트 처리

리포트 요청 (Polling 방식) #

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

▶ 클라이언트에서 리포트 요청기능 구현 시 주의사항
1) 리포트 요청 결과가 1건이라도 있을 경우, 처리 후 바로 다음 리포트 요청을 시작해야 합니다.
만약 리포트가 없으면 잠시 쉬었다가 다시 요청해야 합니다. 리포트는 최대 100개까지 한 번에 받아서 배열(Array)로 전달됩니다.
2) 리포트 요청 결과가 안 오면, 무한히 요청하는 것을 막기 위해 10초마다 요청하되, 10초 이내에 요청하면 실패처리합니다.
3) 리포트 결과에는 report key가 있습니다. 리포트 처리가 끝나면 해당 report key를 리포트 처리 결과 전달 API로 전달해야 합니다.
만약 120초 동안 전달되지 않으면 리포트는 다시 내려가며, 클라이언트는 중복 수신을 방지하기 위해 확인 처리를 해야 합니다.
4) 리포트를 요청하지 않으면 81시간 후에 자동으로 만료처리됩니다.

Request #

URL

GET /msg/v1.2/report HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: api.msghub.uplus.co.kr

Header

NameTypeRequiredDescription
AuthorizationStringtrue사용자 인증 토큰

Response #

NameTypeDescription
codeString리포트 요청에 대한 결과 응답코드
messageString리포트 요청에 대한 결과 응답코드 설명
dataList결과 데이터 목록
data.rptKeyString리포트 키
data.rptCntInteger리포트 개수
data.rptLstList리포트 목록
data.rptLst[].msgKeyStringU+ 메시지 허브 시스템에서 부여한 메시지 고유 키
data.rptLst[].cliKeyString클라이언트키: 고객사에서 부여하는 메시지 고유 키
data.rptLst[].chString채널
data.rptLst[].resultCodeString메시지 발송 결과코드
data.rptLst[].resultCodeDescString메시지 발송 결과코드 설명
data.rptLst[].fbReasonLstList<FbReason>Fallback 사유
data.rptLst[].telcoString이통사(*xMS, RCS만 해당)
data.rptLst[].rptDtString결과 수신 일시
data.rptLst[].productCodeString상품코드

Sample #

Curl

curl -X GET "https://api.msghub.uplus.co.kr/msg/v1.2/report"
-H  "accept: */*"
-H  "Authorization: Bearer eyJhbGciOiJIUzI1NiJ..."

Response

{
  "code": "10000",
  "message": "성공",
  "data": {
    "rptKey": "rptKey",
    "rptCnt": 100,
    "rptLst": [
      {
        "msgKey": "msgKey",
        "cliKey": "cliKey",
        "ch": "SMS",
        "resultCode": "21003",
        "resultCodeDesc": "발송타임아웃",
        "fbReasonLst": [
          {
            "ch":"RCS",
            "fbResultCode":"51004",
            "fbResultDesc":"Parameter Error",
            "telco":"KT"
          }
        ],
        "productCode": "SMS",
        "telco": null,
        "rptDt": null
      },
      {
        "msgKey": "msgKey",
        "cliKey": "cliKey",
        "ch": "SMS",
        "resultCode": "21003",
        "resultCodeDesc": "발송타임아웃",
        "fbReasonLst": [
          {
            "ch":"RCS",
            "fbResultCode":"51004",
            "fbResultDesc":"Parameter Error",
            "telco":"KT"
          }
        ],
        "productCode": "SMS",
        "telco": null,
        "rptDt": null
      }
      ....
      ]
  }
}

참고

결과 코드 참고


리포트 처리결과 전달 (polling 방식 ) #

요청된 리포트 키에 해당하는 리포트를 완료 처리하면, 해당 리포트 결과를 전달해야 합니다.
만약 120초 동안 리포트 처리 결과 전달이 안 되면, 리포트 요청 시 동일한 리포트 목록이 다시 전달됩니다.
이 경우 클라이언트는 중복 수신을 방지하기 위해 확인 처리를 해야 합니다.

Request #

URL

POST /msg/v1.2/report/result HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: api.msghub.uplus.co.kr

Request Body

NameTypeDescription
rptKeyLstList<String>리포트 전달 (polling 방식 ) API 실행 후 리턴받은 rptKey 목록

Response #

HTTPDescriptionDescription
200성공리포트 요청에 대한 결과 응답코드
400실패리포트 요청에 대한 결과 응답코드 설명

Sample #

Curl

curl -X GET "https://api.msghub.uplus.co.kr/msg/v1.2/report/result"
-H  "accept: */*"
-H  "Content-Type: application/json"
-H  "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiYWNjZXNzVXJsIjoiYXV0aCIsImlzcyI6ImNtLmxndXBsdX..."
-d '{
        "rptKeyLst": [
           "RPsAOqHDhO"
        ]
    }'

참고

결과 코드 참고


리포트 전달 (Webhook 방식) #

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

메시지를 수신할수 있는 웹훅 URL정보를 사전에 등록해서 사용해야 합니다.
메시지는 API KEY 상세에서 설정한 고객사 웹훅 URL 정보로 전달합니다.

메시지 결과는 한번만 전달됩니다.

메시지 전달 실패 시, 특정시간 이후 재시도 합니다. (10초:이후 별도 공지없이 변경될 수 있음)
리포트는 특정시간 동안 보관됩니다. (72시간:이후 별도 공지없이 변경될 수 있음)

Request #

URL

POST #{WEBHOOK_URL의 uri} HTTP/1.1
Content-Type: application/json
Host: #{WEBHOOK_URL의 host}

Request Body

NameTypeDescription
rptCntInteger 리포트 개수(최대: 100개)
rptLstList리포트 목록
rptLst[].msgKeyStringU+ 메시지 허브 시스템에서 부여한 메시지 고유 키
rptLst[].cliKeyString클라이언트키: 고객사에서 부여하는 메시지 고유 키
rptLst[].chString채널
rptLst[].resultCodeString메시지 발송 결과코드
rptLst[].resultCodeDescString메시지 발송 결과코드 설명
rptLst[].productCodeString상품코드
rptLst[].fbReasonLstList<FbReason>Fallback 사유
rptLst[].telcoString이통사(*xMS, RCS만 해당)
rptLst[].rptDtString결과 수신 일시

Response #

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

Sample #

Curl

curl -X POST "https://{WEBHOOK_URL}"
-H  "accept: */*"
-H  "Content-Type: application/json"
-d
  {
     "rptCnt": 1,
     "rptLst": [
         {
            "msgKey": "lXXYpOIuCd.6cGlYN",
            "cliKey": "test2",
            "ch": "SMS",
            "resultCode": "10000",
            "resultCodeDesc": "성공",
            "productCode":"SMS",
            "fbReasonLst": null,
            "telco": "KT",
            "rptDt": "2022-04-19T15:01:40"
         }
     ]
  }

리포트 조회 #

cliKey로 메시지 상태를 조회합니다.
최대 90일까지 조회가 가능합니다.

Request #

URL

POST /msg/v1/sent HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: api.msghub.uplus.co.kr

Header

NameTypeRequiredDescription
AuthorizationStringtrue사용자 인증 토큰

Request Body

NameTypeDescription비고
cliKeyLstList<ReqSentMsg>요청 cliKey 정보 목록 최대 10건

ReqSentMsg 발송 정보

NameTypeRequiredDescription
cliKeyStringtrue클라이언트키: 고객사에서 부여하는 메시지 고유 키(^[a-zA-Z0-9-_.@]{1,30}$)
reqDtStringtrue발송일자 (2022-11-04)
 

Response #

NameTypeDescription
codeString리포트 확인 요청에 대한 결과 응답코드
messageString리포트 확인 요청에 대한 결과 응답코드 설명
dataList결과 데이터
data.cliKeyLstList클라이언트키 목록
data.cliKeyLst[].msgKeyStringU+ 메시지 허브 시스템에서 부여한 메시지 고유 키
data.cliKeyLst[].cliKeyString클라이언트키: 고객사에서 부여하는 메시지 고유 키
data.cliKeyLst[].status String 메시지 상태
data.cliKeyLst[].chString채널
data.cliKeyLst[].resultCodeString메시지 발송 결과코드
data.cliKeyLst[].resultCodeDescString메시지 발송 결과코드 설명
data.cliKeyLst[].fbReasonLstList<FbReason>Fallback 사유
data.cliKeyLst[].telcoString이통사(*xMS, RCS만 해당) 또는
카카오 딜러사(API Key 설정: 결과 딜러사 정보 제공 Y인 경우)
data.cliKeyLst[].rptDtString결과 수신 일시
data.cliKeyLst[].productCodeString상품코드

참고

메시지 상태
REG : 접수완료
ING : 처리중
DONE : 완료
OVER_DATE : 조회기간 초과(최대 90일)
INVALID_KEY : 잘못된 메시지키

FbReason Fallback 사유

NameTypeRequiredDescription
chStringtrue채널
fbResultCodeStringtruefb 결과코드
fbResultDescStringtruefb 결과설명
telcoStringfalse이통사(*xMS, RCS만 해당) 또는
카카오 딜러사(API Key 설정: 결과 딜러사 정보 제공 Y인 경우)

Sample #

Curl

curl -X GET "https://api.msghub.uplus.co.kr/mo/v1/sent"
-H  "accept: */*"
-H  "Content-Type: application/json"
-H  "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiYWNjZXNzVXJsIjoiYXV0aCIsImlzcyI6ImNtLmxndXBsdX..."
-d '{
        "cliKeyLst": [
           {
              "cliKey": "cliKey",
              "reqDt": "2022-12-02"
           }
        ]
    }'

Response

{
  "code": "10000",
  "message": "성공",
  "data": {
    "cliKeyLst": [
      {
        "msgKey": "ymk5q2XqOh.12345",
        "cliKey": "1",
        "ch": "SMS",
        "status": "DONE",
        "resultCode": "30124",
        "resultCodeDesc": "비가입자,결번,서비스정지",
        "telco": "ETC",
        "fbReasonLst": [
          {
            "ch": "RCS",
            "fbResultCode": "51004",
            "fbResultDesc": "Parameter Error",
            "telco": "KT"
          }
        ],
        "rptDt": "2022-05-24T10:35:45"
        "productCode": "LMS"
      }
    ]
  }
}
Updated on 2024년 11월 6일
문자(SMS/LMS/MMS)
목차
  • 리포트 요청 (Polling 방식)
    • Request
    • Response
    • Sample
  • 리포트 처리결과 전달 (polling 방식 )
    • Request
    • Response
    • Sample
  • 리포트 전달 (Webhook 방식)
    • Request
    • Response
    • Sample
  • 리포트 조회
    • Request
    • Response
    • Sample