REST Resource: phones.agentMessages

ทรัพยากร: AgentMessage

ข้อความที่ตัวแทนส่งไปยังผู้ใช้

การแสดง JSON
{
  "name": string,
  "sendTime": string,
  "contentMessage": {
    object (AgentContentMessage)
  },

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
}
ช่อง
name

string

ช่องนี้กำหนดโดยแพลตฟอร์ม RBM อย่าใส่ข้อมูลนี้เมื่อสร้างข้อความจาก Agent ช่องนี้ระบุค่า "phones/{E.164}/agentMessages/{messageId}" โดยที่ {E.164} คือหมายเลขโทรศัพท์ของผู้ใช้ในรูปแบบ E.164 และ {messageId} คือรหัสที่ตัวแทนกำหนดให้ของข้อความจากตัวแทน

sendTime

string (Timestamp format)

ช่องนี้กำหนดโดยแพลตฟอร์ม RBM อย่าใส่ข้อมูลนี้เมื่อสร้างข้อความจาก Agent ช่องนี้จะระบุเวลาที่ส่งข้อความถึงผู้ใช้

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

contentMessage

object (AgentContentMessage)

เนื้อหาของข้อความ Agent

ฟิลด์การรวม expiration

expiration ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น

expireTime

string (Timestamp format)

ไม่บังคับ การประทับเวลาในเขตเวลา UTC เมื่อระบบถือว่าแหล่งข้อมูลนี้หมดอายุ ค่านี้จะมีอยู่ในเอาต์พุตถ้ามีการตั้งค่าไว้หรือหากตั้งค่าช่อง TTL ไว้

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

ttl

string (Duration format)

ไม่บังคับ อินพุตเท่านั้น อินพุตเท่านั้น ระยะเวลาที่จะเผยแพร่ข้อความก่อนที่จะถูกเพิกถอนโดยอัตโนมัติ

ระยะเวลาเป็นวินาทีโดยมีตัวเลขเศษส่วนไม่เกิน 9 หลัก ซึ่งลงท้ายด้วย "s" เช่น "3.5s"

AgentContentMessage

เนื้อหาของข้อความที่ส่งจากตัวแทนไปยังผู้ใช้

การแสดง JSON
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ],

  // Union field content can be only one of the following:
  "text": string,
  "fileName": string,
  "uploadedRbmFile": {
    object (UploadedRbmFile)
  },
  "richCard": {
    object (RichCard)
  },
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
ช่อง
suggestions[]

object (Suggestion)

รายการการตอบกลับที่แนะนำและการดำเนินการที่แนะนำซึ่งปรากฏเป็นรายการชิปคำแนะนำหลังจากข้อความตัวแทนที่เกี่ยวข้อง สูงสุด 11 คำแนะนำ

ชิปจะแสดงเฉพาะเมื่อข้อความตัวแทนที่เกี่ยวข้องเป็นข้อความล่าสุดในการสนทนาเท่านั้น (รวมทั้งข้อความจากตัวแทนและข้อความผู้ใช้) ผู้ใช้สามารถแตะการตอบกลับที่แนะนำเพื่อส่งข้อความตอบกลับไปยังตัวแทน หรือแตะการดำเนินการที่แนะนำเพื่อเริ่มการดำเนินการที่มาพร้อมเครื่องในอุปกรณ์

ฟิลด์การรวม content เนื้อหาของข้อความ Agent content ต้องเป็นอย่างใดอย่างหนึ่งต่อไปนี้เท่านั้น
text

string

ข้อความที่เข้ารหัสเป็น UTF-8

fileName
(deprecated)

string

ชื่อที่ไม่ซ้ำกันของไฟล์ แพลตฟอร์ม RBM จะแสดงชื่อไฟล์เมื่อตัวแทนอัปโหลดไฟล์ เลิกใช้งานเพื่อเปลี่ยนไปใช้ UploadRbmFile ด้านล่างแล้ว

