این راهنما توضیح میدهد که برنامههای Google Chat چگونه میتوانند با ساختن ورودیهای فرم در میاناهای کارتمحور، اطلاعات کاربران را جمعآوری و پردازش کنند.
برنامههای Chat برای انجام کنشها در داخل یا خارج از Chat، ازجمله به روشهای زیر، از کاربران درخواست اطلاعات میکنند:
- پیکربندی تنظیمات. برای مثال، برای اینکه کاربران بتوانند تنظیمات اعلان را سفارشیسازی کنند یا برنامه Chat را در یک یا چند فضا پیکربندی و اضافه کنند.
- ایجاد یا بهروزرسانی اطلاعات در سایر برنامههای Google Workspace. برای مثال، به کاربران اجازه دهید رویداد «تقویم Google» ایجاد کنند.
- به کاربران اجازه میدهد به منابع در برنامهها یا خدمات وب دیگر دسترسی داشته باشند و آنها را بهروز کنند. برای مثال، برنامه Chat میتواند به کاربران کمک کند وضعیت درخواست پشتیبانی را مستقیماً از فضای Chat بهروز کنند.
پیشنیازها
HTTP
برنامه Google Chat که تعاملات کاربر را دریافت و به آنها پاسخ میدهد. برای ساختن آن، شروع سریع HTTP را تکمیل کنید.
Apps Script
برنامه Google Chat که تعاملات کاربر را دریافت و به آنها پاسخ میدهد. برای ساختن یکی از آنها، راهاندازی سریع Apps Script را تکمیل کنید.
ساختن فرم بااستفاده از کارتها
برنامههای Chat برای جمعآوری اطلاعات، فرمها و ورودیهای آنها را طراحی میکنند و آنها را در کارتها میسازند. برای نمایش کارتها به کاربران، برنامههای Chat میتوانند از میاناهای Chat زیر استفاده کنند:
- پیامهایی که حاوی یک یا چند کارت هستند.
- صفحههای اصلی، که کارتی است که از برگه صفحه اصلی در پیامهای مستقیم با برنامه Chat ظاهر میشود.
- کادرهای گفتگو، که کارتهایی هستند که در پنجره جدیدی از پیامها و صفحههای اصلی باز میشوند.
برنامههای گپ میتوانند کارتها را بااستفاده از ابزارههای زیر بسازند:
ابزارههای درونداد فرم که از کاربران اطلاعات درخواست میکنند. بهصورت اختیاری، میتوانید به ابزارکهای ورودی فرم اعتبارسنجی اضافه کنید تا مطمئن شوید کاربران اطلاعات را بهدرستی وارد و قالببندی میکنند. برنامههای Chat میتوانند از ابزارکهای ورودی فرم زیر استفاده کنند:
- ورودیهای نوشتاری
(
textInput) برای نوشتار آزاد یا پیشنهادشده. - ورودیهای انتخاب
(
selectionInput) عناصر واسط کاربر قابلانتخاب مثل چارگوشهای انتخاب، دکمههای رادیویی، و منوهای کرکرهای هستند. ابزارهای ورودی انتخاب میتوانند موارد را از دادههای Google Workspace (مثل فضای Chat) یا منبع داده پویا نیز تکمیل و پیشنهاد کنند. برای جزئیات، بخشهای زیر را ببینید: افزودن منو کرکرهای و افزودن منو چندانتخابی. - انتخابگرهای تاریخ و زمان
(
dateTimePicker) برای ورودیهای تاریخ و زمان.
- ورودیهای نوشتاری
(
ابزارک دکمه تا کاربران بتوانند مقادیر واردشده در کارت را ارسال کنند. پساز اینکه کاربر روی دکمه کلیک کرد، برنامه Chat میتواند اطلاعاتی را که دریافت میکند پردازش کند.
در مثال زیر، کارتی اطلاعات تماس را بااستفاده از ورودی نوشتار، انتخابگر تاریخ و زمان، و ورودی انتخاب جمعآوری میکند:
برای نمونههای بیشتر از ابزارکهای تعاملی که میتوانید برای جمعآوری اطلاعات استفاده کنید، به طراحی کارت یا گفتگوی تعاملی مراجعه کنید.
افزودن منوِ کرکرهای
برای سفارشیسازی کردن موارد انتخاب یا اجازه دادن به کاربران برای انتخاب یک مورد از منبع داده پویا، برنامههای Chat میتوانند از منوهای کرکرهای استفاده کنند که نوعی SelectionInput ابزارک است. برای مثال، کارت زیر منو کرکرهای را نمایش میدهد که در آن کاربران میتوانند بهصورت پویا از فهرست مخاطبین انتخاب کنند:
میتوانید موارد را برای منو کرکرهای از منابع داده زیر پر کنید:
- دادههای Google Workspace، که شامل کاربران یا فضاهای Chat میشود.
- منابع داده خارجی، مانند پایگاه داده رابطهای.
پر کردن موارد از منبع داده Google Workspace
برای پر کردن موارد از منابع داده Google Workspace، مثل
کاربران Google Workspace، فیلد platformDataSource را در
DataSourceConfig
شیء مشخص کنید. برخلاف دیگر انواع ورودی انتخاب، شما
SelectionItem
اشیا را
حذف میکنید، زیرا این موارد انتخاب بهصورت پویا از
Google Workspace منبعیابی میشوند.
کد زیر منو کرکرهای کاربران Google Workspace را نشان میدهد:
(قالب) JSON
{
"sections": [
{
"header": "Section Header",
"widgets": [
{
"selectionInput": {
"name": "contacts",
"type": "DROPDOWN",
"label": "Select contact from organization",
"data_source_configs": [
{
"platformDataSource": {
"commonDataSource": "USER"
},
"min_characters_trigger": 1
}
]
}
}
]
}
]
}
پر کردن موارد از منبع داده خارجی
منوهای کرکرهای همچنین میتوانند موارد را از منبع داده طرف سوم یا خارجی پر کنند. برای استفاده از منبع داده خارجی،
remoteDataSource
فیلد را در
DataSourceConfig
شیئی که حاوی تابعی است که از منبع داده
پُرسمان میکند و موارد را برمیگرداند مشخص میکنید.
برای کاهش درخواستها به منبع داده خارجی، میتوانید
موارد پیشنهادی را که قبلاز تایپ کردن کاربران در منو در منو کرکرهای
نمایش داده میشود اضافه کنید. برای پر کردن موارد پیشنهادی از منبع داده خارجی، اشیای
SelectionItem
ایستا را مشخص کنید.
کد زیر منو کرکرهای را نشان میدهد که موارد را از منبع داده خارجی پُرسمان و تکمیل میکند:
(قالب) JSON
{
"sections": [
{
"header": "Section Header",
"widgets": [
{
"selectionInput": {
"name": "crm_leads",
"type": "DROPDOWN",
"label": "Select CRM Lead",
"data_source_configs": [
{
"remoteDataSource": {
"function": "getCrmLeads"
},
"min_characters_trigger": 2
}
],
"items": [
{
"text": "Suggested Lead 1",
"value": "lead-1"
}
]
}
}
]
}
]
}
برای دیدن مثال کاملی که نشان میدهد چگونه موارد پیشنهادی را برگردانید، بخش پیشنهاد دادن موارد انتخابی را ببینید.
افزودن منو چندانتخابی
برای سفارشیسازی کردن موارد انتخابی یا اجازه دادن به کاربران برای انتخاب موارد از منبع داده پویا، برنامههای Chat میتوانند از منوهای چندانتخابی استفاده کنند که نوعی ابزارک SelectionInput است. برای مثال، کارت زیر منو چندانتخابی را نمایش میدهد که در آن کاربران میتوانند بهصورت پویا از فهرست مخاطبین انتخاب کنند:
میتوانید موارد را برای منو چندانتخابی از منابع داده زیر تکمیل کنید:
- دادههای Google Workspace، که شامل کاربران یا فضاهای Chat میشود که کاربر عضو آنها است. منو فقط موارد را از سازمان Google Workspace یکسان تکمیل میکند.
- منابع داده خارجی، مانند پایگاه داده رابطهای. برای مثال، میتوانید از منوهای چندانتخابی استفاده کنید تا به کاربر کمک کنید از فهرست مشتریان بالقوه فروش در سیستم مدیریت ارتباط با مشتری (CRM) انتخاب کند.
پر کردن موارد از منبع داده Google Workspace
برای استفاده از منابع داده Google Workspace،
platformDataSource
فیلد را در ابزارک SelectionInput مشخص کنید. برخلاف دیگر انواع ورودی انتخاب، شما
SelectionItem
اشیا را
حذف میکنید، زیرا این موارد انتخاب بهصورت پویا از
Google Workspace منبعیابی میشوند.
کد زیر منو چندانتخابی کاربران Google Workspace را نشان میدهد.
برای پر کردن کاربران، ورودی انتخاب commonDataSource را روی USER تنظیم میکند:
(قالب) JSON
{
"selectionInput": {
"name": "contacts",
"type": "MULTI_SELECT",
"label": "Selected contacts",
"multiSelectMaxSelectedItems": 5,
"multiSelectMinQueryLength": 1,
"platformDataSource": {
"commonDataSource": "USER"
}
}
}
کد زیر منو چندانتخابی فضاهای Chat را نشان میدهد. برای پر کردن فضاها، ورودی انتخاب فیلد
hostAppDataSource را مشخص میکند. منو انتخاب چندگانه همچنین defaultToCurrentSpace را روی true تنظیم میکند، که باعث میشود فضای کنونی بهعنوان انتخاب پیشفرض در منو تعیین شود:
(قالب) JSON
{
"selectionInput": {
"name": "spaces",
"type": "MULTI_SELECT",
"label": "Selected contacts",
"multiSelectMaxSelectedItems": 3,
"multiSelectMinQueryLength": 1,
"platformDataSource": {
"hostAppDataSource": {
"chatDataSource": {
"spaceDataSource": {
"defaultToCurrentSpace": true
}
}
}
}
}
}
پر کردن موارد از منبع داده خارجی
منوهای چندانتخابی همچنین میتوانند موارد را از منبع داده طرف سوم یا خارجی پر کنند. برای استفاده از منبع داده خارجی، فیلد
externalDataSource
را در ابزارک SelectionInput که حاوی تابعی است که
موارد را از منبع داده پُرسمان و برمیگرداند مشخص میکنید.
برای کاهش درخواستها به منبع داده خارجی، میتوانید
موارد پیشنهادی را که در منو چندانتخابی ظاهر میشوند قبلاز اینکه کاربران در
منو تایپ کنند اضافه کنید. برای مثال، میتوانید مخاطبینی را که اخیراً برای کاربر جستجو شدهاند تکمیل کنید. برای پر کردن موارد پیشنهادی از منبع داده خارجی، اشیای
SelectionItem
ایستا را مشخص کنید.
نمونه کد زیر منو چندانتخابی را نشان میدهد که موارد را از منبع داده خارجی پُرسمان و تکمیل میکند:
Node.js
FUNCTION_URL را با نقطه پایانی HTTP که منبع داده خارجی را پُرسمان میکند
جایگزین کنید.
Python
FUNCTION_URL را با نقطه پایانی HTTP که منبع داده خارجی را پُرسمان میکند
جایگزین کنید.
جاوا
FUNCTION_URL را با نقطه پایانی HTTP که منبع داده خارجی را پُرسمان میکند
جایگزین کنید.
Apps Script
این مثال با برگرداندن JSON کارت، پیام کارت ارسال میکند. همچنین میتوانید از خدمات کارت Apps Script استفاده کنید.
برای دیدن مثال کاملی که نشان میدهد چگونه موارد پیشنهادی را برگردانید، بخش پیشنهاد دادن موارد انتخابی را ببینید.
دریافت داده از ابزارکهای تعاملی
هرگاه کاربران روی دکمهای کلیک کنند،
کنش
برنامههای Chat آن با اطلاعات مربوط به تعامل راهاندازی میشود. در
commonEventObject
پایهبار رویداد، شیء formInputs حاوی هر مقداری است که
کاربر وارد میکند.
میتوانید مقادیر را از شیء
event.commonEventObject.formInputs.WIDGET_NAME بازیابی کنید، در اینجا
WIDGET_NAME فیلد name است که برای ابزاره مشخص کردهاید.
مقادیر بهعنوان نوع داده خاصی برای ابزاره برگردانده میشوند.
در زیر بخشی از یک شیء رویداد نشان داده شده است که در آن کاربر برای هر ابزارک مقادیری وارد کرده است:
{
"commonEventObject": { "formInputs": {
"contactName": { "stringInputs": {
"value": ["Kai 0"]
}},
"contactBirthdate": { "dateInput": {
"msSinceEpoch": 1000425600000
}},
"contactType": { "stringInputs": {
"value": ["Personal"]
}}
}}
}
برای دریافت دادهها، برنامه Chat شما شیء رویداد را مدیریت میکند تا مقادیری را که کاربران در ابزارکها وارد میکنند دریافت کند. جدول زیر نحوه دریافت مقدار برای یک ابزارک ورودی فرم دادهشده را نشان میدهد. برای هر ابزارک، جدول نوع دادهای را که ابزارک میپذیرد، جایی که مقدار در شیء رویداد ذخیره میشود، و مقدار نمونهای را نشان میدهد.
| ابزاره ورودی فرم | نوع دادههای ورودی | مقدار ورودی از شیء رویداد | مقدار نمونه |
|---|---|---|---|
textInput |
stringInputs |
event.commonEventObject.formInputs.contactName.stringInputs.value[0] |
Kai O |
selectionInput |
stringInputs |
برای دریافت اولین یا تنها مقدار، event.commonEventObject.formInputs.contactType.stringInputs.value[0] |
Personal |
dateTimePicker که فقط تاریخ میپذیرد. |
dateInput |
event.commonEventObject.formInputs.contactBirthdate.dateInput.msSinceEpoch. |
1000425600000 |
پساز اینکه برنامه Chat دادهها را دریافت کرد، میتواند هریک از موارد زیر را انجام دهد:
- برای کارتهایی که منو چندانتخابی دارند، براساس آنچه کاربر در منو تایپ میکند، موارد را تکمیل یا پیشنهاد کنید.
- دادهها را به کارت دیگری منتقل کنید تا کاربر بتواند اطلاعاتش را مرور کند یا به بخش بعدی فرم برود.
- برای تأیید اینکه کاربر باموفقیت فرم را تکمیل کرده است، به کاربر پاسخ دهید.
پیشنهاد دادن موارد انتخاب
اگر کارتی حاوی منو چندانتخابی یا منو کرکرهای باشد که
موارد را از منبع داده خارجی تکمیل میکند،
برنامه Chat میتواند براساس آنچه
کاربران در منو تایپ میکنند، موارد پیشنهادی برگرداند. برای مثال، اگر کاربری برای منویی که شهرهای ایالات متحده را فهرست میکند شروع به تایپ کردن Atl کند، برنامه Chat شما میتواند قبلاز اینکه کاربر تایپ کردن را تمام کند، Atlanta را بهطور خودکار پیشنهاد دهد. برنامه Chat میتواند حداکثر ۱۰۰ مورد را پیشنهاد دهد.
برای پیشنهاد دادن و بهطور پویا پر کردن موارد در ورودی انتخاب، ابزارک SelectionInput در کارت باید تابعی را مشخص کند که منبع داده خارجی را پُرسمان میکند. برای منوهای چندانتخابی،
externalDataSource
فیلد را مشخص میکنید. برای منوهای کرکرهای،
remoteDataSource
فیلد را در
DataSourceConfig
شیء مشخص میکنید.
همچنین میتوانید تعداد نویسههایی را که کاربر قبلاز اینکه منو پیشنهادها را برگرداند تایپ میکند پیکربندی کنید. برای منوهای چندانتخابی، فیلد
multiSelectMinQueryLength را تنظیم کنید. برای منوهای کرکرهای، فیلد
min_characters_trigger را در DataSourceConfig تنظیم کنید.
برای برگرداندن موارد پیشنهادی، تابع باید کارهای زیر را انجام دهد:
- یک شیء رویداد را مدیریت کنید، که برنامه Chat وقتی کاربران در منو تایپ میکنند دریافت میکند.
- از شیء رویداد، مقداری را که کاربر تایپ میکند دریافت کنید، که در فیلد
event.commonEventObject.parameters["autocomplete_widget_query"]نشان داده میشود. - بااستفاده از مقدار ورودی کاربر، منبع داده را پُرسمان کنید تا یک یا چند
SelectionItemsبرای پیشنهاد به کاربر دریافت کنید. - با برگرداندن کنش
RenderActionsباmodifyCardشیء، موارد پیشنهادی را برگردانید.
نمونه کد زیر نشان میدهد که چگونه یک برنامه Chat
بهصورت پویا مواردی را در منو چندانتخابی در کارت پیشنهاد میدهد. وقتی کاربر در منو تایپ میکند، تابع یا نقطه پایانی که در فیلد externalDataSource ابزارک ارائه شده است از منبع داده خارجی پُرسمان میکند و مواردی را پیشنهاد میدهد که کاربر میتواند انتخاب کند.
Node.js
FUNCTION_URL را با نقطه پایانی HTTP که منبع داده خارجی را پُرسمان میکند
جایگزین کنید.
Python
FUNCTION_URL را با نقطه پایانی HTTP که منبع داده خارجی را پُرسمان میکند
جایگزین کنید.
جاوا
FUNCTION_URL را با نقطه پایانی HTTP که منبع داده خارجی را پُرسمان میکند
جایگزین کنید.
Apps Script
این مثال با برگرداندن JSON کارت، پیام کارت ارسال میکند. همچنین میتوانید از خدمات کارت Apps Script استفاده کنید.
انتقال دادهها به کارتی دیگر
پساز اینکه کاربر اطلاعاتی را از کارت ارسال کرد، ممکن است لازم باشد کارتهای دیگری را برای انجام هریک از موارد زیر برگردانید:
- با ایجاد بخشهای متمایز، به کاربران کمک کنید فرمهای طولانیتر را تکمیل کنند.
- به کاربران اجازه دهید اطلاعات کارت اولیه را پیشنمایش و تأیید کنند تا بتوانند پاسخهایشان را قبلاز ارسال کردن بررسی کنند.
- بخشهای باقیمانده فرم را بهصورت پویا تکمیل کنید. برای مثال، برای ترغیب کاربران به ایجاد قرار، برنامه Chat میتواند کارت اولیهای نمایش دهد که دلیل قرار را درخواست میکند، و سپس کارت دیگری را تکمیل کند که زمانهای دردسترس را براساس نوع قرار ارائه میدهد.
برای انتقال ورودی داده از کارت اولیه، میتوانید button
ابزاره را با
actionParameters
بسازید که حاوی name ابزاره و مقداری است که کاربر وارد میکند، همانطور که
در مثال زیر نشان داده شده است:
Node.js
FUNCTION_URL را با نقطه پایانی HTTP که کلیکهای دکمه را مدیریت میکند جایگزین کنید.
Python
FUNCTION_URL را با نقطه پایانی HTTP که کلیکهای دکمه را مدیریت میکند جایگزین کنید.
جاوا
FUNCTION_URL را با نقطه پایانی HTTP که کلیکهای دکمه را مدیریت میکند جایگزین کنید.
Apps Script
این مثال با برگرداندن JSON کارت، پیام کارت ارسال میکند. همچنین میتوانید از خدمات کارت Apps Script استفاده کنید.
وقتی کاربری روی دکمه کلیک میکند، برنامه Chat شما شیء رویدادی دریافت میکند که میتوانید از آن داده دریافت کنید.
پاسخ دادن به ارسال فرم
پساز دریافت دادهها از پیام کارت یا کادر گفتگو، برنامه Chat با تأیید دریافت یا برگرداندن خطا پاسخ میدهد.
در مثال زیر، برنامه Chat پیامکی ارسال میکند تا تأیید کند که فرم ارسالی از پیام کارت را باموفقیت دریافت کرده است.
Node.js
Python
جاوا
Apps Script
این مثال با برگرداندن JSON کارت، پیام کارت ارسال میکند. همچنین میتوانید از خدمات کارت Apps Script استفاده کنید.
برای پردازش و بستن کادر گفتگو،
RenderActions
شیئی برمیگردانید که مشخص میکند آیا میخواهید پیام تأیید ارسال کنید،
پیام یا کارت اصلی را بهروز کنید، یا فقط کادر گفتگو را ببندید. برای اطلاع از مراحل، به
بستن کادر گفتگو مراجعه کنید.
عیبیابی
این بخش مراحل عیبیابی را برای کدهای خطای خاص و رفتارهای زمان اجرا هنگام تعامل با چارگوشهای گفتگو در Chat ارائه میدهد.
تعاملهای کادر گفتگو خطای «خطای نامشخص که برافزا را فرا میخواند» را برمیگرداند
هنگام تعامل با یک چارگوش گفتگو، اگر گزارشهای خطا با پیام «خطای نامشخصی هنگام فراخوانی برافزا رخ داد.» و کد ۱۳ را مشاهده کردید، معمولاً نشاندهنده خطای داخلی یا این است که نقطه پایانی HTTP برنامه Chat نتوانسته است درخواست را پردازش کند یا پاسخ معتبری برگرداند.
برای عیبیابی کردن این خطا:
- گزارشهای نقطه پایانی HTTP خود را ازنظر وجود هرگونه استثنا یا خرابی مدیریتنشده بررسی کنید.
- تأیید کنید که نقطه پایانی شما ظرف ۳۰ ثانیه به درخواستها پاسخ میدهد. اگر اجرای نقطه پایانی بیشتر از ۳۰ ثانیه طول بکشد، Chat نمیتواند پاسخ را پردازش کند و تعامل ناموفق خواهد بود. برای جزئیات، به محدودیتهای نرخ و روالهای مطلوب مراجعه کنید.
- مطمئن شوید که نقطه پایانیتان پاسخ معتبری برمیگرداند. برای ارسالهای کادر گفتگو،
نقطه پایانی باید
RenderActionsهدف را در قالب JSON صحیح برگرداند. اگر پاسخ قالب نادرستی داشته باشد یا فیلدهای الزامی را نداشته باشد، تعامل با کادر گفتگو ممکن است ناموفق باشد.
وقتی برنامه یا کارت Google Chat خطایی برمیگرداند، میانای Chat پیامی را نشان میدهد که میگوید «مشکلی پیش آمد». یا «نمیتوانیم درخواستتان را پردازش کنیم.» گاهیاوقات «میانای کاربری Chat» هیچ پیام خطایی نمایش نمیدهد، اما برنامه Chat یا کارت نتیجه غیرمنتظرهای تولید میکند؛ برای مثال، ممکن است پیام کارت ظاهر نشود.
اگرچه ممکن است پیام خطا در واسط کاربر Chat نمایش داده نشود، پیامهای خطای توصیفی و دادههای گزارش برای کمک به شما در رفع خطاها وقتی گزارش خطا برای برنامههای Chat روشن باشد دردسترس است. برای دریافت راهنمایی درباره مشاهده، اشکالزدایی، و رفع خطاها، عیبیابی و رفع خطاهای Google Chat را ببینید.
موضوعات مرتبط
- مشاهده نمونه «مدیر مخاطبین»، که برنامه Chat است و از کاربران میخواهد فرم مخاطبین را از پیامهای کارت و کادرهای گفتگو تکمیل کنند.
- باز کردن کادرهای گفتگوی تعاملی
برنامههای گپی که برافزا نیستند: خواندن دادههای فرم واردشده توسط کاربران در کارتها
اسناد زیر برای برنامههای Chat که برافزاهای Google Workspace نیستند اعمال میشود. برای انتقال برنامه Chat که برافزا نیست، تبدیل برنامه Google Chat به برافزای Google Workspace را ببینید.
ساختن فرم بااستفاده از کارتها
برای نمونهای از برنامه Chat که برافزایی نیست و از فرم مخاطب با ورودی نوشتار، انتخابگر تاریخ و زمان، و ورودی انتخاب استفاده میکند، کد زیر را ببینید:
Node.js
Python
جاوا
Apps Script
دریافت داده از ابزارکهای تعاملی
هرگاه کاربران روی دکمهای کلیک کنند، برنامههای Chat که برافزا نیستند رویداد تعاملی دریافت میکنند که به مکان دکمه بستگی دارد:
اگر دکمه در پیام یا چارگوش گفتگویی باشد، برنامههای Chat که برافزا نیستند رویداد تعاملی
CARD_CLICKEDدریافت میکنند که حاوی اطلاعاتی درباره تعامل است. پایهبار رویدادهای تعاملCARD_CLICKEDحاویcommon.formInputsشیء (event.common.formInputs) با هر مقداری است که کاربر وارد میکند.میتوانید مقادیر را از شیء
common.formInputs.WIDGET_NAMEبازیابی کنید، که در آن WIDGET_NAME فیلدnameاست که برای ابزاره مشخص کردهاید. مقادیر بهعنوان نوع داده خاصی برای ابزارک برگردانده میشوند (بهصورت شیءInputsنشان داده میشوند).در زیر بخشی از رویداد تعامل
CARD_CLICKEDنشان داده شده است که در آن کاربر برای هر ابزارک مقادیری وارد کرده است:HTTP
{ "type": "CARD_CLICKED", "common": { "formInputs": { "contactName": { "stringInputs": { "value": ["Kai 0"] }}, "contactBirthdate": { "dateInput": { "msSinceEpoch": 1000425600000 }}, "contactType": { "stringInputs": { "value": ["Personal"] }} }} }Apps Script
{ "type": "CARD_CLICKED", "common": { "formInputs": { "contactName": { "": { "stringInputs": { "value": ["Kai 0"] }}}, "contactBirthdate": { "": { "dateInput": { "msSinceEpoch": 1000425600000 }}}, "contactType": { "": { "stringInputs": { "value": ["Personal"] }}} }} }اگر دکمه در صفحه اصلی باشد، برنامههای Chat که برافزا نیستند
SUBMIT_FORMرویداد تعاملی دریافت میکنند. بار تعامل رویداد حاویcommonEventObject.formInputsشیء (event.commonEventObject.formInputs) با هر مقداری است که کاربر وارد میکند.میتوانید مقادیر را از شیء
commonEventObject.formInputs.WIDGET_NAMEبازیابی کنید، که در آن WIDGET_NAME فیلدnameاست که برای ابزاره مشخص کردهاید. مقادیر بهعنوان نوع داده خاصی برای ابزارک برگردانده میشوند (بهصورت شیءInputsنشان داده میشوند).در زیر بخشی از رویداد تعامل
SUBMIT_FORMنشان داده شده است که در آن کاربر برای هر ابزارک مقادیری وارد کرده است:HTTP
{ "type": "SUBMIT_FORM", "commonEventObject": { "formInputs": { "contactName": { "stringInputs": { "value": ["Kai 0"] }}, "contactBirthdate": { "dateInput": { "msSinceEpoch": 1000425600000 }}, "contactType": { "stringInputs": { "value": ["Personal"] }} }} }Apps Script
{ "type": "SUBMIT_FORM", "commonEventObject": { "formInputs": { "contactName": { "": { "stringInputs": { "value": ["Kai 0"] }}}, "contactBirthdate": { "": { "dateInput": { "msSinceEpoch": 1000425600000 }}}, "contactType": { "": { "stringInputs": { "value": ["Personal"] }}} }} }
برای دریافت دادهها، برنامه Chat که برافزا نیست رویداد تعامل را مدیریت میکند تا مقادیر واردشده توسط کاربران در ابزارکها را دریافت کند. جدول زیر نحوه دریافت مقدار برای ابزارک ورودی فرم دادهشده را نشان میدهد. برای هر ابزارک، جدول نوع دادهای را که ابزارک میپذیرد، محل ذخیره مقدار در رویداد تعامل، و مقدار نمونه را نشان میدهد.
| ابزاره ورودی فرم | نوع دادههای ورودی | مقدار ورودی از رویداد تعامل | مقدار نمونه |
|---|---|---|---|
textInput |
stringInputs |
event.common.formInputs.contactName.stringInputs.value[0] |
Kai O |
selectionInput |
stringInputs |
برای دریافت اولین یا تنها مقدار، event.common.formInputs.contactType.stringInputs.value[0] |
Personal |
dateTimePicker که فقط تاریخ میپذیرد. |
dateInput |
event.common.formInputs.contactBirthdate.dateInput.msSinceEpoch. |
1000425600000 |
انتقال دادهها به کارتی دیگر
برای انتقال ورودی داده از کارت اولیه در برنامه
«گپ» که برافزا نیست،
ابزاره button را با
actionParameters
بسازید که حاوی name ابزاره و مقدار ورودی کاربر باشد، همانطور که
در مثال زیر نشان داده شده است:
Node.js
Python
جاوا
Apps Script
وقتی کاربر روی دکمه کلیک میکند، برنامه Chat که
برافزا نیست
یک رویداد تعامل CARD_CLICKED دریافت میکند که از آن میتوانید
داده دریافت کنید.
پاسخ دادن به ارسال فرم
در مثال زیر، برنامه Chat که برافزا نیست پیامکی ارسال میکند تا تأیید کند که فرم ارسالشده از کادر گفتگو یا پیام کارت را باموفقیت دریافت کرده است:
Node.js
Python
جاوا
Apps Script
برای پردازش و بستن کادر گفتگویی در برنامه Chat که
برافزا نیست،
شیء
ActionResponse
را برگردانید که مشخص میکند آیا میخواهید پیام تأییدی ارسال کنید،
پیام یا کارت اصلی را بهروزرسانی کنید، یا فقط کادر گفتگو را ببندید. برای اطلاع از مراحل، به
بستن کادر گفتگو مراجعه کنید.