REST Resource: conversations.messages

리소스: Message

상담사와 사용자 간의 대화 메시지입니다.

JSON 표현
{
  "name": string,
  "messageId": string,
  "representative": {
    object (Representative)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "fallback": string,
  "containsRichText": boolean,

  // Union field content can be only one of the following:
  "text": string,
  "image": {
    object (Image)
  },
  "richCard": {
    object (RichCard)
  }
  // End of list of possible types for union field content.
}
필드
name

string

Business Messages에서 설정한 메시지 이름입니다. 'conversations/{conversationId}/messages/{messageId}'로 해석됩니다. 여기서 {conversationId}는 대화의 고유 ID이고 {messageId}는 메시지의 고유 ID입니다.

messageId

string

필수 항목입니다. 상담사가 할당한 메시지의 고유 식별자입니다. 메일이 이전 메일과 동일한 messageId를 사용하려고 하면 메일의 올바른 전송에 영향을 줄 수 있습니다.

representative

object (Representative)

메시지를 보낸 담당자 (사람 또는 챗봇)에 대한 세부정보입니다.

suggestions[]

object (Suggestion)

관련 메시지 다음에 표시되는 추천 답장 칩 목록으로 표시되는 추천 답장 목록입니다. 추천은 최대 13개입니다.

관련 메시지가 대화 내에서 가장 최근 메시지 (상담사 및 사용자 메시지 모두 포함)인 경우에만 칩이 표시됩니다. 사용자는 추천 답장을 탭하여 상담사에게 텍스트 답장을 보낼 수 있습니다.

fallback

string

선택사항입니다. 사용자 기기에서 메시지 유형 또는 내용을 지원하지 않는 경우 표시되는 대체 텍스트입니다. 최대 3,072자(영문 기준)까지 허용됩니다.

containsRichText

boolean

선택사항입니다. true인 경우 메일에 서식 있는 텍스트가 포함되어 있음을 나타냅니다. 메시지에 잘못된 형식이 포함되어 있으면 Business Messages에서 오류를 반환합니다.

통합 필드 content. 메시지의 내용입니다. content은 다음 중 하나여야 합니다.
text

string

문자 메시지. 최대 3,072자(영문 기준)까지 허용됩니다.

image

object (Image)

이미지 메시지입니다.

richCard

object (RichCard)

리치 카드 메시지입니다.

이미지

이미지입니다.

JSON 표현
{

  // Union field content can be only one of the following:
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
필드
통합 필드 content. 이미지 콘텐츠입니다. content은 다음 중 하나여야 합니다.
contentInfo

object (ContentInfo)

이미지의 URL과 썸네일의 URL을 포함한 이미지 관련 정보입니다.

ContentInfo

콘텐츠 정보가 포함된 메시지입니다.

JSON 표현
{
  "fileUrl": string,
  "thumbnailUrl": string,
  "forceRefresh": boolean,
  "altText": string
}
필드
fileUrl

string

공개적으로 연결할 수 있는 파일의 URL입니다. 플랫폼은 파일을 가져올 때 HTTP 헤더의 content-type 필드에서 파일의 MIME 유형을 확인합니다. URL의 HTTP 응답에 content-type 필드가 있고 정확해야 합니다.

최대 크기는 5MB입니다.

지원되는 콘텐츠 유형: image/jpeg, image/jpg, image/png, image/webp

thumbnailUrl

string

선택사항입니다. 공개적으로 연결할 수 있는 썸네일 URL입니다.

썸네일 URL을 제공하지 않으면 사용자 기기에서 파일을 다운로드할 때까지 플랫폼에 빈 자리표시자 썸네일이 표시됩니다.

최대 25KB

지원되는 콘텐츠 유형: image/jpeg, image/jpg, image/png, image/webp

forceRefresh

boolean

설정된 경우 플랫폼이 파일 (또는 썸네일 이미지)의 사본을 캐시했더라도 지정된 URL에서 파일과 썸네일을 가져옵니다.

altText

string

접근성을 위해 미디어에 관한 세부정보를 설명하는 텍스트입니다.

RichCard

에이전트에서 사용자에게 전송한 독립형 리치 카드 또는 리치 카드 캐러셀입니다.

JSON 표현
{

  // Union field card can be only one of the following:
  "standaloneCard": {
    object (StandaloneCard)
  },
  "carouselCard": {
    object (CarouselCard)
  }
  // End of list of possible types for union field card.
}
필드
통합 필드 card. 가능한 리치 카드 유형입니다. card은 다음 중 하나여야 합니다.
standaloneCard

object (StandaloneCard)

독립형 카드입니다.

carouselCard

object (CarouselCard)

카드 캐러셀

StandaloneCard

독립형 카드입니다.

JSON 표현
{
  "cardContent": {
    object (CardContent)
  }
}
필드
cardContent

object (CardContent)

카드 콘텐츠

CardContent

카드 콘텐츠

JSON 표현
{
  "title": string,
  "description": string,
  "media": {
    object (Media)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
필드
title

string

선택사항입니다. 카드 제목입니다. 최대 200자(영문 기준)까지 허용됩니다.

description

string

선택사항입니다. 카드에 대한 설명입니다. 최대 2,000자(영문 기준)까지 입력할 수 있습니다.

media

object (Media)

선택사항입니다. 카드에 포함할 미디어입니다.

suggestions[]

object (Suggestion)

선택사항입니다. 카드에 포함할 추천 목록입니다. 추천은 최대 4개입니다.

미디어

리치 카드 내의 미디어 파일입니다.

JSON 표현
{
  "height": enum (Height),

  // Union field content can be only one of the following:
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
필드
height

enum (Height)

리치 카드 내 미디어의 높이입니다.

통합 필드 content. 미디어 콘텐츠. content은 다음 중 하나여야 합니다.
contentInfo

object (ContentInfo)

파일의 URL 및 파일 썸네일의 URL을 포함한 파일 관련 정보입니다.

높이

미디어 높이

열거형
HEIGHT_UNSPECIFIED 지정되지 않음
SHORT 112DP
MEDIUM 168DP
TALL 264DP 카드 너비가 SMALL로 설정된 경우 리치 카드 캐러셀에 사용할 수 없습니다.

추천

칩 목록 내의 추천

JSON 표현
{

  // Union field option can be only one of the following:
  "reply": {
    object (SuggestedReply)
  },
  "action": {
    object (SuggestedAction)
  },
  "liveAgentRequest": {
    object (LiveAgentRequest)
  },
  "authenticationRequest": {
    object (AuthenticationRequest)
  }
  // End of list of possible types for union field option.
}
필드
통합 필드 option. 제안 답장 option은 다음 중 하나여야 합니다.
reply

object (SuggestedReply)

사용자에게 지정된 텍스트로 답장하라는 제안입니다.

action

object (SuggestedAction)

기기에서 네이티브 작업을 시작하는 추천 작업입니다.

liveAgentRequest

object (LiveAgentRequest)

실제 상담사가 대화에 참여하도록 해 달라는 요청입니다.

authenticationRequest

object (AuthenticationRequest)

인증 흐름을 시작하기 위한 요청입니다.

SuggestedReply

탭하면 텍스트 답장을 상담사에게 다시 전송합니다.

JSON 표현
{
  "text": string,
  "postbackData": string
}
필드
text

string

추천 답변에 표시되고 사용자가 탭하면 상담사에게 전송되는 텍스트입니다. 최대 25자(영문 기준)까지 허용됩니다.

postbackData

string

사용자가 추천 답변을 탭할 때 에이전트가 수신하는 문자열입니다. 최대 2,048자(영문 기준)까지 입력할 수 있습니다.

SuggestedAction

탭하면 기기에서 상응하는 네이티브 작업이 시작됩니다.

JSON 표현
{
  "text": string,
  "postbackData": string,

  // Union field action can be only one of the following:
  "openUrlAction": {
    object (OpenUrlAction)
  },
  "dialAction": {
    object (DialAction)
  }
  // End of list of possible types for union field action.
}
필드
text

string

추천 작업에 표시되는 텍스트입니다. 최대 25자(영문 기준)까지 허용됩니다.

postbackData

string

사용자가 추천 작업을 탭할 때 에이전트가 수신하는 문자열입니다. 최대 2,048자(영문 기준)까지 입력할 수 있습니다.

통합 필드 action. 사용자가 추천된 작업을 탭할 때 기기에서 시작되는 네이티브 작업입니다. action은 다음 중 하나여야 합니다.
openUrlAction

object (OpenUrlAction)

지정된 URL을 엽니다.

dialAction

object (DialAction)

사용자의 기본 다이얼러 앱을 엽니다.

OpenUrlAction

지정된 URL을 엽니다.

JSON 표현
{
  "url": string
}
필드
url

string

URL

DialAction

지정된 전화번호가 입력된 상태로 사용자의 기본 다이얼러 앱을 엽니다.

JSON 표현
{
  "phoneNumber": string
}
필드
phoneNumber

string

필수 항목입니다. RFC 3966 형식의 지정된 전화번호입니다. 예: '+1-201-555-0123'

LiveAgentRequest

이 유형에는 필드가 없습니다.

탭하면 실제 상담사가 대화에 참여하도록 요청을 전송합니다.

AuthenticationRequest

대화 인증 요청입니다.

JSON 표현
{

  // Union field authentication_type can be only one of the following:
  "oauth": {
    object (Oauth)
  }
  // End of list of possible types for union field authentication_type.
}
필드
통합 필드 authentication_type. 인증 유형입니다. authentication_type은 다음 중 하나여야 합니다.
oauth

object (Oauth)

OAuth를 통한 인증에 대한 세부정보입니다.

Oauth

OAuth를 통한 인증에 대한 세부정보입니다.

JSON 표현
{
  "clientId": string,
  "codeChallenge": string,
  "scopes": [
    string
  ],
  "codeChallengeMethod": string
}
필드
clientId

string

필수 항목입니다. 승인을 요청하는 애플리케이션의 ID

codeChallenge

string

필수 항목입니다. 액세스 토큰을 교환하는 데 사용되는 코드 챌린지입니다.

scopes[]

string

필수 항목입니다. 요청의 범위를 지정하는 배열.

codeChallengeMethod

string

선택사항입니다. 코드 챌린지를 생성하는 데 사용되는 코드 챌린지 방법입니다. 이 매개변수를 생략하면 서버에서 plain로 가정합니다.

CarouselCard

카드 캐러셀

JSON 표현
{
  "cardWidth": enum (CardWidth),
  "cardContents": [
    {
      object (CardContent)
    }
  ]
}
필드
cardWidth

enum (CardWidth)

캐러셀에 있는 카드의 너비입니다.

cardContents[]

object (CardContent)

캐러셀에 있는 각 카드의 콘텐츠 목록입니다. 캐러셀에는 최소 2개에서 최대 10개의 카드가 포함될 수 있습니다.

CardWidth

캐러셀에 있는 카드의 너비입니다.

열거형
CARD_WIDTH_UNSPECIFIED 지정되지 않음
SMALL 136DP 세로 방향의 미디어는 포함할 수 없습니다.
MEDIUM 280DP

메서드

create

에이전트에서 사용자에게 메시지를 전송합니다.

updateReceipt

상담사가 사용자에게 보내는 메시지 수신 확인을 전송합니다.