Modelo de Mensagem
Para usar recursos como o modo sem interface do usuário e delegar, é necessário entender mensagens do usuário e da habilidade. Tudo o que é recebido ou enviado do Oracle Chat Server é representado como uma mensagem que é enviada do usuário à habilidade ou da habilidade ao usuário.
Ação
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de ação | string | Sim |
label |
O texto descritivo do label da ação. | string | Pelo menos um label ou imageUrl deve estar presente.
|
imageUrl |
A imagem da ação | string | Pelo menos um label ou imageUrl deve estar presente.
|
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | JSONObject | No |
PostbackAction
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de ação | "postback" |
Sim |
postback |
O postback retornado quando o usuário seleciona uma ação. | Uma string ou JSONObject | Sim |
{
"type": "postback",
"label": "Large Pizza",
"imageUrl": "https://example.com/images/gallery/locations/11.jpg",
"postback": {
"state": "askSize",
"action": "getCrust"
}
}
CallAction
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de ação | "ligar" | Sim |
phoneNumber |
O número de telefone a ser chamado | string | Sim |
{
"type": "call",
"label": "Call Support",
"imageUrl": "http://example.com.ar/files/2016/05/cuidado.jpg",
"phoneNumber": "18005555555"
}
urlAction
Solicita que o cliente abra um site em uma nova guia ou em um browser no aplicativo.
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de ação | "ligar" | Sim |
URL |
O URL do site que é exibido. | string | Sim |
{
"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
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de ação | "submitForm" |
Sim |
postback |
O payload de postback, que pode incluir uma propriedade de ação para acionar a navegação. O valor dessa propriedade deve ser definido em FormSubmissionMessagePayload . <<XREF>>
|
JSONObject | No |
{
"type": "submitForm",
"label": "Submit",
"postback": {
"system.botId": "6803DE12-DAA9-4182-BD54-3B4D431554F4",
"system.flow": "ExpenseFlow",
"system.state": "editFormMapVar"
}
}
Anexo
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de anexo | string ( valores válidos: audio , file , image , video )
|
Sim |
url |
O URL de download do anexo | string | Sim |
title |
O nome do arquivo carregado | string | No |
{
"type": "image",
"url": "https://www.oracle.com/us/assets/hp07-oow17-promo-02-3737849.jpg"
}
Cartão
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
title |
O título do cartão, exibido como a primeira linha no cartão. | string | Sim |
description |
A descrição do cartão | string | No |
imageUrl |
O URL da imagem que é exibida. | string | No |
URL |
O URL do site que é aberto por um toque. | string | No |
actions |
Um array de ações relacionadas ao texto | array | No |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | JSONObject | No |
Localização
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
title |
O título da localização | string | No |
URL |
O URL para exibir a localização em um mapa | string | No |
latitude |
O valor da longitude da coordenada de GPS | duplo | Sim |
longitude |
O valor da latitude da coordenada de GPS | duplo | Sim |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | JSONObject | No |
{
"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
}
Cabeçalho
Table
ou Table-Form
.
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
label |
O rótulo do cabeçalho | String | Sim |
alignment |
O posicionamento do rótulo dentro da célula | "left" , "right" , "center" |
Sim |
width |
A porcentagem sugerida da largura da tabela que deve ser fornecida ao cabeçalho. | No | |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | JSONObject | No |
Campo
Table
, Form
e Table-Form
, fornecidos como par chave/valor.
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
displayType |
O tipo de campo | "text" , "link" |
Sim |
label |
A chave do campo | String | Sim |
value |
O valor do campo | String | No |
linkLabel |
Um label curto para o valor do link se displayType for link .
|
String | No |
alignment |
O posicionamento do rótulo dentro de sua célula | "left" , "right" , "center" |
No |
width |
A porcentagem sugerida da largura da tabela que deve ser fornecida ao campo | No | |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | JSONObject | No |
selectFieldOption
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
label |
O texto de exibição | string | Sim |
value |
O valor da opção | Tipos de dados primitivos (string, número, booliano etc.) | No |
channelExtensions |
As propriedades de extensão específicas do canal associadas à opção de campo. | JSONObject | No |
Campo Somente Leitura
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
value |
O valor do campo | string | Sim |
width |
A porcentagem sugerida da largura total disponível que o campo deve ocupar em um layout de tabela. | número | No |
alignment |
O alinhamento do valor em uma coluna de tabela. O alinhamento padrão é right .
|
"left" , "center" e "right" |
No |
Campo Texto
O campo de texto herda todas as propriedades do campo somente leitura. O valor displayType
desse campo é "text"
.
Campo de Link
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
displayType |
O tipo de campo | "link" |
Sim |
linkLabel |
O rótulo usado para o hiperlink | string | No |
imageUrl |
O URL da imagem que abre um link quando clicado. | string | No |
Campo de Mídia
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
displayType |
O tipo de campo | "media" | Sim |
mediaType |
O tipo de mídia do campo | "video" , "audio" , "image" |
Sim |
Campo Ação
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
displayType |
O tipo de campo | "action" |
Sim |
action |
A ação que deve ser executada quando o usuário clica no botão de ação. | Ação | Sim |
Campo editável
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
id |
O ID do campo | string | Sim |
placeholder |
Uma descrição da entrada esperada do usuário. Este texto é exibido quando o usuário ainda não fez uma seleção ou inseriu um valor. | string | No |
required |
Se esta entrada é necessária para enviar o formulário | booleano | No |
clientErrorMessage |
A mensagem de erro no nível do campo exibida abaixo do campo quando ocorre um erro de validação no lado do cliente. Se não for fornecido, o SDK assumirá como padrão editFieldErrorMessage .
|
string | No |
serverErrorMessage |
A mensagem de erro no nível do campo exibida abaixo do campo quando ocorre um erro de validação no lado do servidor. Essa mensagem de erro deve ser incluída no payload enviado pela habilidade. | string | No |
autoSubmit |
Quando definido como true , o formulário será parcialmente enviado quando o usuário tiver informado um valor para o campo.
|
No |
Seleção Única
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
displayType |
O tipo de campo | "singleSelect" |
Sim |
defaultValue |
A seleção default | Tipos de dados primitivos (string, número, booliano etc.) | No |
options |
Uma matriz de opções apresentadas ao usuário. | Um array selectFieldOption
|
Sim |
layoutStyle |
O estilo de layout usado para renderizar as opções de seleção única. O layout padrão é list .
|
"list" , "radioGroup" |
No |
Multisseleção
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
displayType |
O tipo de campo | "multiSelect" |
Sim |
defaultValue |
A seleção default | Uma matriz<objeto> de tipos de dados primitivos (uma string, um número, um valor booliano etc.) | Número |
options |
Uma matriz de opções apresentadas ao usuário | Um array selectFieldOption
|
Sim |
layoutStyle |
O estilo de layout usado para renderizar as opções. | "list" , "checkboxes" |
Número |
DatePicker
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
displayType |
O tipo de campo | "datePicker" |
Sim |
defaultValue |
O valor inicial deste campo. O formato deve ser AAAA-MM-DD. | string | Número |
minDate |
A data mínima ou mais antiga permitida. O formato deve ser AAAA-MM-DD. | string | No |
maxDate |
A data máxima ou mais recente permitida. O formato deve ser AAAA-MM-DD. | string | No |
TimePicker
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
displayType |
O tipo de campo | "timePicker" |
Sim |
defaultValue |
O valor inicial para este campo, inserido como HH:mm no formato de 24 horas. | string | No |
minTime |
O tempo mínimo, ou mais antigo, permitido, inserido como HH:mm no formato de 24 horas. Por exemplo, 00:00. | string | No |
maxTime |
O tempo máximo, ou mais recente, permitido, inserido como HH:mm, no formato de 24 horas. Por exemplo, 13:00. | string | No |
Alternar
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
displayType |
O tipo de campo | "toggle" |
Sim |
defaultValue |
O valor selecionado inicial. Se quiser que a alternância seja ativada inicialmente, defina o valor padrão para o mesmo valor que valueOn .
|
string | No |
valueOff |
O valor quando a alternância está desativada | string | Sim |
valueOn |
O valor quando a alternância está ativada | string | Sim |
labelOff |
O label do valor "off" | string | No |
labelOn |
O label do valor "on" | string | No |
TextInput
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
displayType |
O tipo de campo | "textInput" |
Sim |
defaultValue |
O valor inicial deste campo | string | nenhum |
validationRegularExpression |
Uma expressão regular indicando o formato necessário para esta entrada de texto | string | nenhum |
multiline |
O flag que determina se renderizar várias linhas de entrada | booleano | nenhum |
minLength |
O tamanho mínimo da entrada que o usuário deve fornecer | inteiro | nenhum |
maxLength |
O número máximo de caracteres permitido no campo de entrada de texto | inteiro | nenhum |
inputStyle |
O estilo de entrada usado pelo cliente. Os valores permitidos são: "text" , "tel" , "url" ,"email", e "password" .
|
string | nenhum |
NumberInput
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
displayType |
O tipo de campo | "numberInput" |
Sim |
defaultValue |
O valor inicial deste campo | Inteiro | No |
minValue |
Um menor número permitido | Inteiro | No |
maxValue |
O maior número permitido. | Inteiro | No |
Linha
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
fields |
Uma matriz de campos | Array <field> | Sim |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | JSONObject | No |
Form
Table-Form
para formulários aninhados de uma linha de tabela.
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
title |
O título do form | String | No |
field |
Uma matriz de campos | Array <field> | Sim |
actions |
Um array de ações | Array <BotsAction> | No |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | JSONObject | Número |
PaginationInfo
Representa as informações de paginação dos resultados nos objetos Table
, Form
e Table-Form
.
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
totalCount |
A contagem total de resultados | número | Sim |
rangeSize |
O tamanho do intervalo dos resultados por página | número | Sim |
status |
A mensagem de status de paginação | string | Sim |
currentRangeSize |
O tamanho da faixa de resultados atual | número | Sim |
rangeStart |
O deslocamento inicial do intervalo atual de resultados | número | Sim |
nextRangeSize |
O tamanho do próximo intervalo de resultados | número | Sim |
hasPrevious |
Indica se há um conjunto de resultados anterior | booleano | Sim |
hasNext |
Indica se há um próximo conjunto de resultados | booleano | Sim |
Mensagem da Conversa
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
messagePayload |
O payload da mensagem | Mensagem | Sim |
userId |
O ID do Usuário | string | Sim |
{
"messagePayload": {
"text": "show menu",
"type": "text"
},
"userId": "guest"
}
Mensagem do Usuário
Representa uma mensagem enviada do usuário à habilidade.
Mensagem de Texto do Usuário
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "text" |
Sim |
text |
O texto da mensagem | string | Sim |
{
"messagePayload": {
"text": "Order Pizza",
"type": "text"
},
"userId": "guest"
}
Mensagem de Postback do Usuário
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "postback" |
Sim |
text |
O texto de postback | string | No |
postback |
O postback da ação selecionada | Uma string ou JSONObject | Sim |
{
"messagePayload": {
"postback": {
"variables": {
"pizza": "Small"
},
"system.botId": "69BBBBB-35BB-4BB-82BB-BBBB88B21",
"system.state": "orderPizza"
},
"text": "Small",
"type": "postback"
},
"userId": "guest"
}
Mensagem de Anexo do Usuário
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "attachment" |
Sim |
attachment |
Os metadados do anexo | Anexo | Sim |
{
"messagePayload": {
"attachment": {
"type": "image",
"url": "http://oda-instance.com/attachment/v1/attachments/d43fd051-02cf-4c62-a422-313979eb9d55"
},
"type": "attachment"
},
"userId": "guest"
}
Mensagem de Envio de Formulário do Usuário
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem. | "formSubmission" |
Sim |
submittedFields |
Pares de chave/valor dos valores de campo enviados. A chave é o nome (ID) do campo. | JSONObject | Sim |
postback |
O payload de postback, que pode incluir uma propriedade de ação para acionar a navegação. O valor desta propriedade deve ser obtido de SubmitFormAction. | JSONObject | No |
partialSubmitField |
O ID do campo que aciona um envio parcial do formulário. Os campos com a propriedade autoSubmit definida como verdadeira podem acionar um envio parcial de formulário. | String | 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"
}
Mensagem de Localização do Usuário
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "location" |
Sim |
location |
As informações de localização do usuário | Localização | Sim |
{
"messagePayload": {
"location": {
"latitude": 45.9285271,
"longitude": 132.6101925
},
"type": "location"
},
"userId": "guest"
}
Mensagem da Habilidade
Representa a mensagem enviada da habilidade para o usuário.
Mensagem de Texto da Habilidade
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "text" |
Sim |
text |
O texto da mensagem | string | Sim |
headerText |
O texto do cabeçalho dos cartões | string | No |
footerText |
O texto do rodapé dos cartões | string | No |
actions |
Um array de ações relacionadas ao texto. | array | No |
globalActions |
Um array de ações globais relacionadas ao texto | array | No |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | 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",
"msgId": "message_id",
"source": "BOT"
}
Mensagem de Localização
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "location" |
Sim |
location |
O local | location |
No |
headerText |
O texto do cabeçalho da mensagem | string | No |
footerText |
O texto do rodapé da mensagem | string | No |
actions |
Um array de ações relacionadas ao texto | Array<Ação> | No |
globalActions |
Um array de ações globais relacionadas ao texto | Array<Ação> | No |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | JSONObject | No |
Mensagem de Anexo de Habilidade
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "attachment" |
Sim |
attachment |
O anexo enviado | Anexo | Sim |
headerText |
O texto do cabeçalho do cartão | string | No |
footerText |
o texto do rodapé do cartão | string | No |
actions |
Um array de ações relacionadas ao texto. | array | No |
globalActions |
Um array de ações globais relacionadas ao texto | array | No |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | JSONObject | No |
Mensagem do Cartão de Habilidade
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "card" |
Sim |
layout |
Se as mensagens serão exibidas horizontal ou verticalmente. | string (valor: horizontal , vertical )
|
Sim |
cards |
Um array de cartões a serem renderizados. | array | Sim |
headerText |
O texto do cabeçalho dos cartões | string | No |
actions |
Um array de ações relacionadas ao texto. | array | No |
globalActions |
Um array de ações globais relacionadas ao texto | array | No |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | 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",
"msgId": "message_id",
"source": "BOT"
}
Mensagem da Tabela de Habilidades
fields
que representa células individuais.
Este tipo de mensagem é usado para caixas de diálogo SQL.
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "table" |
Sim |
headings |
Uma matriz de cabeçalhos de tabela | Matriz<Cabeçalho> | Sim |
rows |
Uma matriz de linhas de tabela. Cada linha contém um array fields que representa as células da tabela.
|
Matriz<Linha> | Sim |
paginationInfo |
As informações de paginação dos resultados na tabela | PaginationInfo | No |
actions |
Um array de ações relacionadas à tabela | Array<Ação> | No |
globalActions |
Um array de ações globais | Array<Ação> | No |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | 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"
}
}
Mensagem do formulário de qualificação
fields
com pares de chave/valor que representam um campo.
Este tipo de mensagem é usado para caixas de diálogo SQL.
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "form" |
Sim |
forms |
Uma matriz de resultados do formulário. Cada resultado contém um array fields que representa os campos do formulário.
|
Matriz<Linha> | Sim |
formColumns |
O número de colunas em que os campos do formulário devem ser agrupados. | 1 2 | Sim |
paginationInfo |
As informações de paginação dos resultados no formulário | PaginationInfo | No |
actions |
Um array de ações relacionadas ao form | Array<Ação> | No |
globalActions |
Um array de ações globais | Array<Ação> | No |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | Um JSONObject | 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"
}
]
}
Tabela de Habilidades - Mensagem de Formulário
Table
e Form
. Ele representa uma mensagem que retorna os resultados de uma consulta na forma de uma tabela. Cada linha da tabela tem um formulário somente leitura além das informações da linha.
Este tipo de mensagem é usado para caixas de diálogo SQL.
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "tableForm" |
Sim |
headings |
Uma matriz de cabeçalhos de tabela | Matriz<Cabeçalho> | Sim |
rows |
Uma matriz de linhas de tabela. Cada linha contém uma matriz de campos que representam as células da tabela. | Matriz<Linha> | Sim |
forms |
Um array de resultados de formulário que correspondem a cada linha da tabela. Cada formulário contém um array fields que representa os campos do formulário.
|
Matriz<Form> | Sim |
formColumns |
O número de colunas em que os campos do formulário devem ser agrupados. | 1 2 | Sim |
paginationInfo |
Um array de ações globais relacionadas ao texto | Array<Ação> | No |
actions |
Um array de ações relacionadas ao form da tabela | Array<Ação> | No |
globalActions |
Um array de ações globais | Array<Ação> | No |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | 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"
}
Mensagem do Formulário de Edição de Qualificação
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem. Nesse caso, é "editForm" .
|
"editForm" |
Sim |
fields |
Uma lista de campos que podem incluir campos editáveis e somente leitura. | Array<Field> | Sim |
title |
Um título de representante para o formulário de edição | String | No |
formColumns |
O número de colunas nas quais os campos do formulário devem ser agrupados. | Inteiro (1)
O SDK suporta apenas uma coluna para a Release 23.06. |
No |
errorMessage |
Uma mensagem de erro no nível do formulário que é exibida quando o usuário enviou dados inválidos, mas o erro não pode ser vinculado a um campo individual. | String | No |
actions |
Uma matriz de ações relacionadas ao formulário de edição. Esse array deve incluir um SubmitFormAction Um erro é exibido na console do browser quando o SubmitFormAction não é incluído no array actions .
|
Array<Ação> | No |
globalActions |
Um array de ações globais | Array<Ação> | No |
channelExtensions |
Um conjunto de propriedades de extensão específicas do canal
O 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"
}
Mensagem Bruta da Habilidade
Nome | Descrição | Tipo | 0brigatório? |
---|---|---|---|
type |
O tipo de mensagem | "raw" |
Sim |
payload |
O payload específico do canal | JSONObject | Sim |
channelExtensions |
As propriedades de extensão específicas do canal associadas à mensagem | JSONObject | No |