리소스: AgentMessage
상담사가 사용자에게 보낸 메시지입니다.
| JSON 표현 |
|---|
{ "name": string, "sendTime": string, "contentMessage": { object ( |
| 필드 | |
|---|---|
name |
이 필드는 비즈니스용 RCS 플랫폼에 의해 설정됩니다. 상담사 메시지를 만들 때는 포함하지 마세요. 이 필드는 'phones/{E.164}/agentMessages/{messageId}'를 확인합니다. 여기서 {E.164}는 E.164 형식의 사용자 전화번호이고 {messageId}는 에이전트 메시지의 에이전트 할당 ID입니다. |
sendTime |
이 필드는 비즈니스용 RCS 플랫폼에 의해 설정됩니다. 상담사 메시지를 만들 때는 포함하지 마세요. 이 필드는 메시지가 사용자에게 전송된 시간을 확인합니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
contentMessage |
상담사 메시지의 콘텐츠입니다. |
messageTrafficType |
메시지 트래픽 유형입니다. |
richMessageClassification |
출력 전용입니다. 미국 결제 모델에 따라 메일을 분류합니다. 각 분류 유형에 대한 자세한 내용은 미국 청구 모델 가이드를 참고하세요. 이 필드는 미국 전화번호에만 채워집니다. |
totalPayloadSizeBytes |
출력 전용입니다. 메일의 총 페이로드 크기(바이트)입니다. 페이로드는 비즈니스용 RCS 메시지의 모든 첨부파일(메시지 텍스트 또는 제안 제외)을 계산합니다. 첨부파일은 동영상, 이미지, PDF 등이 될 수 있습니다. 현재 이 필드는 미국 전화번호에만 채워집니다. |
carrier |
출력 전용입니다. Google RCS 백엔드에 따른 사용자 전화번호의 이동통신사 정보입니다. 현재 이 필드는 미국 전화번호에만 채워집니다. |
통합 필드
|
|
expireTime |
선택사항입니다. 이 리소스가 만료된 것으로 간주되는 시간의 타임스탬프(UTC)입니다. 이 값은 설정된 경우 또는 TTL 필드가 설정된 경우 출력에 제공됩니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
ttl |
선택사항입니다. 입력 전용입니다. 메시지가 자동으로 취소되기 전까지 유지되는 시간입니다. 소수점 아래가 최대 9자리까지이고 ' |
AgentContentMessage
에이전트가 사용자에게 보낸 메시지의 콘텐츠입니다.
| JSON 표현 |
|---|
{ "suggestions": [ { object ( |
| 필드 | |
|---|---|
suggestions[] |
관련 에이전트 메시지 다음에 추천 칩 목록으로 표시되는 추천 답장 및 추천 작업 목록입니다. 최대 11개의 추천 칩은 연결된 상담사 메시지가 대화 (상담사 및 사용자 메시지 모두 포함) 내에서 가장 최근 메시지인 경우에만 표시됩니다. 사용자는 추천 답장을 탭하여 텍스트 답장을 상담사에게 다시 보내거나 추천 작업을 탭하여 기기에서 네이티브 작업을 시작할 수 있습니다. 제안 패턴에는 영구 패턴과 일시적 패턴의 두 가지 유형이 있습니다. 자세한 내용은 추천을 참고하세요. |
통합 필드 content. 에이전트 메시지 content의 콘텐츠는 다음 중 하나여야 합니다. |
|
text |
UTF-8로 인코딩된 텍스트입니다. 최대 3,072자(영문 기준)까지 허용됩니다. |
fileName |
파일의 고유한 이름입니다. 에이전트가 파일을 업로드하면 비즈니스용 RCS 플랫폼에서 파일 이름을 반환합니다. 아래의 uploadedRbmFile을 대신 사용하세요. |
uploadedRbmFile |
비즈니스용 RCS 서버에 업로드되고 서버에서 제공된 파일 및 썸네일의 식별자를 포함합니다. |
richCard |
독립형 리치 카드입니다. |
contentInfo |
파일의 URL 및 파일의 썸네일 URL을 비롯한 파일에 관한 정보입니다. 비즈니스용 RCS 플랫폼은 캐시에서 콘텐츠를 제공하지만 상담사는 비즈니스용 RCS 플랫폼이 콘텐츠의 새 버전을 가져오고 캐시를 새로고침하도록 강제할 수 있습니다. |
UploadedRbmFile
파일 및 썸네일 정보가 포함된 메시지
| JSON 표현 |
|---|
{ "fileName": string, "thumbnailName": string } |
| 필드 | |
|---|---|
fileName |
파일이 업로드될 때 비즈니스용 RCS 플랫폼에서 반환된 파일의 이름입니다. |
thumbnailName |
썸네일이 업로드될 때 비즈니스용 RCS 플랫폼에서 반환되는 썸네일의 이름입니다. |
RichCard
상담사가 사용자에게 전송한 독립형 리치 카드 또는 리치 카드 캐러셀입니다.
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 card. 독립형 카드 또는 카드 캐러셀 card은 다음 중 하나여야 합니다. |
|
carouselCard |
카드 캐러셀 |
standaloneCard |
독립형 카드입니다. |
CarouselCard
카드 캐러셀
| JSON 표현 |
|---|
{ "cardWidth": enum ( |
| 필드 | |
|---|---|
cardWidth |
캐러셀에 있는 카드의 너비입니다. |
cardContents[] |
캐러셀에 있는 각 카드의 콘텐츠 목록입니다. 캐러셀에는 카드가 최소 2개, 최대 10개 포함될 수 있습니다. |
CarouselCard.CardWidth
캐러셀에 있는 카드의 너비입니다.
| 열거형 | |
|---|---|
CARD_WIDTH_UNSPECIFIED |
지정되지 않음 |
SMALL |
120 DP |
MEDIUM |
232 DP |
CardContent
카드 콘텐츠
| JSON 표현 |
|---|
{ "title": string, "description": string, "media": { object ( |
| 필드 | |
|---|---|
title |
(선택사항) 카드 제목입니다. 최대 200자(영문 기준) |
description |
(선택사항) 카드에 대한 설명입니다. 최대 2,000자(영문 기준) |
media |
(선택사항) 카드에 포함할 미디어 (이미지, GIF, 동영상, PDF)입니다. |
suggestions[] |
(선택사항) 카드에 포함할 추천 목록입니다. 최대 4개의 추천 |
미디어
리치 카드 내의 미디어 파일입니다.
| JSON 표현 |
|---|
{ "height": enum ( |
| 필드 | |
|---|---|
height |
세로 레이아웃이 있는 리치 카드 내 미디어의 높이입니다. 가로 레이아웃의 독립형 카드의 경우 높이를 맞춤설정할 수 없으며 이 필드는 무시됩니다. |
통합 필드 content. 미디어 콘텐츠 content는 다음 중 하나여야 합니다. |
|
fileName |
파일이 업로드될 때 비즈니스용 RCS 플랫폼에서 반환되는 파일의 고유한 이름입니다. 아래의 uploadedRbmFile을 대신 사용하세요. |
uploadedRbmFile |
비즈니스용 RCS 서버에 업로드되고 서버에서 제공된 파일 및 썸네일의 식별자를 포함합니다. |
contentInfo |
파일의 URL 및 파일의 썸네일 URL을 비롯한 파일에 관한 정보입니다. 비즈니스용 RCS 플랫폼은 캐시에서 콘텐츠를 제공하지만 상담사는 비즈니스용 RCS 플랫폼이 콘텐츠의 새 버전을 가져오고 캐시를 새로고침하도록 강제할 수 있습니다. |
ContentInfo
콘텐츠 정보가 포함된 메시지입니다.
| JSON 표현 |
|---|
{ "fileUrl": string, "thumbnailUrl": string, "forceRefresh": boolean } |
| 필드 | |
|---|---|
fileUrl |
파일의 공개적으로 연결 가능한 URL입니다. 비즈니스용 RCS 플랫폼은 플랫폼에서 파일을 가져올 때 HTTP 헤더의 content-type 필드에서 파일의 MIME 유형을 확인합니다. 콘텐츠 유형 필드는 URL의 HTTP 응답에 있어야 하며 정확해야 합니다. 권장 최대 파일 크기는 100MB입니다. 참고: 파일 URL의 리디렉션은 지원되지 않습니다. 리디렉션이 필요한 경우 CreateFileRequest를 사용하세요. |
thumbnailUrl |
(선택사항, 이미지, 오디오, 동영상 파일만 해당) 썸네일의 공개적으로 연결 가능한 URL입니다. 최대 크기는 100kB입니다. 썸네일 URL을 제공하지 않으면 사용자의 기기에서 파일을 다운로드할 때까지 비즈니스용 RCS 플랫폼에 빈 자리표시자 썸네일이 표시됩니다. 사용자 설정에 따라 파일이 자동으로 다운로드되지 않을 수 있으며 사용자가 다운로드 버튼을 탭해야 할 수 있습니다. 참고: 파일 URL의 리디렉션은 지원되지 않습니다. 리디렉션이 필요한 경우 CreateFileRequest를 사용하세요. |
forceRefresh |
설정된 경우 비즈니스용 RCS 플랫폼은 플랫폼에 파일 (또는 썸네일)의 캐시된 사본이 있더라도 지정된 URL에서 파일과 썸네일을 가져옵니다. |
Media.Height
미디어 높이
| 열거형 | |
|---|---|
HEIGHT_UNSPECIFIED |
지정되지 않음 |
SHORT |
112DP |
MEDIUM |
168 DP |
TALL |
264DP |
추천
리치 카드 또는 추천 칩 목록에 포함된 추천 답변 또는 추천 작업입니다.
| JSON 표현 |
|---|
{ "suggestionDisplay": enum ( |
| 필드 | |
|---|---|
suggestionDisplay |
선택사항입니다. 추천의 표시 동작을 제어합니다. Google 메시지 클라이언트 (버전 20260225.00 이상)로 전송된 일반 텍스트 메시지에만 적용됩니다. 이 필드는 일반 텍스트 메시지와 연결된 독립형 추천에만 설정해야 합니다. 이 필드가 리치 카드 또는 파일 전송이 있는 독립형 추천의 추천에 적용되면 서버에서 메시지를 거부합니다. 이 설정은 Google 메시지에 대해서만 직렬화되며 다른 클라이언트 (예: iOS 또는 Samsung)에서는 무시됩니다. |
통합 필드 option. 추천 답장 또는 추천 작업입니다. option은 다음 중 하나여야 합니다. |
|
reply |
사용자는 추천 답장을 탭하여 텍스트 답장을 상담사에게 다시 보낼 수 있습니다. |
action |
사용자는 추천 작업을 탭하여 기기에서 해당 네이티브 작업을 시작할 수 있습니다. |
SuggestedReply
탭하면 텍스트 답장을 에이전트에게 다시 보냅니다.
| JSON 표현 |
|---|
{ "text": string, "postbackData": string } |
| 필드 | |
|---|---|
text |
사용자가 탭하면 추천 답에 표시되고 에이전트에게 다시 전송되는 텍스트입니다. 최대 글자 수는 25자입니다(영문 기준). |
postbackData |
사용자가 추천 답글을 탭할 때 상담사가 사용자 이벤트에서 수신하는 base64로 인코딩된 페이로드입니다. |
SuggestedAction
탭하면 기기에서 해당 네이티브 작업을 시작합니다.
| JSON 표현 |
|---|
{ "text": string, "postbackData": string, "fallbackUrl": string, // Union field |
| 필드 | |
|---|---|
text |
추천 작업에 표시되는 텍스트입니다. 최대 글자 수는 25자입니다(영문 기준). |
postbackData |
사용자가 추천 작업을 탭할 때 발생하는 사용자 이벤트에서 에이전트에게 전송될 페이로드 (base64 인코딩)입니다. 최대 2,048자(영문 기준)까지 허용됩니다. |
fallbackUrl |
(선택사항) 클라이언트가 추천 작업을 지원하지 않는 경우 사용할 대체 URL입니다. 대체 URL은 새 브라우저 창에서 열립니다. RFC 3986에 정의된 유효한 URI여야 합니다. 최대 2,048자(영문 기준)까지 허용됩니다. |
통합 필드 action. 사용자가 추천 작업을 탭할 때 기기에서 시작된 네이티브 작업입니다. action은 다음 중 하나여야 합니다. |
|
dialAction |
상담사가 지정한 전화번호가 입력된 사용자의 기본 다이얼러 앱을 엽니다. |
viewLocationAction |
사용자의 기본 지도 앱을 열고 상담사가 지정한 위치를 선택하거나 상담사가 지정한 쿼리를 기반으로 사용자의 위치 주변을 검색합니다. |
createCalendarEventAction |
사용자의 기본 캘린더 앱을 열고 에이전트가 지정한 이벤트 데이터가 미리 입력된 새 캘린더 일정 흐름을 시작합니다. |
openUrlAction |
사용자의 기본 웹브라우저 앱을 지정된 URL로 엽니다. 사용자에게 URL의 기본 핸들러로 등록된 앱이 설치되어 있으면 이 앱이 대신 열리고 추천 작업 UI에 앱의 아이콘이 사용됩니다. |
shareLocationAction |
사용자가 상담사에게 보낼 위치를 선택할 수 있도록 RCS 앱의 위치 선택기를 엽니다. |
DialAction
상담사가 지정한 전화번호가 입력된 사용자의 기본 다이얼러 앱을 엽니다.
| JSON 표현 |
|---|
{ "phoneNumber": string } |
| 필드 | |
|---|---|
phoneNumber |
E.164 형식의 전화번호입니다(예: +12223334444). |
ViewLocationAction
사용자의 기본 지도 앱을 열고 상담사가 지정한 위치를 선택하거나 상담사가 지정한 쿼리를 기반으로 사용자의 위치 주변을 검색합니다.
| JSON 표현 |
|---|
{
"latLong": {
object ( |
| 필드 | |
|---|---|
latLong |
(선택사항) 지정된 위치의 위도와 경도입니다. |
label |
(선택사항) latLong에 드롭된 핀의 라벨입니다. |
query |
(선택사항, Android 메시지 클라이언트에서만 지원됨) latLong (선택적으로 라벨)을 지정하는 대신 에이전트가 쿼리 문자열을 지정할 수 있습니다. 검색 기능을 지원하는 기본 지도 앱 (Google 지도 포함)의 경우 이 추천 작업을 탭하면 사용자의 현재 위치를 중심으로 위치 검색이 실행됩니다. 질문이 충분히 구체적이면 상담사는 이를 사용하여 전 세계의 위치를 선택할 수 있습니다. 예를 들어 쿼리 문자열을 '상목은행'으로 설정하면 사용자 주변의 모든 상목은행 지점이 표시됩니다. 쿼리 문자열을 '1600 Amphitheater Parkway, Mountain View, CA 94043'으로 설정하면 사용자의 위치와 관계없이 해당 주소가 선택됩니다. |
LatLng
위도/경도 쌍을 나타내는 객체로 위도와 경도를 나타내는 복식 쌍으로 표현됩니다. 달리 명시되지 않는 한 이 객체는 WGS84 표준을 준수해야 합니다. 값은 정규화된 범위 내에 있어야 합니다.
| JSON 표현 |
|---|
{ "latitude": number, "longitude": number } |
| 필드 | |
|---|---|
latitude |
위도입니다. 범위는 [-90.0, +90.0]입니다. |
longitude |
경도입니다. 범위는 [-180.0, +180.0]입니다. |
CreateCalendarEventAction
사용자의 기본 캘린더 앱을 열고 에이전트가 지정한 이벤트 데이터가 미리 입력된 새 캘린더 일정 흐름을 시작합니다.
| JSON 표현 |
|---|
{ "startTime": string, "endTime": string, "title": string, "description": string } |
| 필드 | |
|---|---|
startTime |
이벤트 시작 시간입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
endTime |
일정 종료 시간입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
title |
이벤트 제목입니다. 최대 100자(영문 기준)까지 허용됩니다. |
description |
이벤트 설명입니다. 최대 500자까지 입력할 수 있습니다. |
OpenUrlAction
사용자의 기본 웹브라우저 앱을 지정된 URL로 엽니다. 사용자에게 URL의 기본 핸들러로 등록된 앱이 설치되어 있으면 이 앱이 대신 열리고 추천 작업 UI에 앱의 아이콘이 사용됩니다.
| JSON 표현 |
|---|
{ "url": string, "application": enum ( |
| 필드 | |
|---|---|
url |
열 URL입니다. 2025년 11월 1일부터 URL 스키마는 https:// 또는 http://여야 합니다. 이 날짜 이후에는 다른 스킴 (예: tel:, mailto:, sms:)을 사용하는 API 요청이 400 잘못된 요청 오류와 함께 거부됩니다. URL은 RFC 3986에 정의된 유효한 URI여야 합니다. 최대 2,048자(영문 기준)까지 허용됩니다. |
application |
URL 열기 애플리케이션, 브라우저 또는 웹뷰 사용자의 기기가 웹뷰 모드를 지원하는지 확인하려면 먼저 기능 확인을 실행하세요. 자세한 내용은 https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities 문서를 참고하세요. |
webviewViewMode |
웹 보기의 보기 모드입니다. |
description |
웹뷰의 접근성 설명입니다. |
OpenUrlApplication
URL 열기 애플리케이션 유형
| 열거형 | |
|---|---|
OPEN_URL_APPLICATION_UNSPECIFIED |
지정되지 않았으며 브라우저를 사용하여 엽니다. |
BROWSER |
브라우저를 사용하여 URL을 엽니다. |
WEBVIEW |
통합 웹 보기 창에서 URL 열기 |
WebviewViewMode
웹뷰의 보기 모드 유형입니다.
| 열거형 | |
|---|---|
WEBVIEW_VIEW_MODE_UNSPECIFIED |
지정되지 않음 webview를 사용하려면 보기 모드를 지정해야 합니다. |
FULL |
상태 표시줄 내에 챗봇 대화가 라벨로 지정된 전체 화면 오버레이가 필요합니다. |
HALF |
절반 화면 오버레이가 필요합니다. |
TALL |
4분의 3 화면 오버레이가 필요합니다. |
Suggestion.SuggestionDisplay
독립형 텍스트 추천의 표시 동작입니다.
| 열거형 | |
|---|---|
SUGGESTION_DISPLAY_UNSPECIFIED |
클라이언트는 기본 디스플레이 동작을 실행합니다.
|
PERSISTENT |
새 메시지가 대화에 추가되더라도 추천은 메시지 풍선 내에 계속 표시됩니다. |
StandaloneCard
독립형 카드
| JSON 표현 |
|---|
{ "cardOrientation": enum ( |
| 필드 | |
|---|---|
cardOrientation |
카드의 방향입니다. |
thumbnailImageAlignment |
가로 레이아웃이 있는 독립형 카드의 이미지 미리보기 정렬입니다. |
cardContent |
카드 콘텐츠입니다. |
StandaloneCard.CardOrientation
카드의 방향입니다.
| 열거형 | |
|---|---|
CARD_ORIENTATION_UNSPECIFIED |
지정되지 않음 |
HORIZONTAL |
가로 레이아웃 가로형 리치 카드의 |
VERTICAL |
세로 레이아웃입니다. |
StandaloneCard.ThumbnailImageAlignment
가로 레이아웃이 있는 독립형 카드의 이미지 미리보기 정렬입니다.
| 열거형 | |
|---|---|
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED |
지정되지 않음 |
LEFT |
파일 미리보기가 왼쪽 정렬됩니다. |
RIGHT |
파일 미리보기가 오른쪽으로 정렬됩니다. |
MessageTrafficType
지원되는 메시지 트래픽 유형입니다. 추가 트래픽 유형을 지원하도록 enum이 확장됩니다.
| 열거형 | |
|---|---|
MESSAGE_TRAFFIC_TYPE_UNSPECIFIED |
기본 동작: 메시지 트래픽 유형은 상담사의 사용 사례에 따라 결정됩니다. 메시지 콘텐츠에 따라 필요에 따라 트래픽 유형을 업데이트합니다. 다회성 사용 에이전트의 경우 기본값이 제공되지 않습니다. 트래픽 유형은 수동으로 설정해야 합니다 (예: TRANSACTION, PROMOTION). |
AUTHENTICATION |
OTP 에이전트 사용 사례의 인증 메시지입니다. |
TRANSACTION |
트랜잭션 또는 다용도 에이전트 사용 사례의 트랜잭션 메시지 |
PROMOTION |
프로모션 또는 다용도 에이전트 사용 사례의 프로모션 메시지 |
SERVICEREQUEST |
사용자가 수신에 동의한 서비스에 관한 메시지 OTP, 트랜잭션, 프로모션 또는 다회용 에이전트 사용 사례에서 사용됩니다. |
ACKNOWLEDGEMENT |
사용자의 수신 거부 요청을 확인하는 메시지 OTP, 트랜잭션, 프로모션 또는 다회용 에이전트 사용 사례에서 사용됩니다. |
RichMessageClassification
미국 결제에만 해당: 결제에 사용되는 메시지 분류에 관한 세부정보입니다.
| JSON 표현 |
|---|
{
"classificationType": enum ( |
| 필드 | |
|---|---|
classificationType |
|
segmentCount |
메일 텍스트의 160바이트 세그먼트 수입니다. 항상 올림됩니다. 텍스트 콘텐츠의 총 UTF-8 바이트 길이에서만 계산됩니다. 추천 답장 또는 작업의 데이터는 제외됩니다. 예를 들어 길이가 300바이트인 문자 메시지의 segmentCount는 2입니다. 이 필드는 RICH_MESSAGE 유형에만 채워집니다. |
RichMessageClassificationType
미국 결제 전용: 결제를 위한 메시지의 분류를 지정합니다.
중요: 미국 이동통신사는 이 페이지에 설명된 청구 가능한 메시지 유형의 가격을 설정합니다. 미국 이동통신사는 비즈니스용 RCS 메시지 전송에 대한 개발자의 최종 요금도 결정합니다. 추가 가격 또는 결제 정보는 해당 이동통신사 담당자에게 문의하세요.
| 열거형 | |
|---|---|
RICH_MESSAGE_CLASSIFICATION_TYPE_UNSPECIFIED |
지정되지 않음 |
RICH_MESSAGE |
다음 조건에 따라 메시지가 리치로 분류됩니다. 1. 리치 카드가 포함되어 있지 않습니다. 2. 파일 첨부파일이 포함되어 있지 않습니다. 3. 포함된 제안 작업은 다이얼 작업이거나 웹 뷰를 사용하지 않는 URL 열기 작업이어야 합니다. |
RICH_MEDIA_MESSAGE |
RICH_MESSAGE 기준을 충족하지 않는 메시지 여기에는 리치 카드, 미디어 파일 또는 브라우저에서 전화 걸기 또는 URL 열기 외의 추천 작업이 포함된 메시지가 포함됩니다. |
SUGGESTED_ACTION_CLICK |
추천 작업 (추천 답장이 아님)에 대한 사용자의 탭을 나타냅니다. 이 분류는 사용자 작업에만 적용되며 웹훅의 UserMessage 페이로드에만 표시됩니다. A2P 메시지에는 적용되지 않습니다. |
메서드 |
|
|---|---|
|
상담사가 사용자에게 메시지를 보냅니다. |
|
전송되었지만 아직 전달되지 않은 상담사 메시지를 취소합니다. |