Modelo de mensaje
Para utilizar funciones como el modo sin cabecera y el delegado, debe comprender tanto los mensajes de usuario como los de aptitud. Todo lo que se recibe o envía desde el servidor de chats de Oracle se representa como un mensaje, uno que se envía del usuario a la aptitud o de la aptitud al usuario.
Asociación
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de anexo | cadena (valores válidos: audio , file , image , video )
|
Sí |
url |
URL de descarga del anexo | Cadena | Sí |
title |
Nombre del archivo cargado | Cadena | No |
{
"type": "image",
"url": "https://www.oracle.com/us/assets/hp07-oow17-promo-02-3737849.jpg"
}
Ubicación
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
title |
Título de la ubicación | Cadena | No |
URL |
URL para mostrar la ubicación en un mapa | Cadena | No |
latitude |
Valor de longitud de las coordenadas GPS | doble | Sí |
longitude |
Valor de latitud de las coordenadas GPS | doble | Sí |
{
"title": "Oracle Headquarters",
"url": "https://www.google.com.au/maps/place/37°31'47.3%22N+122°15'57.6%22W",
"longitude": -122.265987,
"latitude": 37.529818
}
Acción
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de acción | Cadena | Sí |
label |
Texto de etiqueta descriptivo de la acción. | Cadena | Debe haber al menos un elemento label o imageUrl .
|
imageUrl |
Imagen para la acción | Cadena | Debe haber al menos un elemento label o imageUrl .
|
PostbackAction
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de acción | "postback" |
Sí |
postback |
Devolución que se obtiene cuando el usuario selecciona una acción. | Una cadena o JSONObject | Sí |
{
"type": "postback",
"label": "Large Pizza",
"imageUrl": "https://example.com/images/gallery/locations/11.jpg",
"postback": {
"state": "askSize",
"action": "getCrust"
}
}
CallAction
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de acción | "call" |
Sí |
phoneNumber |
Número de teléfono al que llamar | Cadena | Sí |
{
"type": "call",
"label": "Call Support",
"imageUrl": "http://example.com.ar/files/2016/05/cuidado.jpg",
"phoneNumber": "18005555555"
}
urlAction
Solicita al cliente que abra un sitio web en un nuevo separador o en un explorador de la aplicación.
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de acción | "llamar" | Sí |
URL |
URL del sitio web que se muestra. | Cadena | Sí |
{
"type": "url",
"label": "Open URL",
"imageUrl": "http://example.com.ar/files/2016/05/cuidado.jpg",
"url": "https://example.com/images/gallery/locations/11.jpg",
}
SubmitFormAction
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de acción | "submitForm" |
Sí |
postback |
La carga útil de devolución, que puede incluir una propiedad de acción para disparar la navegación. El valor de esta propiedad se debe establecer en formSubmissionPayload .
|
JSONObject | No |
{
"type": "submitForm",
"label": "Submit",
"postback": {
"system.botId": "6803DE12-DAA9-4182-BD54-3B4D431554F4",
"system.flow": "ExpenseFlow",
"system.state": "editFormMapVar"
}
}
Tarjeta
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
title |
Título de la tarjeta, que se muestra como la primera línea de la tarjeta. | Cadena | Sí |
description |
Descripción de la tarjeta | Cadena | No |
imageUrl |
URL de la imagen que se muestra. | Cadena | No |
URL |
URL del sitio web abierta con un toque. | Cadena | No |
actions |
Matriz de acciones relacionadas con el texto | matriz | No |
channelExtensions |
Las propiedades de extensión específicas del canal asociadas al mensaje | JSONObject | No |
Cabecera
Table
o Table-Form
.
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
label |
La etiqueta de cabecera | Cadena | Sí |
alignment |
Posicionamiento de la etiqueta dentro de la celda | "left" , "right" , "center" |
Sí |
width |
Porcentaje sugerido de ancho de tabla que se debe proporcionar al encabezado. | No | |
channelExtensions |
Las propiedades de extensión específicas del canal asociadas al mensaje | JSONObject | No |
Campo
Table
, Form
y Table-Form
, proporcionados como par clave-valor.
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
displayType |
Tipo de campo | "text" , "link" |
Sí |
label |
La clave de campo | Cadena | Sí |
value |
El valor del campo | Cadena | No |
linkLabel |
Una etiqueta corta para el valor de enlace si displayType es link .
|
Cadena | No |
alignment |
Posicionamiento de la etiqueta dentro de su celda | "left" , "right" , "center" |
No |
width |
Porcentaje sugerido del ancho de tabla que se debe proporcionar al campo | No | |
channelExtensions |
Las propiedades de extensión específicas del canal asociadas al mensaje | JSONObject | No |
selectFieldOption
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
label |
El texto mostrado | Cadena | Sí |
value |
Valor de la opción | Tipos de dato primitivos (cadena, número, booleano, etc.) | No |
channelExtensions |
Propiedades de extensión específicas del canal asociadas con la opción de campo. | JSONObject | No |
Campo Sólo Lectura
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
value |
El valor del campo | Cadena | Sí |
width |
Porcentaje sugerido del ancho total disponible que debe ocupar el campo en un diseño de tabla. | número | No |
alignment |
La alineación del valor dentro de una columna de tabla. La alineación por defecto es right .
|
"left" , "center" y "right" |
No |
En la versión 23.06 de Oracle Digital Assistant, los campos de solo lectura no se presentan en los formularios de entrada, incluso si se reciben en la carga útil del mensaje.
Campo de Texto
El campo de texto hereda todas las propiedades de campo de solo lectura. El valor displayType
para este campo es "text"
.
Campo de Enlace
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
displayType |
Tipo de campo | "link" |
Sí |
linkLabel |
Etiqueta utilizada para el hiperenlace | Cadena | No |
imageUrl |
URL de la imagen que abre un enlace al hacer clic. | Cadena | No |
Campo de medios
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
displayType |
Tipo de campo | "medio" | Sí |
mediaType |
Tipo de medios de campo | "video" , "audio" , "image" |
Sí |
Campo de acción
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
displayType |
Tipo de campo | "action" |
Sí |
action |
Acción que se debe realizar cuando el usuario hace clic en el botón de acción. | Acción | Sí |
Campo Editable
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
id |
ID de campo | Cadena | Sí |
placeholder |
Descripción de la entrada que se espera del usuario. Este texto se muestra cuando el usuario aún no ha realizado una selección o introducido un valor. | Cadena | No |
required |
Si esta entrada es necesaria para enviar el formulario | booleano | No |
clientErrorMessage |
Mensaje de error de nivel de campo que se muestra debajo del campo cuando se produce un error de validación del lado del cliente. Si no se proporciona, el SDK se define por defecto en editFieldErrorMessage .
|
Cadena | No |
serverErrorMessage |
Mensaje de error de nivel de campo que se muestra debajo del campo cuando se produce un error de validación del servidor. Este mensaje de error se debe incluir en la carga útil enviada por la aptitud. | Cadena | No |
autoSubmit |
Si se define en true , el formulario se envía parcialmente cuando el usuario ha introducido un valor para el campo.
|
No |
Selección Única
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
displayType |
Tipo de campo | "singleSelect" |
Sí |
defaultValue |
Selección por defecto | Tipos de dato primitivos (cadena, número, booleano, etc.) | No |
options |
Matriz de opciones presentadas al usuario. | Una Array<SelectFieldOption> |
Sí |
layoutStyle |
Estilo de diseño utilizado para representar las opciones de selección única. El diseño por defecto es list .
|
"list" , "radioGroup" |
No |
Selección Múltiple
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
displayType |
Tipo de campo | "multiSelect" |
Sí |
defaultValue |
Selección por defecto | Una matriz<objeto> de tipos de dato primitivos (una cadena, un número, un valor booleano, etc.) | No |
options |
Matriz de opciones presentadas al usuario | Array<SelectFieldOption> |
Sí |
layoutStyle |
Estilo de diseño utilizado para representar las opciones. | "list" , "checkboxes"
|
No |
DatePicker
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
displayType |
Tipo de campo | "datePicker" |
Sí |
defaultValue |
El valor inicial de este campo. El formato debe ser YYYY-MM-DD. | Cadena | No |
minDate |
La fecha mínima o más temprana permitida. El formato debe ser YYYY-MM-DD. | Cadena | No |
maxDate |
Fecha máxima o última permitida. El formato debe ser YYYY-MM-DD. | Cadena | No |
TimePicker
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
displayType |
Tipo de campo | "timePicker" |
Sí |
defaultValue |
El valor inicial de este campo, introducido como HH:mm en formato de 24 horas. | Cadena | No |
minTime |
El tiempo mínimo o más temprano permitido, introducido como HH:mm en formato de 24 horas. Por ejemplo, 00:00. | Cadena | No |
maxTime |
El tiempo máximo o el último permitido, introducido como HH:mm, en formato de 24 horas. Por ejemplo, 13:00. | Cadena | No |
Alternar
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
displayType |
Tipo de campo | "toggle" |
Sí |
defaultValue |
El valor seleccionado inicial. Si desea que el conmutador esté activado inicialmente, defina el valor por defecto en el mismo valor que valueOn .
|
Cadena | No |
valueOff |
El valor cuando el conmutador está desactivado | Cadena | Sí |
valueOn |
El valor cuando el conmutador está activado | Cadena | Sí |
labelOff |
Etiqueta para el valor "off" | Cadena | No |
labelOn |
Etiqueta para el valor "on" | Cadena | No |
TextInput
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
displayType |
Tipo de campo | "textInput" |
Sí |
defaultValue |
El valor inicial de este campo | Cadena | no |
validationRegularExpression |
Expresión regular que indica el formato necesario para esta entrada de texto | Cadena | no |
multiline |
Indicador que determina si se deben representar varias líneas de entrada | booleano | no |
minLength |
Longitud mínima de entrada que el usuario debe proporcionar | entero | no |
maxLength |
Número máximo de caracteres permitidos en el campo de entrada de texto | entero | no |
inputStyle |
Estilo de entrada utilizado por el cliente. Los valores permitidos son: "text" , "tel" , "url" ,"email", y "password" .
|
Cadena | no |
NumberInput
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
displayType |
Tipo de campo | "numberInput" |
Sí |
defaultValue |
El valor inicial de este campo | Entero | No |
minValue |
Un número mínimo permitido | Entero | No |
maxValue |
El mayor número permitido. | Entero | No |
Fila
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
fields |
Matriz de campos | <campo de matriz> | Sí |
channelExtensions |
Las propiedades de extensión específicas del canal asociadas al mensaje | JSONObject | No |
Formulario
Table-Form
para formas anidadas de una fila de tabla.
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
title |
El título del formulario | Cadena | No |
field |
Matriz de campos | <campo de matriz> | Sí |
actions |
Matriz de acciones | Matriz <BotsAction> | No |
channelExtensions |
Las propiedades de extensión específicas del canal asociadas al mensaje | JSONObject | No |
PaginationInfo
Representa la información de paginación de los resultados en los objetos Table
, Form
y Table-Form
.
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
totalCount |
Recuento total de resultados | número | Sí |
rangeSize |
El tamaño de rango de los resultados por página | número | Sí |
status |
El mensaje de estado de paginación | Cadena | Sí |
currentRangeSize |
El tamaño del rango de resultados actual | número | Sí |
rangeStart |
Desplazamiento inicial del intervalo de resultados actual | número | Sí |
nextRangeSize |
El tamaño del siguiente rango de resultados | número | Sí |
hasPrevious |
Indica si hay un juego de resultados anterior | booleano | Sí |
hasNext |
Indica si hay un siguiente juego de resultados | booleano | Sí |
Mensaje de Conversación
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
messagePayload |
Carga útil del mensaje | Mensaje | Sí |
userId |
ID de usuario | Cadena | Sí |
{
"messagePayload": {
"text": "show menu",
"type": "text"
},
"userId": "guest"
}
Mensaje de usuario
Representa un mensaje enviado del usuario a la aptitud.
Mensaje de texto de usuario
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de mensaje | "text" |
Sí |
text |
Texto del mensaje | Cadena | Sí |
{
"messagePayload": {
"text": "Order Pizza",
"type": "text"
},
"userId": "guest"
}
Mensaje de devolución del usuario
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de mensaje | "postback" |
Sí |
text |
Texto de la devolución | Cadena | No |
postback |
Devolución de la acción seleccionada | Una cadena o JSONObject | Sí |
{
"messagePayload": {
"postback": {
"variables": {
"pizza": "Small"
},
"system.botId": "69BBBBB-35BB-4BB-82BB-BBBB88B21",
"system.state": "orderPizza"
},
"text": "Small",
"type": "postback"
},
"userId": "guest"
}
Mensaje adjunto de usuario
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de mensaje | "attachment" |
Sí |
attachment |
Metadatos del anexo | Asociación | Sí |
{
"messagePayload": {
"attachment": {
"type": "image",
"url": "http://oda-instance.com/attachment/v1/attachments/d43fd051-02cf-4c62-a422-313979eb9d55"
},
"type": "attachment"
},
"userId": "guest"
}
Mensaje de la ubicación del usuario
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de mensaje | "location" |
Sí |
location |
Información de ubicación del usuario | Ubicación | Sí |
{
"messagePayload": {
"location": {
"latitude": 45.9285271,
"longitude": 132.6101925
},
"type": "location"
},
"userId": "guest"
}
Mensaje de envío de formulario de usuario
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de mensaje. | "formSubmission" |
Sí |
submittedFields |
Pares clave-valor de los valores de campo enviados. La clave es el nombre (ID) del campo. | JSONObject | Sí |
postback |
La carga útil de devolución, que puede incluir una propiedad de acción para disparar la navegación. El valor de esta propiedad se debe tomar de SubmitFormAction. | JSONObject | No |
partialSubmitField |
ID del campo que dispara un envío de formulario parcial. Los campos con la propiedad autoSubmit definida en true pueden disparar un envío de formulario parcial.
|
Cadena | No |
{
"messagePayload": {
"submittedFields": {
"Attendees": [
"Toff van Alphen"
],
"Type": "Public transport",
"Description": "expense",
"Subject": "Expense",
"Date": "2023-06-07",
"Time": "18:58",
"Amount": 6,
"TipIncluded": "true"
},
"partialSubmitField": "Attendees",
"type": "formSubmission"
},
"userId": "guest"
}
Mensaje de aptitud
Representa el mensaje enviado de la aptitud al usuario.
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de mensaje | Cadena | Sí |
Mensaje raw de aptitud
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de mensaje | "raw" |
Sí |
payload |
Carga útil específica del canal | JSONObject | Sí |
channelExtensions |
Las propiedades de extensión específicas del canal asociadas al mensaje | JSONObject | No |
Mensaje de texto de aptitud
Nombre | Descripción | Tipo | Obligatoria |
---|---|---|---|
type |
Tipo de mensaje | "text" |
Sí |
text |
Texto del mensaje | Cadena | Sí |
headerText |
Texto de cabecera para las tarjetas | Cadena | No |
footerText |
Texto del pie de página para las tarjetas | Cadena | No |
actions |
Matriz de acciones relacionadas con el texto. | matriz | No |
globalActions |
Matriz de acciones globales relacionadas con el texto. | matriz | No |
channelExtensions |
Propiedades de extensión específicas del canal asociadas al mensaje. "displayType" : "stars" identifica el componente de comentarios.
|
JSONObject | No |
{
"messagePayload": {
"type": "text",
"text": "What do you want to do?",
"actions": [
{
"type": "postback",
"label": "Order Pizza",
"postback": {
"state": "askAction",
"action": "orderPizza"
}
},
{
"type": "postback",
"label": "Cancel A Previous Order",
"postback": {
"state": "askAction",
"action": "cancelOrder"
}
}
]
],
"channelExtensions": {
"displayType":"stars"
}
},
"userId": "guest"
"userId": "guest",
"msgId": "message_id",
"source": "BOT"
}
Mensaje de anexo de aptitud
Nombre | Descripción | Tipo | Obligatoria |
---|---|---|---|
type |
Tipo de mensaje | "attachment" |
Sí |
attachment |
Anexo enviado | Asociación | Sí |
headerText |
Texto de cabecera de la tarjeta | Cadena | No |
footerText |
el texto del pie de página de la tarjeta | Cadena | No |
actions |
Matriz de acciones relacionadas con el texto. | matriz | No |
globalActions |
Matriz de acciones globales relacionadas con el texto. | matriz | No |
channelExtensions |
Las propiedades de extensión específicas del canal asociadas al mensaje | JSONObject | No |
Mensaje de tarjeta de conocimientos
Nombre | Descripción | Tipo | Obligatoria |
---|---|---|---|
type |
Tipo de mensaje | "card" |
Sí |
layout |
Si se va a mostrar los mensajes en sentido horizontal o vertical. | cadena (valor: horizontal , vertical )
|
Sí |
cards |
Matriz de tarjetas que se va a presentar. | matriz | Sí |
headerText |
Texto de cabecera de las tarjetas | Cadena | No |
actions |
Matriz de acciones relacionadas con el texto. | matriz | No |
globalActions |
Matriz de acciones globales relacionadas con el texto. | matriz | No |
channelExtensions |
Las propiedades de extensión específicas del canal asociadas al mensaje | JSONObject | No |
{
"messagePayload": {
"type": "card",
"layout": "horizontal",
"cards": [
{
"title": "Hawaiian Pizza",
"description": "Ham and pineapple on thin crust",
"actions": [
{
"type": "postback",
"label": "Order Small",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "hawaiian",
"pizzaCrust": "thin",
"pizzaSize": "small"
}
}
},
{
"type": "postback",
"label": "Order Large",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "hawaiian",
"pizzaCrust": "thin",
"pizzaSize": "large"
}
}
}
]
},
{
"title": "Cheese Pizza",
"description": "Cheese pizza (i.e. pizza with NO toppings) on thick crust",
"actions": [
{
"type": "postback",
"label": "Order Small",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "cheese",
"pizzaCrust": "thick",
"pizzaSize": "small"
}
}
},
{
"type": "postback",
"label": "Order Large",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "cheese",
"pizzaCrust": "thick",
"pizzaSize": "large"
}
}
}
]
}
],
"globalActions": [
{
"type": "call",
"label": "Call for Help",
"phoneNumber": "123456789"
}
]
},
"userId": "guest"
}
Mensaje de tabla de aptitudes
fields
que representa celdas individuales.
Este tipo de mensaje se utiliza para cuadros de diálogo SQL.
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de mensaje | "table" |
Sí |
headings |
Matriz de cabeceras de tabla | Matriz<Cabecera> | Sí |
rows |
Matriz de filas de tablas. Cada fila contiene una matriz fields que representa las celdas de la tabla.
|
Matriz<Fila> | Sí |
paginationInfo |
Información de paginación de los resultados de la tabla | PaginationInfo | No |
actions |
Matriz de acciones relacionadas con la tabla | Matriz<Acción> | No |
globalActions |
Matriz de acciones globales | Matriz<Acción> | No |
channelExtensions |
Las propiedades de extensión específicas del canal asociadas al mensaje | JSONObject | No |
{
"type":"table",
"headerText":"A-Team",
"headings":[
{
"width":20,
"label":"First Name",
"alignment":"left"
},
{
"width":20,
"label":"Last Name",
"alignment":"left"
},
{
"width":35,
"label":"Title",
"alignment":"left"
},
{
"width":25,
"label":"Phone",
"alignment":"right"
}
],
"rows":[
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Aaron"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Adams"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Demo Builder"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Bob"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Brown"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Multi-lingual Expert"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Charlie"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Chase"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Flow Builder"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"David"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Davidson"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Machine Learning Expert"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Eric"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Eastman Junior"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Docker Expert"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
}
],
"paginationInfo":{
"currentRangeSize":5,
"rangeStart":0,
"nextRangeSize":-3,
"hasPrevious":false,
"hasNext":false,
"totalCount":5,
"rangeSize":8,
"status":"Showing 1-5 of 5 items"
}
}
Mensaje de formulario de conocimientos
fields
con pares clave-valor que representan un campo.
Este tipo de mensaje se utiliza para cuadros de diálogo SQL.
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de mensaje | "form" |
Sí |
forms |
Matriz de resultados de formulario. Cada resultado contiene una matriz fields que representa los campos del formulario.
|
Matriz<Fila> | Sí |
formColumns |
Número de columnas en las que se deben agrupar los campos del formulario. | 1 2 | Sí |
paginationInfo |
Información de paginación de los resultados del formulario | PaginationInfo | No |
actions |
Matriz de acciones relacionadas con el formulario | Matriz<Acción> | No |
globalActions |
Matriz de acciones globales | Matriz<Acción> | No |
channelExtensions |
Las propiedades de extensión específicas del canal asociadas al mensaje | JSONbject | No |
{
"type":"form",
"headerText":"A-Team",
"forms":[
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Aaron"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Adams"
},
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Demo Builder"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/aaron-adams-4862752"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left"
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Bob"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Brown"
},
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Multi-lingual Expert"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Bobbrown"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Bob is a member of the cloud architects team which is specialized in enterprise mobility and cloud development. Bob has been directly involved with Oracle middleware since 2005 during which he held different roles in managing highly specialized teams."
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Charlie"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Chase"
},
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Flow Builder"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Charlie-chase-97a418"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Charlie is a member of the enterprise mobility team. Charlie has 20+ years experience with custom development. Charlie is an expert on mobile cloud services and development tools. He is the creator of productivity tools. His latest passion is building chatbots with a minimum amount of custom code."
}
]
}
],
"formColumns":2,
"paginationInfo":{
"currentRangeSize":3,
"rangeStart":0,
"nextRangeSize":2,
"hasPrevious":false,
"hasNext":true,
"totalCount":5,
"rangeSize":3,
"status":"Showing 1-3 of 5 items"
},
"globalActions":[
{
"postback":{
"variables":{},
"action":"system.showMore"
},
"label":"Show More",
"type":"postback"
}
]
}
Tabla de aptitudes - Mensaje de formulario
Table
y Form
. Representa un mensaje que devuelve los resultados de una consulta en forma de tabla. Cada fila de la tabla tiene un formulario de solo lectura además de la información de fila.
Este tipo de mensaje se utiliza para cuadros de diálogo SQL.
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de mensaje | "tableForm" |
Sí |
headings |
Matriz de cabeceras de tabla | Matriz<Cabecera> | Sí |
rows |
Matriz de filas de tablas. Cada fila contiene una matriz de campos que representan las celdas de la tabla. | Matriz<Fila> | Sí |
forms |
Matriz de resultados de formulario que se corresponden con cada fila de tabla. Cada formulario contiene una matriz fields que representa los campos del formulario.
|
Matriz<Formulario> | Sí |
formColumns |
Número de columnas en las que se deben agrupar los campos del formulario. | 1 2 | Sí |
paginationInfo |
Matriz de acciones globales relacionadas con el texto | Matriz<Acción> | No |
actions |
Matriz de acciones relacionadas con el formulario de tabla | Matriz<Acción> | No |
globalActions |
Matriz de acciones globales | Matriz<Acción> | No |
channelExtensions |
Las propiedades de extensión específicas del canal asociadas al mensaje | JSONObject | No |
{
"type":"tableForm",
"headerText":"A-Team",
"headings":[
{
"width":47,
"label":"First Name",
"alignment":"left"
},
{
"width":47,
"label":"Last Name",
"alignment":"left"
}
],
"rows":[
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Aaron"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Adams"
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Bob"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Brown"
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Charlie"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Chase"
}
]
}
],
"forms":[
{
"title":"View details Aaron Adams",
"fields":[
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Demo Builder"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Aaron-adams-4862572"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left"
}
]
},
{
"title":"View details Bob Brown",
"fields":[
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Multi-lingual Expert"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Bobbrown"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Bob is a member of the cloud architects team which is specialized in enterprise mobility and cloud development. Bob has been directly involved with Oracle middleware since 2005 during which he held different roles in managing highly specialized teams."
}
]
},
{
"title":"View details Charlie Chase",
"fields":[
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Flow Builder Fanatic"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Charlie-chase-97a418"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Charlie is a member of the enterprise mobility team. Charlie has 20+ years experience with custom development. Charlie is an expert on mobile cloud services and development tools. He is the creator of productivity tools. His latest passion is building chatbots with a minimum amount of custom code."
}
]
}
],
"formColumns":2,
"paginationInfo":{
"currentRangeSize":3,
"rangeStart":0,
"nextRangeSize":2,
"hasPrevious":false,
"hasNext":true,
"totalCount":5,
"rangeSize":3,
"status":"Showing 1-3 of 5 items"
},
"actions":[
{
"postback":{
"variables":{
},
"action":"system.showMore"
},
"label":"Show More",
"type":"postback"
}
],
"footerText":"Tap on a row to see personal details"
}
Mensaje de formulario de edición de aptitud
Nombre | Descripción | Tipo | ¿Obligatoria? |
---|---|---|---|
type |
Tipo de mensaje. En este caso, es "editForm" .
|
"editForm" |
Sí |
fields |
Lista de campos que pueden incluir campos editables y de solo lectura. | Campo<de matriz> | Sí |
title |
Título de representante del formulario de edición | Cadena | No |
formColumns |
Número de columnas en las que se deben agrupar los campos del formulario. | Integer (1)
El SDK solo soporta una columna para la versión 23.06. |
No |
errorMessage |
Mensaje de error de nivel de formulario que se muestra cuando el usuario ha enviado datos no válidos pero el error no se puede enlazar a un campo individual. | Cadena | No |
actions |
Matriz de acciones relacionadas con el formulario de edición. Esta matriz debe incluir un SubmitFormAction . Se muestra un error en la consola del explorador cuando SubmitFormAction no está incluido en la matriz actions .
|
Matriz<Acción> | No |
globalActions |
Matriz de acciones globales | Matriz<Acción> | No |
channelExtensions |
Juego de propiedades de extensión específicas del canal
El objeto |
JSONObject | No |
{
"messagePayload": {
"headerText": "Create Expense",
"type": "editForm",
"title": "Fill in the below form",
"fields": [
{
"displayType": "textInput",
"serverErrorMessage": "Invalid Text Input",
"defaultValue": "Expense",
"minLength": 5,
"id": "Subject",
"label": "Subject",
"placeholder": "Enter subject of the expense",
"clientErrorMessage": "Subject is required and must be between 5 and 15 characters",
"maxLength": 15,
"required": true
},
{
"displayType": "textInput",
"defaultValue": "expense",
"multiLine": true,
"id": "Description",
"label": "Description",
"placeholder": "What is expense justification",
"clientErrorMessage": "Description is required",
"required": true
},
{
"displayType": "datePicker",
"defaultValue": "2023-06-07",
"maxDate": "2023-06-22",
"id": "Date",
"label": "Expense Date",
"placeholder": "Pick a date in the past",
"clientErrorMessage": "Expense date is required and must be in the past.",
"required": true
},
{
"displayType": "timePicker",
"defaultValue": "18:58",
"id": "Time",
"label": "Expense Time",
"placeholder": "What time was the expense",
"clientErrorMessage": "Time is required. Please fill a value",
"required": true
},
{
"displayType": "numberInput",
"minValue": 5,
"defaultValue": 6,
"maxValue": 500,
"id": "Amount",
"label": "Amount",
"placeholder": "Enter expense amount",
"clientErrorMessage": "Amount is required and must be between 5 and 500.",
"required": true
},
{
"autoSubmit": true,
"displayType": "toggle",
"defaultValue": "true",
"labelOn": "Yes",
"id": "TipIncluded",
"label": "Tip Included?",
"valueOff": "false",
"labelOff": "No",
"valueOn": "true"
},
{
"displayType": "singleSelect",
"serverErrorMessage": "Invalid Selection",
"defaultValue": "Public transport",
"options": [
{
"label": "Public transport",
"value": "Public transport"
},
{
"label": "Flight",
"value": "Flight"
}
],
"layoutStyle": "list",
"id": "Type",
"label": "Expense Type",
"placeholder": "Select expense type",
"clientErrorMessage": "Expense type is required",
"required": true
},
{
"displayType": "multiSelect",
"defaultValue": [
"Toff van Alphen"
],
"options": [
{
"label": "Toff van Alphen",
"value": "Toff van Alphen"
},
{
"label": "Roger Federer",
"value": "Roger Federer"
}
],
"layoutStyle": "checkboxes",
"id": "Attendees",
"label": "Attendees",
"placeholder": "Select attendees",
"clientErrorMessage": "Please select atleast one attendee",
"required": true
}
],
"formColumns": 1,
"actions": [
{
"postback": {
"system.botId": "6803DE12-DAA9-4182-BD54-3B4D431554F4",
"system.flow": "ExpenseFlow",
"system.state": "editFormMapVar"
},
"label": "Submit",
"type": "submitForm"
}
],
"channelExtensions": {
"replaceMessage": "True"
}
},
"source": "BOT",
"userId": "guest"
}