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 อย่าใส่ไว้เมื่อสร้างข้อความตัวแทน ช่องนี้แปลงค่า "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)

เนื้อหาของข้อความตัวแทน

ฟิลด์สหภาพ 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 เนื้อหาของข้อความตัวแทน 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

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

การแสดง 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 เมื่อแพลตฟอร์มดึงข้อมูลไฟล์ ต้องมีฟิลด์ประเภทเนื้อหาและถูกต้องในการตอบกลับ 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

(ไม่บังคับ) ป้ายกำกับของหมุดที่วางที่ latLong

query

string

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

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

LatLng

วัตถุที่แสดงคู่ละติจูด/ลองจิจูด ค่านี้แสดงเป็นเลขคู่คู่แทนองศาละติจูดและลองจิจูดองศา ออบเจ็กต์นี้ต้องเป็นไปตาม มาตรฐาน 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[] อย่างน้อย 1 ช่องด้วย

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

StandaloneCard.ThumbnailImageAlignment

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

Enum
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED ไม่ได้ระบุ
LEFT ตัวอย่างไฟล์จัดชิดซ้าย
RIGHT ตัวอย่างไฟล์จัดชิดขวาแล้ว

วิธีการ

create

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

delete

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