리소스: AgentMessage
상담사가 사용자에게 보낸 메시지입니다.
JSON 표현 |
---|
{ "name": string, "sendTime": string, "contentMessage": { object ( |
필드 | |
---|---|
name |
이 필드는 RBM 플랫폼에 의해 설정됩니다. 에이전트 메시지를 만들 때는 포함하지 마세요. 이 필드는 'phones/{E.164}/agentMessages/{messageId}'를 확인합니다. 여기서 {E.164}는 E.164 형식의 사용자 전화번호이고 {messageId}는 상담사가 할당한 상담사 메시지의 ID입니다. |
sendTime |
이 필드는 RBM 플랫폼에 의해 설정됩니다. 에이전트 메시지를 만들 때는 포함하지 마세요. 이 필드는 메시지가 사용자에게 전송된 시간을 확인합니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
contentMessage |
상담사 메시지의 콘텐츠입니다. |
messageTrafficType |
메시지 트래픽 유형입니다. |
통합 필드
|
|
expireTime |
선택사항입니다. 이 리소스가 만료된 것으로 간주되는 시간의 타임스탬프(UTC)입니다. 이 값은 설정된 경우 또는 TTL 필드가 설정된 경우 출력에 제공됩니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
ttl |
선택사항입니다. 입력 전용입니다. 메시지가 자동으로 취소되기 전까지 유지되는 시간입니다. 소수점 아래가 최대 9자리까지이고 ' |
AgentContentMessage
에이전트가 사용자에게 보낸 메시지의 콘텐츠입니다.
JSON 표현 |
---|
{ "suggestions": [ { object ( |
필드 | |
---|---|
suggestions[] |
연결된 상담사 메시지 다음에 추천 칩 목록으로 표시되는 추천 답장 및 추천 작업 목록입니다. 최대 11개의 추천 칩은 연결된 상담사 메시지가 대화 (상담사 메시지와 사용자 메시지 모두 포함) 내에서 가장 최근 메시지인 경우에만 표시됩니다. 사용자는 추천 답장을 탭하여 텍스트 답장을 상담사에게 다시 보내거나 추천 작업을 탭하여 기기에서 네이티브 작업을 시작할 수 있습니다. 최대 11개의 추천 |
통합 필드 content . 에이전트 메시지 content 의 콘텐츠는 다음 중 하나여야 합니다. |
|
text |
UTF-8로 인코딩된 텍스트입니다. 최대 3,072자(영문 기준)까지 허용됩니다. |
fileName |
파일의 고유한 이름입니다. 상담사가 파일을 업로드하면 RBM 플랫폼에서 파일 이름을 반환합니다. 아래의 uploadedRbmFile로 대체되어 지원 중단됨 |
uploadedRbmFile |
RBM 서버에 업로드되고 RBM 서버에서 제공된 파일 및 썸네일의 식별자를 포함합니다. |
richCard |
독립형 리치 카드입니다. |
contentInfo |
파일의 URL 및 파일의 썸네일 URL을 비롯한 파일에 관한 정보입니다. RBM 플랫폼은 캐시에서 콘텐츠를 제공하지만 에이전트는 RBM 플랫폼이 새 버전의 콘텐츠를 가져오고 캐시를 새로고침하도록 강제할 수 있습니다. |
UploadedRbmFile
파일 및 썸네일 정보가 포함된 메시지
JSON 표현 |
---|
{ "fileName": string, "thumbnailName": string } |
필드 | |
---|---|
fileName |
파일이 업로드될 때 RBM 플랫폼에서 반환된 파일 이름입니다. |
thumbnailName |
썸네일이 업로드될 때 RBM 플랫폼에서 반환된 썸네일의 이름입니다. |
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 |
파일이 업로드될 때 RBM 플랫폼에서 반환되는 파일의 고유한 이름입니다. 아래의 uploadedRbmFile로 대체되어 지원 중단됨 |
uploadedRbmFile |
RBM 서버에 업로드되고 RBM 서버에서 제공된 파일 및 썸네일의 식별자를 포함합니다. |
contentInfo |
파일의 URL 및 파일의 썸네일 URL을 비롯한 파일에 관한 정보입니다. RBM 플랫폼은 캐시에서 콘텐츠를 제공하지만 에이전트는 RBM 플랫폼이 새 버전의 콘텐츠를 가져오고 캐시를 새로고침하도록 강제할 수 있습니다. |
ContentInfo
콘텐츠 정보를 포함하는 메시지입니다.
JSON 표현 |
---|
{ "fileUrl": string, "thumbnailUrl": string, "forceRefresh": boolean } |
필드 | |
---|---|
fileUrl |
파일의 공개적으로 연결 가능한 URL입니다. RBM 플랫폼은 플랫폼이 파일을 가져올 때 HTTP 헤더의 content-type 필드에서 파일의 MIME 유형을 확인합니다. 콘텐츠 유형 필드는 URL의 HTTP 응답에 있어야 하며 정확해야 합니다. 권장 최대 파일 크기는 100MB입니다. 참고: 파일 URL의 리디렉션은 지원되지 않습니다. 리디렉션이 필요한 경우 CreateFileRequest를 사용하세요. |
thumbnailUrl |
(선택사항, 이미지, 오디오, 동영상 파일만 해당) 썸네일의 공개적으로 연결 가능한 URL입니다. 최대 크기 100kB 썸네일 URL을 제공하지 않으면 사용자의 기기에서 파일을 다운로드할 때까지 RBM 플랫폼에 빈 자리표시자 썸네일이 표시됩니다. 사용자 설정에 따라 파일이 자동으로 다운로드되지 않을 수 있으며 사용자가 다운로드 버튼을 탭해야 할 수 있습니다. 참고: 파일 URL의 리디렉션은 지원되지 않습니다. 리디렉션이 필요한 경우 CreateFileRequest를 사용하세요. |
forceRefresh |
설정된 경우 RBM 플랫폼은 플랫폼에 파일 (또는 썸네일)의 캐시된 사본이 있더라도 지정된 URL에서 파일과 썸네일을 가져옵니다. |
Media.Height
미디어 높이
열거형 | |
---|---|
HEIGHT_UNSPECIFIED |
지정되지 않음 |
SHORT |
112DP |
MEDIUM |
168 DP |
TALL |
264 DP. 카드 너비가 '작음'으로 설정된 경우 리치 카드 캐러셀에는 사용할 수 없습니다. |
추천
리치 카드 또는 추천 칩 목록에 포함된 추천 답변 또는 추천 작업입니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 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 |
WebView의 보기 모드 |
description |
웹뷰의 접근성 설명입니다. |
OpenUrlApplication
URL 열기 애플리케이션 유형
열거형 | |
---|---|
OPEN_URL_APPLICATION_UNSPECIFIED |
지정되지 않았으며 브라우저를 사용하여 엽니다. |
BROWSER |
브라우저를 사용하여 URL을 엽니다. |
WEBVIEW |
통합 웹 보기 창에서 URL 열기 |
WebviewViewMode
웹뷰의 보기 모드 유형입니다.
열거형 | |
---|---|
WEBVIEW_VIEW_MODE_UNSPECIFIED |
지정되지 않음 webview를 사용하려면 보기 모드를 지정해야 합니다. |
FULL |
상태 표시줄 내에 라벨이 지정된 챗봇 대화가 있는 전체 화면 오버레이가 필요합니다. |
HALF |
절반 화면 오버레이가 필요합니다. |
TALL |
3/4 화면 오버레이가 필요합니다. |
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, 트랜잭션, 프로모션 또는 다용도 에이전트 사용 사례에서 사용됩니다. |
메서드 |
|
---|---|
|
상담사가 사용자에게 메시지를 보냅니다. |
|
전송되었지만 아직 전달되지 않은 상담사 메시지를 취소합니다. |