SMS

한글기준 100자(200byte) 내외의 단문 메시지를 AOS 기기로 다양한 템플릿으로 전송하는 메세징 API

SMS API

사용 전 체크 사항

캐릭터 인코딩은 UTF-8 을 기본으로 합니다.

Path variable

code
설명

service_id

서비스 유형 id

  • rcs-sms-standard : 스탠다드 RCS SMS

  • rcs-sms-bulk : 대량 RCS SMS

  • rcs-sms-finance : 금융 RCS SMS

  • rcs-sms-verify : 인증 RCS SMS

RCS SMS API

POST https://cium0wvo4a.apigw.ntruss.com/rcs/v2/submit/{service_id}

RCS SMS 발송용 API

Headers

Name
Value

Content-Type

application/json; charset=utf8

Authorization

사용자ID;secret_key

Body

Name
Type
Description
Required

msg_type

string

RCS 메시지 타입

- RSM : RCS SMS

msg_data

array

메시지 발송 상세 데이터

msg_key

string

메시지 고유 키(발송 시 unique 하게 설정 하여 발송)

sender_number

string

발신자 전화번호(발신번호 등록이 된 번호)

receiver_number

string

수신자 휴대폰 번호

msg_base_id

string

메시지포맷의고유식별값 (message base ID 참조)

brand_id

string

브랜드 아이디

(RCS Biz Center '브랜드 관리' - '브랜드 홈' 에서 확인 가능 합니다.)

brand_key

string

브랜드 키

(RCS Biz Center '브랜드 관리' - '브랜드 홈' 에서 확인 가능 합니다.)

header

string

광고성 메시지 여부 (0 : 정보성메시지, 1: 광고성메시지)

footer

string

무료수신거부 번호

(해당 파라미터 설정 시 ‘무료수신거부’ 문구가 자동으로 설정되어 발송)

(header 값이 광고성 일 때 footer 값을 포함하지 않으면실패 처리)

copy_allowed

boolean

복사 기능 허용 여부

(해당 메시지에 대해 단말기 내에서의 복사 기능 허용 여부)

msg

object

메시지 내용

body

object

메시지 body (메시지 타입에 따라 다르므로 메세지 타입별 Msg Body 참조)

buttons

array

버튼 속성 데이터

(버튼이 포함된 메시지 전송 시 상세 데이터를 포함) (버튼 설정 방법 참조)

Response

{
    "results": [
        {
            "code": "C100",
            "msg_key": "user_key_1",
            "desc": "success"
        },
        {
            "code": "C341",
            "msg_key": "4b68ca16-7aa8-4a17-b74c-2b8e4adb13f8",
            "desc": "success"
        }
    ]
}

메세지타입별 Msg Body

템플릿 타입
타입
필수
설명

SMS_Standalone

description

string

Y

카드 본문 (최대 100자)

버튼 설정 방법

Key 1 : suggestions

첨부된 메시지의 개수만큼 반복한다 . 만약 버튼이 없는 메시지가 포함되어 있다면 ‘{}’ 의 형태로 기입한다.

예를들어 3개의 캐로셀 중 첫번째, 세번째 메시지만 버튼이 있는 경우

"buttons": [
    {
        "suggestions": {……..
        }
    },
    {},
    {
        "suggestions": {……..
        }
    }
]

Key 2 : action

버튼 클릭 시 수행할 액션. 버튼의 개수만큼 해당 오브젝트를 작성 한다.

"buttons": [
    {
        "actions":{
            "urlAction":{ //URL 연결
                "openUrl":{ //버튼 클릭 시 연결할 URL
                    "url": "string" //상세 URL
                }        
            },
            "dialerAction":{ //전화 걸기
                "dialPhoneNumber":{ //버튼 클릭 시 연결할 전화번호
                    "phoneNumber": "string" //상세 전화번호
                }
            },
            "composeAction":{ //메시지 전송
                "composeTextMessage":{  //버튼 클릭 시 메시지 전송
                    "phoneNumber": "string", //수신자 전화번호
                    "text": "string" //메시지 본문내용
                }
            },
            "mapAction":{ //지도 보여주기, 현재 위치 공유
                "showLocation":{ //버튼 클릭 시 지도 표기 할 지역
                    "location":{ //버튼 클릭 시 지도 표기 할 지역
                        "query": "string", //맵 검색 키워드 (쿼리 방식 시)
                        "latitude": "double", //위도 (좌표 방식 시)
                        "longitude": "double", //경도 (좌표 방식 시)
                        "label": "string" //표기 라벨 (좌표 방식 시)
                    }
                }
            },
            "calendarAction":{ //캘린더 등록
                "createCalendarEvent":{ //버튼 클릭 시 캘린더에 등록할 내용
                    "startTime": "string", //시작 시간
                    "endTime": "string", //종료 시간
                    "title": "string", //제목
                    "description": "string" //상세 설명
                }
            },
            "clipboardAction":{ //복사하기
                "copyToClipboard":{ //버튼 클릭 시 클립보드에 복사
                    "text": "string" //복사할 내용
                }
            },
            "displayText": "string" //버튼에 표기될 text 
            "postback":{ //현재 미사용
                "data": "" //현재 미사용 빈 문자열로 요청
            }
        }
    }
]

타입별 버튼 구성 예시

SMS_Standalone : 버튼 최대 1개까지 사용가능

"buttons": [
    {
        "suggestions": [
            {
                "action": {
                    "urlAction": {
                        "openUrl": {
                            "url": "https://biz.cjmplace.com"
                        }
                    },
                    "displayText": "URL 연결",
                    "postback": {
                        "data": ""
                    }
                }
            }
        ]
    }
]

Request Body 예시

{
  "msg_type": "RSM",
  "msg_data": [
    {
      "msg_key": "RCS SMS button",
      "sender_number": "{{send_no_rcs}}",
      "receiver_number": "{{receive_no}}",
      "msg_base_id": "SS000000",
      "header": "0",
      "footer": "{{footer}}",
      "copy_allowed": true,
      "msg": {
        "body": {
          "description": "RCS SMS button"
        }
      },
      "buttons": [
        {
          "suggestions": [
            {
              "action": {
                "urlAction": {
                  "openUrl": {
                    "url": "https://apiplex.net"
                  }
                },
                "displayText": "URL 연결",
                "postback": {
                  "data": ""
                }
              }
            }
          ]
        }
      ],
      "brand_key": "{{brand_key_rcs}}",
      "brand_id": "{{brand_id_rcs}}"
    }
  ]
}

Response Body

{
    "results": [
        {
            "code": "string",
            "msg_key": "string",
            "desc": "string"
        }
    ]
}
타입
설명

results

array

메시지 수신 데이터

msg_key

string

메시지고유 키

code

string

접수 결과 코드

desc

string

접수 결과 코드 상세

Last updated

Was this helpful?