Objetos

Objetos representam um conjunto, ou tipo, de informação. Por exemplo, caso você queira que o bot acesse uma lista de produtos, primeiro precisamos criar um objeto chamado Produto e depois criar campos dentro deste objeto que definam as propriedades deste produto, como exemplo: Nome, Cor, Tamanho, etc.

Para os leitores desenvolvedores, objetos são similares a uma tabela do banco de dados.

Objetos Padrões

Existem hoje 2 objetos padrões no Cosmo:

  • Usuário: referente a propriedades do usuário. Seguem os campos padrões:

  • - Primeiro Nome - Sobrenome - Email - Telefone - Idade - Idioma - Sexo

  • Conversa: referente as mensagens trocadas com o usuário durante a conversa. Seguem os campos padrões:

  • - Usuário (relacionado ao objeto do Usuário) - Canal (Website, Facebook, etc...) - Duração (Duração do contexto da conversa atual) - Primeira Mensagem (Horário) - Última Mensagem (Horário) - Mensagens (Lista de todas as mensagens do contexto da conversa atual) - Mensagem (Mensagem enviada pelo usuário) - Percepção (Define as características da mensagem, incluindo o NLP) - Etapas (As etapas percorridas pela mensagem atual) - Horário (referente ao envio da mensagem)

Dos 2 objetos acima, apenas em Usuário é possível criar campos personalizados.

Criando Objeto Personalizado

E é claro que você pode criar novos objetos, com campos personalizados, relacionados ou não entre si.

Para criar basta ir na aba Dados e clicar em Novo Objeto.

Aqui, por exemplo, estamos criando o Objeto Pedido e definindo que o Objeto Controlador seja Usuário, ou seja, queremos que 1 usuário possa ter 1 ou mais pedidos relacionados. Portanto para existir 1 pedido precisa existir 1 usuário.

No Cosmo, por enquanto, você pode ter um objeto com no máximo 2 níveis de hierarquia se o objeto controlador for Usuário, e no máximo 1 nível de hierarquia caso o objeto controlador seja um objeto personalizado.

O nível de hierarquia aqui definimos como o relacionamento entre um objeto e o seu objeto controlador. Ou seja, um relacionamento de objeto pai para objeto filho, onde um registro pai pode estar relacionado a 1 ou mais registros filhos. Portanto considerando 2 níveis teríamos: Objeto Avô > Objeto Pai > Objeto Filho.

CUIDADO: com este modelo de objeto controlador, caso você exclua algum registro do objeto controlador, por exemplo o usuário, todos os registros controlados por este registro de usuário também serão excluídos.

Editando Objeto Personalizado

O campo Nome se refere a forma como esse campo pode ser usado como referência no fluxo da conversa.

O Objeto Controlador não pode ser alterado depois de criado o objeto.

O Campo de Referência significa qual o campo será usado quando o pedido aparecer na lista de pesquisas ou relacionado em outros objetos. No exemplo acima, o registro do pedido será representado pelo campo Número do Pedido.

Lembrando que caso você precise baixar os seus objetos personalizados, é necessário seguir um código JavaScript, que você pode encontrar aqui.

Last updated