RCS 메시지 발송하기


RCS 메시지 발송은 RCS 정보성 템플릿, RCS 이미지 템플릿, RCS LMS 템플릿의 3가지 유형을 지원합니다.

  • RCS 정보성 템플릿
    • 정보성
    • 최대 글자수 90자
  • RCS 이미지 템플릿
    • 정보성, 광고성
    • 최대 글자수 500자, 이미지 1MB 이내
  • RCS LMS 템플릿
    • 정보성, 광고성
    • 최대 글자수 1,300자

또한 , 메시지 발송시 필요한 다양한 옵션을 제공합니다.

  • 다중 수신자 발송 기능: 한 번의 API 호출로 여러 명에게 메시지 발송
  • 수신자 맞춤 메시지: 메시지 내용에 변수를 활용하여 각 수신자에게 맞춤형 메시지 발송

RCS 템플릿 메시지 (정보성, 이미지, LMS)

센드온 RCS 메시지는 RCS Biz Center 에서 정의한 메시지 중 아래와 같이 템플릿 메시지 발송을 지원하고 있습니다.


** RCS 발송 예제 **

const sendon = new Sendon({
    id: SENDON_EXAM_ACCOUNT,
    apikey: SENDON_EXAM_API_KEY,
    debug: false,
})

const result = await sendon.rcs.send({
      type: SendRcsMessageRequestDtoType.RCS_TSM,
      from: RCS_MOBILE_FROM,
      to: RCS_MOBILE_TO,
      useCredit: false,
      rbc: {
        chatbotId: RCS_CHATBOT_ID,
        messagebaseId: RCS_MESSAGEBASE_ID,
        header: '0',
        campaignId: RCS_BRAND_ID,
        brandId: RCS_BRAND_ID,
        brandKey: RCS_BRAND_KEY,
        agencyId: RCS_AGENCY_ID,
        agencyKey: RCS_AGENCY_KEY,
        clientId: RCS_CLIENT_ID,
        clientSecret: RCS_CLIENT_SECRET,
        body: { }
      },
      useFallback: true,
      fallback: {
        messageType: 'LMS',
        from: RCS_MOBILE_FROM,
        isAd: true,
        title: '(광고) RCS 발송 실패시 대체 문자 메시지',
        advertiserName: '광고주 이름',
        message: '(광고) RCS 발송 실패시 대체 문자 메시지 수신거부: 0800000000 인증번호: 1234',
        blockCall: {
          numberOf080: '0800000000',
          pinNumber: '1234',
        }
      }
    })
Sendon sendon = Sendon.getInstance(USER_ID, USER_APIKEY, true);

SendSms sendSms = sendon.sms.sendSms(new RcsBuilder()
        .setType(MessageType.RCS_TSM)
        .setFrom(RCS_MOBILE_FROM)
        .setTo(Arrays.asList(RCS_MOBILE_TO))
        .setUseFallback(true)
        .setRbcConfig(new RbcConfig()
            .setChatbotId(RCS_CHATBOT_ID)
            .setMessagebaseId(RCS_MESSAGEBASE_ID)
            .setHeader(0)
            .setBrandId(RCS_BRAND_ID)
            .setBrandKey(RCS_BRAND_KEY)
            .setAgencyId(RCS_AGENCY_ID)
            .setAgencyKey(RCS_AGENCY_KEY)
            .setClientId(RCS_CLIENT_ID)
            .setClientSecret(RCS_CLIENT_SECRET)
            .setBody(new RbcBody())
        )
        .setFallback(new Fallback()
            .setMessageType("SMS")
            .setFrom(RCS_MOBILE_FROM)
            .setMessage("RCS 발송 실패시 대체 문자 메시지")
        )
);


필드

설명

필수여부

type

메시지 타입

필수

from

발신자 번호 (RBC가 아닌 센드온에 등록된 계정의 발신번호)

필수

to

수신자 번호 (250KB 길이 제한)

필수

message

발송할 메시지값

필수

isAd

광고성 메시지 여부 (false:정보성 / true:광고성)

템플릿별 제약사항

  • 정보성 템플릿 : false(고정)
  • LMS, 이미지 템플릿 : true/false (선택값)

선택

useCredit

크레딧 우선사용 여부

선택

rbc

RCS Biz Center 메시지 발송 포멧

필수

chatbotId

RBC 에 할당된 대화방 ID (RBC 에 등록된 발신자 번호)

RBC API

필수

messagebaseId

RBC 템플릿 목록조회에서 얻은 템플릿 ID

템플릿 목록 조회 템플릿 상세 조회

