Especificações das mensagens do Chatlayer
Conheça como é o código das mensagens do Chatlayer para que você possa usá-lo em suas chamadas de API ou em suas transferências.
Chatlayer.ai suporta diferentes tipos de mensagens de chat, cada uma com sua própria estrutura de objeto. Mensagens de chat podem ser enviadas:
Na resposta do plugin da API
Do seu webhook para o Chatlayer.ai
Cada mensagem tem dois campos obrigatórios:
type: o tipo da mensagem (carousel, buttons, list, media, text, …)
config: a configuração da mensagem
Texto
Uma mensagem de texto inclui uma simples mensagem de texto do bot.
Formato da requisição:
{
"senderId": "a7355930-fa92-11e7-8308-2f056e75d1ee",
"message": {
"text": "Hi, I'm a chatbot"
},
"messageCounter": 1,
"verifyToken": "8wMsLZkdDPT64nqh"
}
Propriedade
Valor
Descrição
text
string
A mensagem de teste do usuário.
Modelo de Botão
Um modelo de botão inclui uma simples mensagem de texto do bot e um array de objetos botão.
Formato da requisição:
{
"senderId": "a7355930-fa92-11e7-8308-2f056e75d1ee",
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "button",
"text": "Hello, in which language can I help you?",
"buttons": [
{
"type": "postback",
"title": "Nederlands",
"payload": "437a034cde170b50de1b6a87d1cba104e39b1f6e"
},
{
"type": "postback",
"title": "English",
"payload": "a6a318dd6afe997f282b3c7472e038a2e0f4046a"
},
]
}
}
},
"messageCounter": 1,
"verifyToken": "8wMsLZkdDPT64nqh"
}
Objeto de mensagem para modelo de botão:
Propriedade
Valor
Descrição
attachment
object
O objeto attachment.
Objeto de attachment:
Propriedade
Valor
Descrição
type
string
O tipo de attachment (template)
payload
object
O objeto payload do attachment. A estrutura do objeto depende do tipo de attachment
Objeto payload do attachment:
Propriedade
Valor
Descrição
template_type
string
O tipo de template (button)
text
string (opcional)
O texto acima dos botões (apenas para o tipo de template button)
buttons
array
Um array de objetos botão
Objeto botão:
Propriedade
Valor
Descrição
type
string
O tipo do botão (web_url - postback - phone_number - element_share)
title
string
A legenda do botão
payload
string (conterá o número de telefone quando o tipo for phone_number) - opcional
O payload do botão. Apenas para botões do tipo postback. Isto é um Identificador opaco por favor não tente alterar ou extrair significado dele.
url
string - opcional
A url do botão. Apenas para botões do tipo url
Respostas rápidas
Uma mensagem de resposta rápida inclui uma simples mensagem de texto do bot e um array de objetos de resposta rápida.
Formato da requisição:
{
"senderId": "a7355930-fa92-11e7-8308-2f056e75d1ee",
"message": {
"text": "Hello, in which language can I help you?",
"quick_replies": [
{
"content_type": "text",
"title": "Nederlands",
"payload": "c3e30be2f30687fea0ae419acaeb9d77261631a9",
"image_url": "https://domain/logo.png"
},
{
"content_type": "text",
"title": "English",
"payload": "2e29412e82c8eea8c8b0c170661070d28929a900",
"image_url": "https://domain/logo.png"
},
]
},
"messageCounter": 1,
"verifyToken": "8wMsLZkdDPT64nqh"
}
Objeto de mensagem para respostas rápidas:
Propriedade
Valor
Descrição
text
string
O texto antes das respostas rápidas.
quick_replies
array
Um array de objetos de resposta rápida
Objeto de resposta rápida:
Propriedade
Valor
Descrição
content_type
string
O tipo de conteúdo da resposta rápida (text)
title
string
A legenda do botão
payload
string
O payload da resposta rápida. Isto é um Identificador opaco por favor não tente alterar ou extrair significado dele.
Modelo genérico
Um modelo genérico (carrossel) inclui uma lista de elementos do template genérico. O elemento do template genérico é uma mensagem estruturada simples que inclui um título, subtítulo, imagem e até três botões
Formato da requisição:
{
"senderId": "a7355930-fa92-11e7-8308-2f056e75d1ee",
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"elements": [
{
"title": "Language",
"subtitle": "Please set your language",
"image_url": "https://domain/lang.png",
"item_url": "https://domain/lang",
"buttons": [
{
"type": "postback",
"title": "Nederlands",
"payload": "f0512bd2fcddc53963056dc0d63b52b8caa902ff"
},
{
"type": "postback",
"title": "English",
"payload": "4562ae76c34a13647fab90425c68a486b8acf356"
},
]
}
]
}
}
},
"messageCounter": 1,
"verifyToken": "8wMsLZkdDPT64nqh"
}
Objeto de mensagem para template genérico:
Propriedade
Valor
Descrição
attachment
object
O objeto attachment.
Objeto de attachment:
Propriedade
Valor
Descrição
type
string
O tipo de attachment (template)
payload
object
O objeto payload do attachment. A estrutura do objeto depende do tipo de attachment
Objeto payload do attachment:
Propriedade
Valor
Descrição
template_type
string
O tipo de template (generic)
elements
array
Um array de elementos do template genérico (cards do carrossel)
Objeto de elemento do template genérico:
Propriedade
Valor
Descrição
title
string
O título do card do carrossel
subtitle
string
O subtítulo do card do carrossel
image_url
string
A imagem do card do carrossel
item_url
string
A url do card do carrossel. Quando o usuário clica na imagem a página web abre em uma nova aba do navegador.
buttons
array
Um array de objetos botão
Objeto botão:
Propriedade
Valor
Descrição
type
string
O tipo do botão (web_url - postback - phone_number - element share)
title
string
A legenda do botão
payload
string (conterá o número de telefone quando o tipo for phone_number) - opcional
O payload do botão. Apenas para botões do tipo postback. Isto é um Identificador opaco por favor não tente alterar ou extrair significado dele.
url
string - opcional
A url do botão. Apenas para botões do tipo url
Modelo de lista
O modelo de lista é uma lista de 2-4 itens estruturados com um botão global opcional exibido na parte inferior. Cada item pode conter uma imagem em miniatura, título, subtítulo e um botão. Você também pode especificar um objeto default_action que define uma URL que será aberta quando o item for tocado.
Formato da requisição:
{
"senderId": "a7355930-fa92-11e7-8308-2f056e75d1ee",
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "list",
"elements": [
{
"title": "Language",
"subtitle": "Select your language",
"image_url": "https://domain/lang.png",
"default_action": {
"type": "web_url",
"url": "default_url"
}
"buttons": [
{
"type": "postback",
"title": "Nederlands",
"payload": "76601d56d0619ef87552bbfbbfcd714c4fda513b"
}
]
}
],
"buttons": []
}
}
},
"messageCounter": 1,
"verifyToken": "8wMsLZkdDPT64nqh"
}
Objeto de mensagem para template de lista:
Propriedade
Valor
Descrição
attachment
object
O objeto attachment.
Objeto de attachment:
Propriedade
Valor
Descrição
type
string
O tipo de attachment (template)
payload
object
O objeto payload do attachment. A estrutura do objeto depende do tipo de attachment
Objeto payload do attachment:
Propriedade
Valor
Descrição
template_type
string
O tipo de template (list)
elements
array
Um array de elementos da lista
buttons
array
Um array de objetos de botões gerais da lista
Objeto de elemento do template de lista:
Propriedade
Valor
Descrição
title
string
O título do card do carrossel
subtitle
string
O subtítulo do card do carrossel
image_url
string
A imagem do card do carrossel
default_action
object
A ação padrão quando o usuário toca no item da lista.
buttons
array
Um array de objetos de botões do item da lista
Objeto de ação padrão:
Propriedade
Valor
Descrição
type
string
O tipo de ação (web_url)
url
string
A URL da ação. Quando o usuário toca no elemento da lista essa página web será aberta em uma nova aba do navegador.
Objeto botão:
Propriedade
Valor
Descrição
type
string
O tipo do botão (web_url - postback - phone_numberl - element share)
title
string
A legenda do botão
payload
string (tipo phone_number) - opcional
O payload do botão. Apenas para botões do tipo postback. Isto é um Identificador opaco por favor não tente alterar ou extrair significado dele.
url
string - opcional
A url do botão. Apenas para botões do tipo url
Attachment
Um attachment representa um arquivo como imagens e vídeo.
Formato da requisição:
{
"senderId": "a7355930-fa92-11e7-8308-2f056e75d1ee",
"message": {
"attachment": {
"type": "image"
"payload": {
"url": "image_url",
}
}
},
"messageCounter": 1,
"verifyToken": "8wMsLZkdDPT64nqh"
}
Objeto de mensagem para attachment:
Propriedade
Valor
Descrição
attachment
object
O objeto attachment.
Objeto de attachment:
Propriedade
Valor
Descrição
type
string
O tipo de attachment (image-video)
payload
object
O objeto payload do attachment. A estrutura do objeto depende do tipo de attachment
Objeto payload do attachment:
Propriedade
Valor
Descrição
url
string
A url do attachment
Rich text
Rich text é texto ao qual se aplica formatação. A formatação possível é negrito, itálico, sublinhado, hyperlink para URL, hyperlink para bloco, título (1-4), lista com marcadores e lista ordenada.
Formato da requisição:
{
senderId: 'a7355930-fa92-11e7-8308-2f056e75d1ee',
verifyToken: 'e63131e1-459f-45aa-be42-666e1e4ef197',
message: {
template: {
__typename: 'RichTextMessageTemplate',
order: 1,
configTranslations: [Object]
},
richText: '<p>Paragraph</p>\n' +
'<p><strong>Bold</strong></p>\n' +
'<p><em>Italic</em></p>\n' +
'<p><u>Underlined</u></p>\n' +
'<p><a href="https://www.sinch.com" target="_blank" rel="noopener noreferrer">Hyperlink</a></p>\n' +
'<p><a href="f36f9056-2659-4d59-8940-4e9c7d3855a3" target="_blank" rel="noopener noreferrer">Go to bot dialog</a></p>\n' +
'<h1>Heading 1</h1>\n' +
'<h2>Heading 2</h2>\n' +
'<h3>Heading 3</h3>\n' +
'<h4>Heading 4</h4>\n' +
'<ul>\n' +
'<li>Bulleted list</li>\n' +
'</ul>\n' +
'<ol>\n' +
'<li>Ordered list</li>\n' +
'</ol>',
type: 'richText'
},
messageCounter: 2,
nlp: { intent: { name: null, score: null } },
dialogstate: {
id: 'f444b20b-370a-434d-af00-822cbce056ec',
name: 'Introduction',
label: null
}
}
Objeto de mensagem para attachment:
Propriedade
Valor
Descrição
richText
string
A mensagem rich text
Last updated
Was this helpful?