메시지 발송 목록 조회

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

브랜드 메시지의 메시지에 대한 발송 요청 목록을 조회합니다. 최근 30일 이내의 요청 목록을 조회할 수 있습니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
GET /brandmessage/v2/services/{serviceId}/messages

요청 헤더

Simple & Easy Notification Service API에서 공통으로 사용하는 헤더에 대한 정보는 Simple & Easy Notification Service 요청 헤더를 참조해 주십시오.

요청 경로 파라미터

요청 경로 파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
serviceId String Required Biz Message 서비스 아이디

요청 쿼리 파라미터

요청 쿼리 파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
requestId String Conditional 요청 아이디
  • 메시지 발송 시 응답받은 요청 아이디 입력
  • requestId, requestStartTime+requestEndTime, completeStartTime+completeEndTime 중 하나는 필수 입력
  • requestStartTime+requestEndTimecompleteStartTime+completeEndTime는 동시 사용 불가
requestStartTime String Conditional 발송 요청 기준 조회 시작 일시
  • YYYY-MM-DD HH:mm:ss 형식(URL 인코딩 필요)
  • requestId, requestStartTime+requestEndTime, completeStartTime+completeEndTime 중 하나는 필수 입력
  • requestStartTime+requestEndTimecompleteStartTime+completeEndTime는 동시 사용 불가
requestEndTime String Conditional 발송 요청 기준 조회 종료 일시
  • YYYY-MM-DD HH:mm:ss 형식(URL 인코딩 필요)
  • requestStartTime과의 기간이 31일 이내여야 함
completeStartTime String Conditional 발송 완료 기준 조회 시작 일시
  • YYYY-MM-DD HH:mm:ss 형식(URL 인코딩 필요)
  • requestId, requestStartTime+requestEndTime, completeStartTime+completeEndTime 중 하나는 필수 입력
  • requestStartTime+requestEndTimecompleteStartTime+completeEndTime는 동시 사용 불가
completeEndTime String Conditional 발송 완료 기준 조회 종료 일시
  • YYYY-MM-DD HH:mm:ss 형식(URL 인코딩 필요)
  • completeStartTime과의 기간이 24시간 이내여야 함
plusFriendId String Conditional 채널 아이디
  • 네이버 클라우드 플랫폼 콘솔의 Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channel에서 확인
  • requestId 미입력 시 필수 입력
messageId String Optional 메시지 아이디
requestStatusName String Optional 요청 상태
  • success | fail
    • success: 성공
    • fail: 실패
messageStatusName String Optional 수신 상태
  • success | processing | fail
    • success: 성공
    • processing: 처리중
    • fail: 실패
templateCode String Optional 템플릿 코드
  • 네이버 클라우드 플랫폼 콘솔의 Simple & Easy Notification Service > Biz MessageBrand > Message Template에서 확인
to String Optional 수신 번호
  • 숫자만 입력 가능
nextToken String Optional 페이지 위치 토큰
  • 다음 목록 조회 시 사용하며, 이전 호출에서 응답받은 토큰값 입력
pageSize Integer Optional 페이지당 항목 수
  • 1~100 (기본값: 20)
  • requestId 입력 시 기본으로 100 적용

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request GET 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages?requestStartTime=2025-11-25T09%3A10%3A00&requestEndTime=2025-11-25T23%3A30%3A00&pageSize=3' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
statusCode String Required 상태 코드
  • HTTP 상태 코드 규칙을 따름
    • 202: 성공
    • 그 외: 실패
statusName String Required 상태
  • success | processing | reserved | fail
    • success: 성공
    • processing: 처리중
    • reserved: 예약
    • fail: 실패
messages Array Required 메시지 발송 요청 목록
pageSize Integer Required 페이지당 항목 수
pageIndex Integer Required 페이지 인덱스
nextToken String Optional 페이지 위치 토큰
  • 다음 페이지가 없을 경우, 표시되지 않음
itemCount Integer Required 응답 결과 수
hasMore Boolean Required 다음 페이지 존재 여부
  • true: 존재
  • false: 존재 안 함

messages

messages에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
requestTime String Required 요청 일시
  • YYYY-MM-DDTHH:mm:ss.sss 형식
requestId String Required 요청 아이디
messageId String Required 메시지 아이디
countryCode String Optional 국가 코드
to String Required 수신 번호
content String Optional 메시지 내용
plusFriendId String Required 채널 아이디
messageType String Required 메시지 타입
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: 텍스트
    • IMAGE: 이미지형
    • WIDE_IMAGE: 와이드 이미지형
    • WIDE_ITEM_LIST: 와이드 리스트형
    • COMMERCE: 커머스형
    • CAROUSEL_COMMERCE: 캐러셀 커머스형
    • CAROUSEL_FEED: 캐러셀 피드형
    • PREMIUM_VIDEO: 프리미엄 동영상형
isAdult Boolean Required 대상 연령
  • true | false (기본값)
    • true: 성인용
    • false: 전체 연령용
