템플릿

템플릿API

사용 전 체크 사항

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

Path variable

code
설명

service_id

서비스 유형 id

  • rcs-template-std : 스탠다드 RCS 템플릿

  • rcs-template-bulk : 대량 RCS 템플릿

  • rcs-template-finance : 금융 RCS 템플릿

  • rcs-template-verify : 인증 RCS 템플릿

RCS 템플릿API

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

RCS 템플릿발송용 API

Headers

Name
Value

Content-Type

application/json; charset=utf8

Authorization

사용자ID;secret_key

Body

Name
Type
Description
Required

msg_type

string

RCS 메시지 타입

- RTF : RCS Template Free

- RTC : RCS Template Cell

- RTD : RCS Template Description

msg_data

object array

메시지 발송 상세 데이터

msg_key

string

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

sender_number

string

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

receiver_number

string

수신자 휴대폰 번호

msg_base_id

string

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

br_id

string

브랜드 아이디

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

brand_key

string

브랜드 키

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

header

string

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

footer

string

무료수신거부 번호

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

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

copy_allowed

string

복사 기능 허용 여부

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

msg

object

메시지 내용

body

object

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

buttons

object 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

템플릿 타입
타입
필수
설명

Template Cell

변수필드1

string

N

변수필드에 대응하는 값 (변수필드 추가 가능)

* 카드 최대 1 개 가능

* 템플릿에 가변값으로 지정한 변수 필드 모두 필수 입력 , 가변값으로 지정하지 않은 변수 필드 사용시 실패처리

* 메시지 본문에 속해있는 가변값의 합 최대 90자. (고정부와 변수부 포함 전체 길이가 90 자를 초과하는 경우 실패 처리) EX) "msg": {

"body": {

"변수필드1": "변수필드1 값",

"변수필드2": "변수필드2 값"

}

}

SMS Template Free

description

string

Y

SMS 템플릿카드 본문 (최대 90자)

- description 에 템플릿 내용 입력

LMS Template Free

mTitle

string

Y

메인 타이틀 (최대 17자)

title

string

Y

타이틀 (최대 30자)

description

string

Y

LMS 템플릿카드 본문 (최대 1300자) - description 에 템플릿 내용 입력

버튼 설정 방법

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": "" //현재 미사용 빈 문자열로 요청
            }
        }
    }
]

타입별 버튼 구성 예시

  1. Template Description : 템플릿에 등록한 버튼으로 발송됨 (단, 버튼 url 에 가변 값이 있는 경우 , body 에 가변값 입력)

"msg": {
    "body": {
        "description": "예약 완료",
        "custNum": "457608"
    }
}
  1. Template Cell : 템플릿에 등록한 버튼으로 발송됨 (단, 버튼 url 에 가변 값이 있는 경우 , body 에 가변값 입력)

"msg": {
    "body": {
        "custNum": "457608"
    }
}
  1. Template Free : 버튼 지원 안함

Request Body 예시

{
  "msg_type": "RTD",
  "msg_data": [
    {
      "msg_key": "RCS 템플릿",
      "sender_number": "{{send_no_rcs}}",
      "receiver_number": "{{receive_no}}",
      "msg_base_id": "{{template고유값}}",
      "header": "0",
      "copy_allowed": true,
      "msg": {
        "body": {
          "{{변수필드키1}}": "{{변수필드값1}}",
          "{{변수필드키2}}": "{{변수필드값2}}"
        }
      },
      "brand_key": "{{brand_key_rcs}}",
      "brand_id": "{{brand_id_rcs}}"
    }
  ]
}

Response Body

타입
설명

results

object array

메시지 수신 데이터

msg_key

string

메시지고유 키

code

string

접수 결과 코드

desc

string

접수 결과 코드 상세

{
    "results": [
        {
            "code": "string",
            "msg_key": "string",
            "desc": "string"
        }
    ]
}

Last updated

Was this helpful?