필수

header

광고성 메시지 여부 0: 정보성 1: 광고성, footer 입력 필수

필수

footer

무료수신거부 전화번호 (0808811296)

선택

expiryOption

발송 종료 옵션, 아래 옵션 설정으로 정해진 시간동안 발송 시도하고 최종적으로 발송 종료 1: 1일간 시도 (default) 2: 40초간 시도 3: 3분간 시도 4: 1시간 시도

campaignId

RBC에서 통계 조회시 활용할 발송 캠페인 단위 구분위해 사용하는 캠패인 ID, 입력하지 않으면 임의 값으로 설정

고객반응 통계

필수

brandId

대화방 ID(chatbotId)가 속한 브랜드 ID, 브랜드 목록 조회 또는 브랜드 상세 조회를 통해 획득

브랜드 목록 조회 브랜드 상세 조회

필수

brandKey

대화방 ID(chatbotId)가 속한 브랜드 Key, 기업 관리자 계정일 경우 브랜드 목록 조회 또는 브랜드 상세 조회를 통해 획득

기업 계정일 경우 브랜드 목록 조회 또는 브랜드 상세 조회를 통해 brandKey 획득 후 입력 브랜드 목록 조회 브랜드 상세 조회

대행사 계정일 경우 대행사 브랜드 목록 조회 확인 후 대행사 상세 조회안에 있는 brandKey 획득 후 입력 대행사 브랜드 목록 조회 대행사 브랜드 상세 조회

필수

agencyId

RBC에 등록된 메시지 발송 대행사 ID 센드온이 대행사일 경우: aligobiz 입력 다른 대행사일 경우: 해당 대행사 RBC ID 입력

필수

agencyKey

RBC에 등록된 메시지 발송 대행사 Key 기업 관리자 계정일 경우 ▶️ 대행사 브랜드 상세 조회 그리고 대행사 키 조회를 통해 agencyKey 획득 후 입력

대행사 계정일 경우 ▶️ RBC 대행사 계정 관리 > AgencyKey 입력 또는 대행사 키 조회를 통해 agencyKey 획득 후 입력 대행사 브랜드 상세 조회 대행사 키 조회

필수

clientId

RBC에 등록된 기업 관리자 계정 또는 대행사 계정의 ID

필수

clientSecret

RBC에 등록된 기업 관리자 계정 또는 대행사 계정의 API Key

필수

body

RBC에 등록된 템플릿에 따르는 발송 메시지의 내용 입력

💬 템플릿 상세 조회 후 params 배열을 보고 body 객체를 채워주세요 isMandatory 가 true 인 배열 아이템은 반드시 다음과 같은 규칙으로 body 객체에 입력해주세요. 입력하지 않으면 형식 에러가 발생합니다

▶️ 배열 아이템의 param 키의 값이 body 객체 안에 키로 있어야 합니다 ▶️ 배열 아이템의 inputText 키의 값을 방금 추가한 키의 값으로 입력해주세요 ▶️ inputText 키의 값이 null 일 경우, "param 키의 값" 으로 입력해주세요 ▶️ isMandatory 가 false 인 배열 아이템은 입력하지 않아도 됩니다 템플릿 상세 조회

선택

useFallback

RCS 수신 실패되는 수신자에게 대체문자 발송 여부

선택

fallback

RCS 수신 실패되는 수신자에게 대체문자 발송 포멧

선택

messageType

대체문자 타입 ('SMS', 'LMS')

선택

from

센드온 계정에 등록된 발신번호

선택

isAd

광고성 메시지 여부, true 일 경우 다음과 같은 사항 준수 필요 advertiserName 필수 입력, 메시지 본문 앞에 "(광고)" 필수 기입

선택

title

LMS, MMS 로 대체문자 발송시 사용할 제목

선택

advertiserName

광고주 이름

선택

message

대체발송 메시지 내용

선택

blockCall

수신거부 포멧

선택

numberOf080

수신거부 번호 (0808811296)

선택

pinNumber

수신거부 번호의 인증번호 (빈 문자열 허용)

선택



메시지 발송 결과 조회

메시지 발송 요청이 성공적으로 완료되면 고유한 ID를 리턴받게 됩니다. 이 ID를 이용해 발송 결과를 조회할 수 있습니다. 발송 결과를 확인하려면 아래 API 문서를 참고하세요.

🔗 RCS 메시지 발송 결과 조회

응답 예제

{
    "code": 200,
    "message": "성공",
    "data": {
        "groupId": "84db8cbb-db70-4e68-8ee7-c37704787e0d"
    }
}