uploadedRbmFile

object (UploadedRbmFile)

มีตัวระบุสำหรับไฟล์และภาพขนาดย่อที่อัปโหลดและแสดงโดยเซิร์ฟเวอร์ RBM

richCard

object (RichCard)

การ์ดริชมีเดียแบบสแตนด์อโลน

contentInfo

object (ContentInfo)

ข้อมูลเกี่ยวกับไฟล์ ซึ่งรวมถึง URL ของไฟล์และ URL ภาพขนาดย่อของไฟล์

แพลตฟอร์ม RBM จะแสดงเนื้อหาจากแคช แต่ตัวแทนสามารถบังคับให้แพลตฟอร์ม RBM ดึงข้อมูลเนื้อหาเวอร์ชันใหม่และรีเฟรชแคชได้

UploadedRbmFile

ข้อความที่มีข้อมูลไฟล์และภาพขนาดย่อ

การแสดง JSON
{
  "fileName": string,
  "thumbnailName": string
}
ช่อง
fileName

string

ชื่อของไฟล์ที่แพลตฟอร์ม RBM แสดงผลเมื่ออัปโหลดไฟล์

thumbnailName

string

ชื่อของภาพขนาดย่อที่แพลตฟอร์ม RBM แสดงขึ้นมาเมื่อมีการอัปโหลดภาพขนาดย่อ

RichCard

การ์ดริชมีเดียแบบสแตนด์อโลนหรือภาพสไลด์ของการ์ดริชมีเดียที่ส่งจาก Agent ไปยังผู้ใช้

การแสดง JSON
{

  // Union field card can be only one of the following:
  "carouselCard": {
    object (CarouselCard)
  },
  "standaloneCard": {
    object (StandaloneCard)
  }
  // End of list of possible types for union field card.
}
ช่อง
ฟิลด์การรวม card การ์ดแบบเดี่ยวหรือภาพหมุน card ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
carouselCard

object (CarouselCard)

ภาพสไลด์ของการ์ด

standaloneCard

object (StandaloneCard)

บัตรสแตนด์อโลน

CarouselCard

ภาพสไลด์ของการ์ด

การแสดง JSON
{
  "cardWidth": enum (CarouselCard.CardWidth),
  "cardContents": [
    {
      object (CardContent)
    }
  ]
}
ช่อง
cardWidth

enum (CarouselCard.CardWidth)

ความกว้างของการ์ดในภาพสไลด์

cardContents[]

object (CardContent)

รายการเนื้อหาของการ์ดแต่ละใบในภาพสไลด์ ภาพสไลด์มีการ์ดอย่างน้อย 2 ใบและได้สูงสุด 10 ใบ

CarouselCard.CardWidth

ความกว้างของการ์ดในภาพสไลด์

Enum
CARD_WIDTH_UNSPECIFIED ไม่ได้ระบุ
SMALL 120 DP โปรดทราบว่าไม่สามารถใช้สื่อขนาดสูงได้
MEDIUM 232 DP

CardContent

เนื้อหาการ์ด

