RCS 메시지
RCS(Rich Communication Services)는 Android 장치를 위한 차세대 메시징으로, 기존 SMS를 뛰어넘는 리치 미디어, 상호작용성 및 고급 기능을 제공합니다.
개요
RCS는 향상된 메시징 기능을 제공합니다.
- 리치 미디어(이미지, 비디오, GIF)
- 대화형 버튼 및 캐러셀
- 읽음 확인 및 입력 표시
- 더 높은 문자 제한(최대 3072자)
- 배송 추적 개선
- 브랜드가 있는 발신자 식별
가용성
- 플랫폼: Android 기기 전용
- 네트워크: 이동통신사 RCS 지원이 필요합니다.
- 대체: RCS를 사용할 수 없는 경우 자동으로 SMS로 대체합니다.
기본 RCS 메시지

요청
{
"from": "YourBrand",
"to": "+380XXXXXXXXX",
"type": "rcs",
"text": "Your RCS message text with rich formatting"
}
매개변수
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| '에서' | 문자열 | 예 | 영숫자 발신자 ID |
| '에' | 문자열 | 예 | 수신자 전화번호(E.164) |
| '유형' | 문자열 | 예 | "rcs"로 설정 |
텍스트 |
문자열 | 예 | 메시지 내용(최대 3072자) |
메시지데이터 |
개체 | 아니요 | 리치 미디어 및 버튼 |
메시지 유형
텍스트만
글자 수 제한이 확장된 간단한 문자 메시지:
{
"from": "YourBrand",
"to": "+380XXXXXXXXX",
"type": "rcs",
"text": "Welcome to our service! RCS allows us to send much longer messages with rich formatting and interactive elements."
}
텍스트 + 이미지
{
"from": "YourBrand",
"to": "+380XXXXXXXXX",
"type": "rcs",
"text": "Check out our new product!",
"messageData": {
"media": {
"url": "https://example.com/product.jpg",
"type": "image/jpeg",
"height": 600,
"width": 800
}
}
}
텍스트 + 이미지 + 버튼
{
"from": "YourStore",
"to": "+380XXXXXXXXX",
"type": "rcs",
"text": "Summer Sale - Up to 50% off!",
"messageData": {
"media": {
"url": "https://example.com/sale-banner.jpg",
"type": "image/jpeg"
},
"buttons": [
{
"text": "Shop Now",
"action": {
"type": "openUrl",
"url": "https://example.com/sale"
}
}
]
}
}
텍스트 + 비디오
{
"from": "YourBrand",
"to": "+380XXXXXXXXX",
"type": "rcs",
"text": "Watch our product demo",
"messageData": {
"media": {
"url": "https://example.com/demo.mp4",
"type": "video/mp4",
"thumbnail": "https://example.com/thumbnail.jpg"
}
}
}
텍스트 + 여러 버튼
{
"from": "YourService",
"to": "+380XXXXXXXXX",
"type": "rcs",
"text": "Your order #12345 is ready for pickup",
"messageData": {
"buttons": [
{
"text": "Track Order",
"action": {
"type": "openUrl",
"url": "https://example.com/track/12345"
}
},
{
"text": "Contact Support",
"action": {
"type": "dial",
"phoneNumber": "+380XXXXXXXXX"
}
},
{
"text": "Cancel Order",
"action": {
"type": "openUrl",
"url": "https://example.com/cancel/12345"
}
}
]
}
}
RCS 캐러셀
스크롤 가능한 캐러셀에 여러 항목을 표시합니다.
{
"from": "YourStore",
"to": "+380XXXXXXXXX",
"type": "rcs",
"text": "Featured Products",
"messageData": {
"carousel": {
"cards": [
{
"title": "Product A",
"description": "Premium quality product",
"media": {
"url": "https://example.com/product-a.jpg",
"type": "image/jpeg"
},
"buttons": [
{
"text": "Buy Now",
"action": {
"type": "openUrl",
"url": "https://example.com/product-a"
}
},
{
"text": "Details",
"action": {
"type": "openUrl",
"url": "https://example.com/product-a/details"
}
}
]
},
{
"title": "Product B",
"description": "Best seller",
"media": {
"url": "https://example.com/product-b.jpg",
"type": "image/jpeg"
},
"buttons": [
{
"text": "Buy Now",
"action": {
"type": "openUrl",
"url": "https://example.com/product-b"
}
}
]
}
]
}
}
}
버튼 동작
URL 열기
전화번호로 전화 걸기
위치 보내기
캘린더 이벤트
{
"text": "Add to Calendar",
"action": {
"type": "createCalendarEvent",
"title": "Appointment",
"startTime": "2025-01-25T14:00:00Z",
"endTime": "2025-01-25T15:00:00Z"
}
}
미디어 사양
이미지
- 형식: JPEG, PNG, GIF
- 최대 크기: 2MB
- 권장 해상도: 800x600 또는 1200x800
- 가로세로 비율: 16:9 또는 4:3
동영상
- 형식: MP4, 3GP
- 최대 크기: 10MB
- 최대 지속 시간: 2분
- 권장 해상도: 1280x720
오디오
- 형식: MP3, AAC
- 최대 크기: 5MB
- 최대 지속 시간: 5분
SMS로 대체
다음과 같은 경우 RCS가 자동으로 SMS로 대체됩니다.
- 수신자에게 RCS가 없습니다.
- 수신 장치에서 RCS가 비활성화되었습니다.
- 네트워크가 RCS를 지원하지 않습니다.
{
"from": "YourBrand",
"to": "+380XXXXXXXXX",
"type": "rcs",
"text": "Check out our new product!",
"messageData": {
"media": {
"url": "https://example.com/product.jpg",
"type": "image/jpeg"
},
"buttons": [
{
"text": "Shop Now",
"action": {
"type": "openUrl",
"url": "https://example.com/shop"
}
}
]
},
"fallback": {
"type": "sms",
"text": "Check out our new product! Visit: https://example.com/shop"
}
}
사용 사례
전자상거래
{
"from": "YourStore",
"to": "+380XXXXXXXXX",
"type": "rcs",
"text": "Your order has been shipped!",
"messageData": {
"media": {
"url": "https://example.com/package.jpg",
"type": "image/jpeg"
},
"buttons": [
{
"text": "Track Package",
"action": {
"type": "openUrl",
"url": "https://example.com/track/ABC123"
}
},
{
"text": "Contact Support",
"action": {
"type": "dial",
"phoneNumber": "+380XXXXXXXXX"
}
}
]
}
}
은행
{
"from": "YourBank",
"to": "+380XXXXXXXXX",
"type": "rcs",
"text": "Low balance alert: Your account balance is $50",
"messageData": {
"buttons": [
{
"text": "View Balance",
"action": {
"type": "openUrl",
"url": "https://bank.example.com/balance"
}
},
{
"text": "Transfer Money",
"action": {
"type": "openUrl",
"url": "https://bank.example.com/transfer"
}
}
]
}
}
여행
{
"from": "YourAirline",
"to": "+380XXXXXXXXX",
"type": "rcs",
"text": "Your flight is departing in 3 hours",
"messageData": {
"media": {
"url": "https://example.com/boarding-pass.jpg",
"type": "image/jpeg"
},
"buttons": [
{
"text": "Check-in",
"action": {
"type": "openUrl",
"url": "https://airline.example.com/checkin"
}
},
{
"text": "Add to Calendar",
"action": {
"type": "createCalendarEvent",
"title": "Flight Departure",
"startTime": "2025-01-25T10:00:00Z"
}
}
]
}
}
모범 사례
내용
- ✅ 고품질 이미지 사용(최소 800x600)
- ✅ 버튼 텍스트를 짧게 유지하세요(2-3단어)
- ✅ 리치 콘텐츠에 대한 SMS 대체 제공
- ✅ 다양한 Android 기기에서 테스트
- ❌ 메시지당 버튼 수는 4~5개를 초과하지 마세요.
- ❌ 대용량 동영상 파일(>5MB)은 피하세요.
미디어
- 모든 미디어에 HTTPS URL을 사용하세요.
- 모바일용 이미지 최적화
- 접근성을 위한 대체 텍스트 포함
- 보내기 전에 미디어 URL을 테스트하세요.
버튼
- 메시지당 최대 4개의 버튼
- 명확한 클릭 유도 문구 텍스트
- 모든 버튼 동작 테스트
- 사용할 수 없는 작업에 대한 대체 고려
브랜딩
- 일관된 발신자 ID 사용
- 적절한 경우 브랜드 로고를 포함합니다.
- 브랜드 보이스와 톤 유지
- 시각적 일관성 보장
배송상태
RCS는 향상된 배송 추적 기능을 제공합니다.
- 전송됨: 이동통신사로 전송된 메시지
- 전달됨: 메시지가 기기로 전달되었습니다.
- 읽기: 수신자가 메시지를 열었습니다.
- 실패: 전달 실패, 대체 실행됨
상태 엔드포인트를 사용하여 상태를 확인하세요.