targeting String Required 타겟팅 코드
  • M | N | I (기본값)
    • M: 고객사의 광고성 정보 수신동의 유저(카카오톡 수신 동의)
    • N: 고객사의 광고성 정보 수신동의 유저(카카오톡 수신 동의) 중 해당 채널 친구 제외
    • I: 광고성 정보 수신동의 유저(카카오톡 수신 동의)이면서 해당 채널 친구
    • F: 채널 친구가 아닌 대상 제외(지원 예정)
completeTime String Optional 완료 일시
  • YYYY-MM-DDTHH:mm:ss 형식
requestStatusCode String Required 요청 상태 코드
  • A000: 성공
  • 그 외: 실패
requestStatusName String Required 요청 상태
  • success | fail
    • success: 성공
    • fail: 실패
requestStatusDesc String Required 요청 상태 설명
messageStatusCode String Optional 수신 상태 코드
  • 0000: 성공
  • 그 외: 실패
messageStatusName String Optional 수신 상태
  • success | processing | fail
    • success: 성공
    • processing: 처리중. messageStatusCodemessageStatusDesc가 표시되지 않음
    • fail: 실패
messageStatusDesc String Optional 수신 상태 설명
useSmsFailover Boolean Required SMS 대체 발송 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
failover Object Optional SMS 대체 발송 정보
  • 대체 발송이 실행된 경우, 표시
failover.smsServiceId String Required 대체 발송에 사용된 SMS 서비스 아이디
failover.requestId String Required 대체 발송 요청 아이디
failover.messageId String Required 대체 발송 메시지 아이디
failover.requestStatusCode String Required SMS 대체 발송 요청 상태 코드
failover.requestStatusName String Required 대체 발송 요청 상태
  • success | fail
    • success: 성공
    • fail: 실패
failover.requestStatusDesc String Optional 대체 발송 요청 상태 설명
failover.messageStatus String Optional 대체 발송 메시지 상태
  • READY | PROCESSING | COMPLETED
    • READY: 대기중
    • PROCESSING: 처리중
    • COMPLETED: 완료
failover.messageStatusCode String Optional 대체 발송 메시지 수신 상태 코드
failover.messageStatusName String Optional 대체 발송 메시지 수신 상태
failover.messageStatusDesc String Optional 대체 발송 메시지 수신 상태 설명

응답 상태 코드

Simple & Easy Notification Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Simple & Easy Notification Service 응답 상태 코드를 참조해 주십시오.

응답 예시

응답 예시는 다음과 같습니다.

{
    "statusCode": "202",
    "statusName": "success",
    "messages": [
        {
            "requestTime": "2025-11-28T11:21:06.317",
            "requestId": "RBBA-*************-****-********-QlvjXtBr",
            "messageId": "bc87c708-****-****-****-57b56c506309",
            "countryCode": "82",
            "to": "010********",
            "plusFriendId": "@******",
            "messageType": "TEXT",
            "targeting": "I",
            "isAdult": false,
            "completeTime": "2025-11-28T11:21:06",
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "성공",
            "messageStatusCode": "0000",
            "messageStatusName": "success",
            "messageStatusDesc": "정상 발송",
            "useSmsFailover": false
        },
        {
            "requestTime": "2025-11-28T10:46:55.663",
            "requestId": "RBBA-*************-****-********-kgepsygn",
            "messageId": "3d68485a-****-****-****-730c20492b51",
            "countryCode": "82",
            "to": "010********",
            "plusFriendId": "@******",
            "messageType": "TEXT",
            "targeting": "I",
            "isAdult": false,
            "completeTime": "2025-11-28T10:46:56",
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "성공",
            "messageStatusCode": "0000",
            "messageStatusName": "success",
            "messageStatusDesc": "정상 발송",
            "useSmsFailover": true,
            "failover": {
                "smsServiceId": "ncp:sms:kr:27*********6:sens",
                "requestId": "RSLA-*************-****-********-ZzdhBYsk",
                "messageId": "6cc7eab4-****-****-****-c523f8a0e8ce",
                "requestStatusCode": "0",
                "requestStatusName": "success",
                "requestStatusDesc": "성공",
                "messageStatus": "COMPLETED",
                "messageStatusCode": "0",
                "messageStatusName": "success",
                "messageStatusDesc": "성공"
            }
        }
    ],
    "pageSize": 2,
    "pageIndex": 0,
    "nextToken": "**********V0ZXJIYXNoIjoiNTBkOTg5NTdkYmM2MjIwZWJjMzAyMzNiNmQwZWRlN**********jZGJlMmI5MTcyOTQ3ZDNiZjU0YzRjNjU3NiIsInRva2VuSGFzaCI6ImVmM2NlNGUyMjc1MTE1ZDNiMDZiNjhmNzJiOWM0MDcxOTQ1MjA2MGRiN2M4MmRiYTQ1MGMxNzIwOTBiNmMy**********NoZWRFcG9jaE1pbGxpcyI6MTc2NDI5NjU4MDIwMywicmVxdWVzdFRpbWVFcG9jaE1pbGxpcyI6MTc2NDI5NDQxNTY2MywiY29tcGxldGVUaW1lRXBvY2hNaWxsaXMiOm51bGwsIm1lc3NhZ2VJZCI6IjNkNjg0ODVhLWU3NmQtNGE3Ny05Y2Q0LTczMGMyMD**********",
    "itemCount": 2,
    "hasMore": true
}