การแสดง JSON
{
  "title": string,
  "description": string,
  "media": {
    object (Media)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
ช่อง
title

string

(ไม่บังคับ) ชื่อของการ์ด สูงสุด 200 อักขระ

description

string

(ไม่บังคับ) คำอธิบายของการ์ด สูงสุด 2,000 อักขระ

media

object (Media)

(ไม่บังคับ) สื่อ (รูปภาพ, GIF, วิดีโอ) ที่จะใส่ไว้ในการ์ด

suggestions[]

object (Suggestion)

(ไม่บังคับ) รายการคำแนะนำที่จะรวมไว้ในการ์ด แนะนำได้สูงสุด 4 รายการ

สื่อ

ไฟล์สื่อภายในการ์ดริชมีเดีย

การแสดง JSON
{
  "height": enum (Media.Height),

  // Union field content can be only one of the following:
  "fileName": string,
  "uploadedRbmFile": {
    object (UploadedRbmFile)
  },
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
ช่อง
height

enum (Media.Height)

ความสูงของสื่อภายในการ์ดริชมีเดียที่มีเลย์เอาต์แนวตั้ง สำหรับการ์ดแบบสแตนด์อโลนที่มีเลย์เอาต์แนวนอน คุณจะปรับแต่งความสูงไม่ได้ และช่องนี้จะไม่สนใจ

ฟิลด์การรวม content เนื้อหาสื่อ content ต้องเป็นอย่างใดอย่างหนึ่งต่อไปนี้เท่านั้น
fileName
(deprecated)

string

ชื่อที่ไม่ซ้ำกันของไฟล์ซึ่งแสดงโดยแพลตฟอร์ม RBM เมื่ออัปโหลดไฟล์ เลิกใช้งานเพื่อเปลี่ยนไปใช้ UploadRbmFile ด้านล่างแล้ว

uploadedRbmFile

object (UploadedRbmFile)

มีตัวระบุสำหรับไฟล์และภาพขนาดย่อที่อัปโหลดและแสดงโดยเซิร์ฟเวอร์ RBM

contentInfo

object (ContentInfo)

ข้อมูลเกี่ยวกับไฟล์ ซึ่งรวมถึง URL ของไฟล์และ URL ภาพขนาดย่อของไฟล์

แพลตฟอร์ม RBM จะแสดงเนื้อหาจากแคช แต่ตัวแทนสามารถบังคับให้แพลตฟอร์ม RBM ดึงข้อมูลเนื้อหาเวอร์ชันใหม่และรีเฟรชแคชได้

ContentInfo

ข้อความที่มีข้อมูลเนื้อหา

การแสดง JSON
{
  "fileUrl": string,
  "thumbnailUrl": string,
  "forceRefresh": boolean
}
ช่อง
fileUrl

string

URL ของไฟล์ที่เข้าถึงได้แบบสาธารณะ แพลตฟอร์ม RBM จะกำหนดประเภท MIME ของไฟล์จากช่องประเภทเนื้อหาในส่วนหัว HTTP เมื่อแพลตฟอร์มดึงไฟล์ ต้องมีฟิลด์ content-type อยู่และถูกต้องในการตอบกลับ HTTP จาก URL แนะนำให้ใช้ขนาดไฟล์สูงสุด 100 MB

thumbnailUrl

string

(ไม่บังคับ สำหรับไฟล์รูปภาพและวิดีโอเท่านั้น) URL ของภาพขนาดย่อที่เข้าถึงได้แบบสาธารณะ ขนาดสูงสุด 100 KB

หากคุณไม่ระบุ URL ของภาพขนาดย่อ แพลตฟอร์ม RBM จะแสดงภาพขนาดย่อที่ว่างเปล่าของตัวยึดตำแหน่งจนกว่าอุปกรณ์ของผู้ใช้จะดาวน์โหลดไฟล์ ไฟล์อาจไม่ดาวน์โหลดโดยอัตโนมัติและอาจต้องให้ผู้ใช้แตะปุ่มดาวน์โหลด ทั้งนี้ขึ้นอยู่กับการตั้งค่าของผู้ใช้

forceRefresh

boolean

หากมีการตั้งค่า แพลตฟอร์ม RBM จะดึงข้อมูลไฟล์และภาพขนาดย่อจาก URL ที่ระบุ แม้ว่าแพลตฟอร์มจะแคชสำเนาไฟล์ (และ/หรือภาพขนาดย่อ) ไว้ก็ตาม

Media.Height

ความสูงของสื่อ

Enum
HEIGHT_UNSPECIFIED ไม่ได้ระบุ
SHORT 112 DP
MEDIUM 168 DP
TALL 264 DP ใช้ไม่ได้กับภาพสไลด์การ์ดริชมีเดียเมื่อตั้งค่าความกว้างของการ์ดเป็นขนาดเล็ก

คำแนะนำ

การตอบกลับที่แนะนำหรือการดำเนินการที่แนะนำซึ่งรวมอยู่ในการ์ดริชมีเดียหรือในรายการชิปคำแนะนำ

การแสดง JSON
{

  // Union field option can be only one of the following:
  "reply": {
    object (SuggestedReply)
  },
  "action": {
    object (SuggestedAction)
  }
  // End of list of possible types for union field option.
}
ช่อง
ฟิลด์การรวม option การตอบกลับที่แนะนำหรือการดำเนินการที่แนะนำ option ต้องเป็นอย่างใดอย่างหนึ่งต่อไปนี้เท่านั้น
reply

object (SuggestedReply)

ผู้ใช้สามารถแตะการตอบกลับที่แนะนำเพื่อส่งข้อความตอบกลับไปยังตัวแทนได้

action

object (SuggestedAction)

ผู้ใช้สามารถแตะการดำเนินการที่แนะนำเพื่อเริ่มการดำเนินการดั้งเดิมที่เกี่ยวข้องในอุปกรณ์ได้

SuggestedReply

เมื่อแตะแล้ว ระบบจะส่งข้อความตอบกลับไปยังตัวแทน

การแสดง JSON
{
  "text": string,
  "postbackData": string
}
ช่อง
text

string

ข้อความที่แสดงในการตอบกลับที่แนะนำและส่งกลับไปยังตัวแทนเมื่อผู้ใช้แตะคำตอบ สูงสุด 25 อักขระ

postbackData

string

เพย์โหลดที่เข้ารหัสแบบ Base64 ที่ Agent ได้รับในเหตุการณ์ของผู้ใช้เมื่อผู้ใช้แตะการตอบกลับที่แนะนำ

SuggestedAction

เมื่อแตะ จะเป็นการเริ่มการทำงานดั้งเดิมที่เกี่ยวข้องในอุปกรณ์

การแสดง JSON
{
  "text": string,
  "postbackData": string,
  "fallbackUrl": string,

  // Union field action can be only one of the following:
  "dialAction": {
    object (DialAction)
  },
  "viewLocationAction": {
    object (ViewLocationAction)
  },
  "createCalendarEventAction": {
    object (CreateCalendarEventAction)
  },
  "openUrlAction": {
    object (OpenUrlAction)
  },
  "shareLocationAction": {
    object (ShareLocationAction)
  }
  // End of list of possible types for union field action.
}
ช่อง
text

string

ข้อความที่แสดงในการดำเนินการที่แนะนำ สูงสุด 25 อักขระ

postbackData

string

เพย์โหลด (เข้ารหัสแบบ Base64) ที่จะส่งไปยัง Agent ในเหตุการณ์ผู้ใช้ที่แสดงผลลัพธ์เมื่อผู้ใช้แตะการดำเนินการที่แนะนำ

fallbackUrl

string

(ไม่บังคับ) URL ทางเลือกที่จะใช้หากไคลเอ็นต์ไม่รองรับการดำเนินการที่แนะนำ URL ทางเลือกจะเปิดในหน้าต่างเบราว์เซอร์ใหม่

ฟิลด์การรวม action การดำเนินการดั้งเดิมที่เริ่มต้นในอุปกรณ์เมื่อผู้ใช้แตะการดำเนินการที่แนะนำ action จะเป็นการดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้เท่านั้น
dialAction

object (DialAction)

เปิดแอปโทรศัพท์เริ่มต้นของผู้ใช้ที่มีการกรอกหมายเลขโทรศัพท์ที่ตัวแทนระบุ

viewLocationAction

object (ViewLocationAction)

เปิดแอปแผนที่เริ่มต้นของผู้ใช้แล้วเลือกตำแหน่งที่ตัวแทนระบุหรือการค้นหารอบๆ ตำแหน่งของผู้ใช้ตามคำค้นหาที่ระบุโดยตัวแทน

createCalendarEventAction

object (CreateCalendarEventAction)

เปิดแอปปฏิทินเริ่มต้นของผู้ใช้และเริ่มโฟลว์กิจกรรมในปฏิทินใหม่ที่มีข้อมูลกิจกรรมที่ตัวแทนระบุไว้ล่วงหน้า

openUrlAction

object (OpenUrlAction)

เปิดแอปเว็บเบราว์เซอร์เริ่มต้นของผู้ใช้ไปยัง URL ที่ระบุ หากผู้ใช้มีแอปที่ติดตั้งไว้ซึ่งลงทะเบียนเป็นตัวแฮนเดิลเริ่มต้นสำหรับ URL แอปจะเปิดขึ้นแทน และจะใช้ไอคอนของแอปใน UI การดำเนินการที่แนะนำ

shareLocationAction

object (ShareLocationAction)

เปิดตัวเลือกสถานที่ของแอป RCS เพื่อให้ผู้ใช้เลือกตำแหน่งที่จะส่งถึงตัวแทน

DialAction

เปิดแอปโทรศัพท์เริ่มต้นของผู้ใช้ที่มีการกรอกหมายเลขโทรศัพท์ที่ตัวแทนระบุ

การแสดง JSON
{
  "phoneNumber": string
}
ช่อง
phoneNumber

string

หมายเลขโทรศัพท์ในรูปแบบ E.164 เช่น +12223334444

ViewLocationAction

เปิดแอปแผนที่เริ่มต้นของผู้ใช้แล้วเลือกตำแหน่งที่ตัวแทนระบุหรือการค้นหารอบๆ ตำแหน่งของผู้ใช้ตามคำค้นหาที่ระบุโดยตัวแทน

การแสดง JSON
{
  "latLong": {
    object (LatLng)
  },
  "label": string,
  "query": string
}
ช่อง
latLong

object (LatLng)

(ไม่บังคับ) ละติจูดและลองจิจูดของตำแหน่งที่ระบุ

label

string

(ไม่บังคับ) ป้ายกำกับของหมุดที่วางที่ละติจูดลองจิจูด

query

string

(ไม่บังคับ แต่รองรับเฉพาะในไคลเอ็นต์ Android Messages) แทนที่จะระบุ latLong (และสามารถเลือกติดป้ายกำกับหรือไม่ก็ได้) ตัวแทนสามารถระบุสตริงคำค้นหาแทนได้ สำหรับแอปแผนที่เริ่มต้นที่รองรับฟังก์ชันการค้นหา (รวมถึง Google Maps) การแตะการดำเนินการที่แนะนำนี้จะส่งผลให้เกิดการค้นหาตำแหน่งโดยมีจุดศูนย์กลางอยู่ที่ตำแหน่งปัจจุบันของผู้ใช้ หากข้อความค้นหามีความเฉพาะเจาะจงมากพอ ตัวแทนสามารถใช้ข้อความค้นหานี้เพื่อเลือกสถานที่ใดก็ได้ในโลก

เช่น การตั้งค่าสตริงการค้นหาเป็น "Growing Tree Bank" จะแสดงสถานที่ตั้งของธนาคาร Growing Tree Bank ทั้งหมดในบริเวณใกล้เคียงของผู้ใช้ การตั้งค่าสตริงคำค้นหาเป็น "1600 Amphitheater Parkway, Mountain View, CA 94043" จะเลือกที่อยู่ที่เจาะจงนั้นโดยไม่คำนึงถึงสถานที่ตั้งของผู้ใช้

LatLng

วัตถุที่แสดงคู่ละติจูด/ลองจิจูด ค่านี้แสดงเป็นเลขคู่ 1 คู่เพื่อแสดงองศาละติจูดและลองจิจูดองศา ออบเจ็กต์นี้ต้องเป็นไปตาม มาตรฐาน WGS84 เว้นแต่จะระบุไว้เป็นอย่างอื่น ค่าต้องอยู่ในช่วงมาตรฐาน

การแสดง JSON
{
  "latitude": number,
  "longitude": number
}
ช่อง
latitude

number

ละติจูด หน่วยเป็นองศา โดยต้องอยู่ในช่วง [-90.0, +90.0]

longitude

number

ลองจิจูด หน่วยเป็นองศา โดยต้องอยู่ในช่วง [-180.0, +180.0]

CreateCalendarEventAction

เปิดแอปปฏิทินเริ่มต้นของผู้ใช้และเริ่มโฟลว์กิจกรรมในปฏิทินใหม่ที่มีข้อมูลกิจกรรมที่ตัวแทนระบุไว้ล่วงหน้า

การแสดง JSON
{
  "startTime": string,
  "endTime": string,
  "title": string,
  "description": string
}
ช่อง
startTime

string (Timestamp format)

เวลาเริ่มต้นกิจกรรม

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

endTime

string (Timestamp format)

เวลาสิ้นสุดกิจกรรม

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

title

string

ชื่อกิจกรรม

description

string

คำอธิบายกิจกรรม

OpenUrlAction

เปิดแอปเว็บเบราว์เซอร์เริ่มต้นของผู้ใช้ไปยัง URL ที่ระบุ หากผู้ใช้มีแอปที่ติดตั้งไว้ซึ่งลงทะเบียนเป็นตัวแฮนเดิลเริ่มต้นสำหรับ URL แอปจะเปิดขึ้นแทน และจะใช้ไอคอนของแอปใน UI การดำเนินการที่แนะนำ

การแสดง JSON
{
  "url": string
}
ช่อง
url

string

URL

ShareLocationAction

ประเภทนี้ไม่มีช่อง

เปิดตัวเลือกสถานที่ตั้งของแอป RCS เพื่อให้ผู้ใช้เลือกตำแหน่งที่จะส่งกลับไปยังตัวแทนได้

StandaloneCard

บัตรแบบสแตนด์อโลน

การแสดง JSON
{
  "cardOrientation": enum (StandaloneCard.CardOrientation),
  "thumbnailImageAlignment": enum (StandaloneCard.ThumbnailImageAlignment),
  "cardContent": {
    object (CardContent)
  }
}
ช่อง
cardOrientation

enum (StandaloneCard.CardOrientation)

การวางแนวของการ์ด

thumbnailImageAlignment

enum (StandaloneCard.ThumbnailImageAlignment)

การจัดแนวตัวอย่างรูปภาพสำหรับการ์ดแบบสแตนด์อโลนที่มีเลย์เอาต์แนวนอน

cardContent

object (CardContent)

เนื้อหาการ์ด

StandaloneCard.CardOrientation

การวางแนวของการ์ด

Enum
CARD_ORIENTATION_UNSPECIFIED ไม่ได้ระบุ
HORIZONTAL

เลย์เอาต์แนวนอน

หาก object(CardContent) ของการ์ดริชมีเดียแนวนอนมีช่อง media จะต้องมีช่อง title, description หรือ suggestions[] เป็นอย่างน้อยด้วย

VERTICAL เลย์เอาต์แนวตั้ง

StandaloneCard.ThumbnailImageAlignment

การจัดแนวตัวอย่างรูปภาพสำหรับการ์ดแบบสแตนด์อโลนที่มีเลย์เอาต์แนวนอน

Enum
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED ไม่ได้ระบุ
LEFT ตัวอย่างไฟล์จัดชิดซ้าย
RIGHT การแสดงตัวอย่างไฟล์อยู่ในแนวที่ถูกต้อง

วิธีการ

create

ส่งข้อความจากตัวแทนไปยังผู้ใช้

delete

เพิกถอนข้อความของตัวแทนที่ส่งแล้วแต่ยังไม่ได้ส่ง