BLiP

BLiP

  • API Reference
  • Artigos
  • Áreas do BLiP
  • Recursos
  • Cursos
  • Comunidade
  • Changelog
  • Políticas

›API e SDKs

Introdução

  • Visão geral da plataforma
  • Como criar um bot com o Builder do BLiP

Canais

    Apple Business Chat

    • Visão geral do canal Business Chat
    • Arquitetura do Business Chat
    • Funcionalidades do canal Business Chat
    • Tipos de conteúdo suportados pelo Business Chat
    • Como publicar seu Chatbot no Business Chat
    • Como interagir com os usuários através do Business Chat
    • Acessando outros recursos do Business Chat

    BLiP Chat

    • O que é o BLiP Chat?
    • Tipos de conteúdo suportados pelo BLiP Chat
    • Customizações disponíveis no BLiP Chat
    • Tipos de autenticação dos usuários no BLiP Chat
    • Adicionar o BLiP Chat em um site Wix
    • Adicionar o BLiP Chat em um site Wordpress
    • Como adicionar um bot em um site utilizando o BLiP Chat?
    • Permitir envio de arquivos no BLiP Chat
    • Funcionalidades do BLiP Chat Widget
    • Customizando o BLiP Chat Widget através de CSS
    • Como adicionar um bot em um aplicativo Android utilizando o BLiP Chat?
    • Adicionando push notification no BLiP Chat Android
    • Como adicionar um bot em um aplicativo iOS utilizando o BLiP Chat?

    Email

    • Visão geral do canal Email
    • Arquitetura do canal de Email
    • Funcionalidades do canal Email
    • Tipos de conteúdo suportados pelo Email
    • Como publicar seu Chatbot no email
    • Como interagir com os usuários através do email

    Google Assistant

    • Visão geral do Google Assistant
    • Funcionalidades do Google Assistant
    • Tipos de conteúdo suportados pelo Google Assistant
    • Como publicar seu bot no Google Assistant
    • Enviando notificações com o Google Assistant

    Google RCS

    • Visão geral do Google RCS
    • Funcionalidades do Google RCS
    • Tipos de conteúdo suportados pelo Google RCS
    • Como publicar seu Chatbot no Google RCS

    Google Business Messages

    • Visão geral do Business Messages
    • Arquitetura do Canal Google Business Messages
    • Benefícios do Google Business Messages
    • Como publicar seu Chatbot no Google Business Messages

    Messenger

    • Visão geral do Messenger
    • Arquitetura do canal do Messenger
    • Funcionalidades do canal Messenger
    • Tipos de conteúdo suportados pelo Messenger
    • Como publicar seu Chatbot no Messenger
    • Como interagir com os usuários através do Messenger
    • Acessando outros recursos do Messenger
    • Como conectar sua própria aplicação através do Portal
    • Como conectar sua própria aplicação pelas Configurações Avançadas
    • Como adicionar tags nas mensagens (Message Tags)
    • Como enviar mensagens ativas do Messenger via Portal

    Microsoft Teams

    • Visão geral do Microsoft Teams
    • Funcionalidades do Microsoft Teams
    • Tipos de conteúdo suportados pelo Microsoft Teams
    • Como publicar seu bot no Microsoft Teams

    Telegram

    • Visão geral do canal Telegram
    • Arquitetura do canal Telegram
    • Conteúdos disponíveis no canal Telegram
    • Publicando seu bot no canal Telegram
    • Como interagir com os usuários através do Telegram

    WhatsApp

    • Visão geral do canal WhatsApp
    • Arquitetura do canal WhatsApp
    • Funcionalidades do canal WhatsApp
    • Conteúdos suportados no canal WhatsApp
    • Publicando seu bot no canal WhatsApp
    • Como criar e aprovar um Message Template no WhatsApp
    • Como interagir com os usuários através do WhatsApp
    • Criando uma solução de atendimento humano no WhatsApp
    • Enviar notificações WhatsApp via API do BLiP
    • Como enviar notificações WhatsApp via Portal
    • Como enviar notificações através de respostas prontas do BLiP Desk
    • Como gerenciar uma lista de distribuição para enviar notificações WhatsApp
    • Como salvar o número do WhatsApp de um contato
    • Qualidade do contato no WhatsApp
    • Política de Escalação Humana no WhatsApp Business
    • Como buscar informações de uma WABA fora do Business Manager da Take
    • Mensagens duplicadas no WhatsApp

    Workplace

    • O que é o Workplace?
    • Visão geral do canal Workplace
    • Funcionalidades do canal Workplace
    • Tipos de conteúdo suportados pelo Workplace
    • Publicando seu chatbot no Workplace
    • Publicando seu chatbot no Workplace - Integrações Personalizadas
    • Como interagir com os usuários através do Workplace
    • Acessando outros recursos do Workplace

Builder

  • Visão geral do Builder
  • O que são blocos de controle (Início e Exceção)
  • O que é um bloco de conteúdo
  • O que é um bloco de atendimento
  • Ação: Como utilizar o Ctrl+Z no Builder
  • Visão geral dos tipos de conteúdo
  • Visão geral das variáveis
  • Visão geral das condições de saída
  • Visão geral das ações
  • Como utilizar a ferramenta de debug do Builder
  • Definindo ações globais no Builder
  • Criando ações condicionais
  • Importando o fluxo de um bot no Builder
  • O que é um Weblink?
  • O que são listas de distribuição
  • Salvando informações de um usuário
  • Criando um elemento web através de um weblink no BLiP Chat
  • Verificar se existe atendente disponível no Builder
  • Enviando email pelo bot através do Builder
  • Proporção de exibição de imagens (Aspect Ratio)
  • Ação: Requisição HTTP
  • Ação: Gerenciar listas de distribuição
  • Ação: Redirecionar a um serviço
  • Ação: Definir variável
  • Ação: Executar script
  • Ação: Processar Comando
  • Ação: Registro de eventos
  • Expirando a sessão dos usuários do Builder
  • Como definir um tempo limite (timeout) para ações do Builder
  • Salvando entrada do usuário em variável
  • Como validar a entrada do usuário
  • Tipo de Conteúdo - Conteúdo Dinâmico
  • Criando um carrinho de compras usando o Builder
  • Como usar o tempo de inatividade de usuário

Inteligência Artificial

    PLN - Processamento de Linguagem Natural

    • Conceitos básicos para utilizar NLP e IA em chatbots
    • Importância de IA e NLP para chatbots
    • O que é intenção?
    • O que é uma entidade?
    • Boas Práticas para criação de exemplos em bases de conhecimento
    • Como configurar o DialogFlow como um provedor de Inteligência Artificial
    • Como configurar o Watson Assistant como um provedor de Inteligência Artificial
    • Como configurar LUIS como um provedor de Inteligência Artificial
    • Como criar uma intenção
    • Como criar uma entidade
    • Treinando e publicando seu modelo de inteligência artificial
    • Como testar seu modelo de NLP
    • Boas práticas para criar um bom modelo de NLP
    • Importar modelo de NLP (intenções e entidades) pré-existente no BLiP
    • Como importar/exportar uma base de conhecimento
    • Como aprimorar meu modelo de inteligência artificial
    • Utilizando arquivos de teste para análise do modelo de IA
    • Como usar o Assistente de Conteúdo

Atendimento Humano

    BLiP Desk

    • Visão geral do BLiP Desk
    • Como ativar o BLiP Desk como um canal de atendimento
    • Como realizar um atendimento através do BLiP Desk
    • Utilizando variáveis nas respostas prontas do BLiP Desk
    • Gerenciando equipes de atendimento no BLiP Desk
    • Como definir regras de atendimento no BLiP Desk
    • Exemplos práticos de regras de atendimento
    • Habilitando o uso de emoji para o Desk
    • Descrição das métricas do BLiP Desk
    • Como filtrar um ticket por ID?
    • Como conectar a um canal de atendimento personalizado
    • Como configurar alertas de inatividade dos clientes no BLiP Desk
    • Definindo alerta para tempo de resposta de um atendente no BLiP Desk
    • Descrição dos status de agente no BLiP Desk
    • Descrição dos sinais de alerta para agentes do BLiP Desk
    • Configurando avisos sonoros e notificações no BLiP Desk
    • Integração customizada - Ferramentas de HelpDesks
    • Boas práticas ao definir regras de atendimento
    • Como verificar atendentes disponíveis por equipe
    • Como configurar horário de atendimento
    • Dominando e customizando o template de atendimento
    • Como funciona a distribuição de tickets?
    • Como fazer o download do histórico de um ticket
    • Como finalizar tickets?

    Live Agent - SalesForce

    • Configurando o atendimento via chat no Salesforce

Gestão

  • Como encontrar o identificador de um usuário
  • Como alterar o avatar (foto) do bot
  • Como marcar um contato como usuários de teste
  • Configurações avançadas do bot
  • Gerenciando permissões de acesso da equipe de um bot
  • Transcrição das conversas dos contatos
  • Gerenciando seu chatbot atráves do log

Métricas e Analytics

  • Descrição das métricas geradas pelo BLiP
  • Entendendo os diferentes tipos de mensagem do BLiP
  • O que são usuários únicos do BLiP
  • Integração com ferramentas de analytics
  • BLiP Analytics

    • Criando gráficos em um relatório customizado

    BotAnalytics

    • Integração BotAnalytics - Como enviar dados de um bot para o BotAnalytics?

    Chatbase

    • Integração Chatbase - Como enviar dados de um bot para um Chatbase?
    • Como ativar o tracking automático
    • Tratando eventos not_Handled no relatório SessionFlow do Chatbase

    Dashbot

    • Integração Dashbot - Como enviar dados de um bot para o Dashbot?

    RD Station

    • Integração RD Station - Enviando dados de um bot para o RD Station

    Webhook

    • Enviando dados do seu bot através de Webhooks

Retenção e Engajamento

  • Obtendo o número de usuários afetados por um broadcast
  • Como identificar usuários vindos de uma campanha (anúncio)

Router

  • Hierarquia (ou arquitetura) de bots e subbots
  • Criando um bot router com 3 subbots
  • Como recuperar informações de contatos em um subbot

API e SDKs

  • Facilitando a criação do seu chatbot através das extensões
  • Construção de bots através de SDKs ou API HTTP
  • Como encontrar a API-KEY do meu bot?
  • [HTTP] Criando um bot para receber feeds no Messenger
  • Criando um bot para busca de imagens no BING
  • Criando um chatbot 'currículo' usando API HTTP
  • SDK C# com suporte a .NET Core
  • [SDK C#] Criando uma lista de distribuição de conteúdo
  • [SDK C#] Armazenando o último acesso de um usuário
  • Agendando uma mensagem com a extensão scheduler
  • [SDK C#] Track de Usuários que utilizaram uma determinada funcionalidade
  • Texto rotativo com spintax

Geral

  • Central de Notificações
  • Política de violação de mensagens ativas do BLiP
  • Filtro de contatos por data e hora
  • Chatbots e a importância do contexto
  • Level Up

    • LevelUp 0 - Lançamento oficial do BLiP
    • LevelUp 1 - BLiP Desk
    • LevelUp 2 - BLiP Chat
    • LevelUp 3 - Checklist de IA
    • LevelUp 4 - BLiP Desk 2.0
    • LevelUp 5 - WhatsApp
    • LevelUp 6 - Templates, tags e biblioteca de variáveis
    • LevelUp 7 - Dialogflow
    • LevelUp 8 - BLiP Growth
    • LevelUp 9 - Marcos de 2018
    • LevelUp 10 - Ferramenta de Debug
    • LevelUp 11 - Comemoração de 1 ano + Case Mundiale
    • LevelUp 12 - BotAnalytics
    • LevelUp 13 - BLiP Ideas
    • LevelUp 14 - Metricas de Negócios
    • LevelUp 15 - Dashbot
    • LevelUp 16 - Agosto
    • LevelUp 17 - Boas Práticas no Builder
    • LevelUp 18 - Dominando o BLiP Desk
    • LevelUp 19 - Tire todas as suas dúvidas sobre o BLiP

Políticas

  • Política de Uso de Cookies
  • Política de Privacidade
  • Termos de uso e privacidade do BLiP

Privacidade e Segurança

  • BLiP e LGPD
  • Segurança da Informação
  • Política de upload de mídias no BLiP
  • Visão de Contratos

Criando um chatbot 'currículo' usando API HTTP

Através da plataforma blip.ai você consegue criar chatbots nos principais canais de mensageria do mercado, como Facebook Messenger, Telegram, Skype, SMS, WhatsApp ou através do BLiP Chat, canal do próprio BLiP.

Através da plataforma é possível construir bots utilizando um dos SDK’s C# e JavaScript, ou ainda através de requisições HTTP utilizando o Webhook do BLiP. Nestes modelos o desenvolvedor tem total flexibilidade para incluir o chatbot em sua aplicação. Existe ainda uma outra forma de construir bots no BLiP através do Builder, ferramenta de construção visual de bots.

De forma simplista, um Webhook é a exposição de um endpoint http em sua aplicação para possibilitar que API’s de terceiros faça requisições em seus serviços. Nesta estrutura o Blip.ai realiza requisições em um endpoint definido pelo desenvolvedor do chatbot sempre que novas mensagens ou notificações estiverem disponíveis. Outra vantagem é não estar amarrado a nenhuma linguagem específica para construir seu chatbot.

O objetivo deste artigo é demonstrar o passo a passo para a criação e publicação de um chatbot currículo, através do blip.ai, utilizando o modelo de integração Webhook. Para isso, será implementado um chatbot simples que responderá a alguns comandos básicos sobre informações de um profissional hipotético.

Sobre o chatbot ‘currículo’

Quase todo profissional possui um currículo no formato tradicional: folha A4, tópicos relevantes, preferencialmente com no máximo 2 laudas e algumas seções básicas como informações gerais, formação acadêmica, experiência profissional, principais habilidades e alguma proficiência em línguas. Existem também versões menos tradicionais no formato digital, como portfólios, jogos e vídeos explicativos.

Recentemente, com a explosão dos chatbots como nova interface de interação entre pessoas e organizações, surgiram alguns trabalhos que utilizam esta nova tendência conversacional para apresentar suas experiências profissionais. Destaco aqui os trabalhos de Esther Crawford e Caio Calado como referências para este assunto.

Assim, nosso objetivo aqui é representar, a partir de um chatbot, as informações mais importantes sobre a carreira de um profissional.

Para simplificar vamos reduzir o escopo do chatbot para tratar apenas os seguintes cenários:

  1. Envio de informações gerais: Nome, idade, telefone, email e site.
  2. Envio de informações sobre formação acadêmica.
  3. Envio das principais experiências profissionais.
  4. Envio de uma lista com as principais habilidades.

Embora seja possível, não vamos nos preocupar, inicialmente, com uma interpretação elaborada de linguagem natural. O artigo do André Bires (Construindo um chatbot assistente virtual utilizando o Textc) dá algumas dicas de como utilizar a biblioteca Textc para melhorar a interpretação de texto de seu chatbot.

Criando seu chatbot

Antes de mais nada, precisamos criar um novo contato (chatbot) na plataforma blip.ai.

  1. Acesse a plataforma, faça login e clique no botão Criar Chatbot.
  2. Escolha a opção Criar do zero.
  3. Preencha as informações básicas de seu chatbot (nome e foto).

Criando uma API para receber as requisições do blip

Para este artigo apresentarei uma api desenvolvida em C# utilizando o framework ASP.NET Web API. Entretanto tenha em mente que a tecnologia escolhida para construir a API não importa, escolha aquela que lhe for mais conveniente. Para ver um outro exemplo de webhook, utilizando uma API escrita em JavaScript usando Node.JS, veja este post.

  • Crie um projeto de uma aplicação ASP.NET Web API no VisualStudio

O mínimo que precisamos fazer agora é criar dois endpoints na API, um para receber as mensagens enviadas pelos usuários de seu chatbot e outra para receber notificações.

  • Crie um Controller para Mensagens, com uma action Post
public class MessagesController : ApiController
{
    // POST api/messages
    public async Task<IHttpActionResult> Post(JObject jsonObject)
    {
        Console.WriteLine($"Message Received: {jsonObject}");

        return Ok();
    }
}
  • Crie outro Controller para Notificações, com uma action Post
public class NotificationsController : ApiController
{
    // POST api/notifications
    public void Post([FromBody]JObject jsonObject)
    {
        Console.WriteLine($"Received Notification  {jsonObject}");
    }
}

Publicando a API no Azure

Mais uma vez essa é uma escolha pessoal. Você pode publicar sua API onde se sentir mais confortável, no Azure, AWS, Heroku ou na infraestrutura privada de sua empresa. A única coisa que precisamos é de um endereço externo, público e válido. A API criada neste artigo foi publicada no endereço http://resumebottemplate.azurewebsites.net.

Configuração dos endpoints no portal do BLiP

  1. Vá até o portal do BLiP, selecione seu chatbot e clique Configurações na parte superior direita.

  2. Clique no sub menu Informações de conexão localizado no canto esquerdo.

  3. Escolha a opção Conectar usando HTTP

  4. Insira os endpoints de sua API nos campos ‘Url de Mensagens’ e ‘Url de Notificações’ (por exemplo: http://resumebottemplate.azurewebsites.net/api/messages e http://resumebottemplate.azurewebsites.net/api/notifications no meu caso).

Configuração dos endpoints no portal do BLiP

Pronto, seu chatbot já está devidamente configurado e pronto para receber a regra de resposta das mensagens.

Implementado as respostas de seu chatbot

Conforme destacado anteriormente, nosso chatbot não terá uma regra muito complexa. O objetivo aqui é apenas provocar o leitor para mais uma aplicabilidade dos chatbots. Neste sentido, o chatbot será capaz de interpretar comandos de texto com as seguintes sentenças:

Sentenças (palavras aceitas)Ações
info - informação - aboutEnvia informações gerais.
formação - formacao - educationEnvia dados sobre formação acadêmica.
experiência - experiencia - experienceEnvia as principais experências profissionais.
habilidade - skillsEnvia uma lista com algumas habilidades.

Pensando nisso seu chatbot precisará, logo que receber uma mensagem, identificar se o conteúdo enviado bate com algum dos comandos listados acima. Mas antes de começar lembre-se que todo conteúdo enviado (ou recebido) para o chatbot deve seguir o padrão dos tipos aceitos pelo BLiP. Neste link é possível encontrar todas as opções disponíveis. Para este artigo vamos utilizar apenas o tipo texto, conhecido como PlainText.

public class MessagesController : ApiController
{
    public MessagesController()
    {
    }

    // POST api/messages
    public async Task<IHttpActionResult> Post(JObject jsonObject)
    {
        Console.WriteLine($"Message Received: {jsonObject}");

        var content = message["content"].Value<string>();
        var from = message["from"].Value<string>();
        var messageContent = "";

        switch (content.Trim())
        {
        case "info":
        case "informação":
        case "about":
            messageContent = "Meu nome é Jonh Lorem Foo, eu tenho 25 anos. \n\nVocê pode me encontrar por telefone: +55 31 99827 1039 ou através do meu email: loremfoo@ipsum.com";
            break;

        case "formação":
        case "formacao":
        case "education":
            messageContent = "*Mestre em Física Nuclear pela NASA\n*Graduado em Economia pela Faculdade de Harvard - USA";
            break;

        case "experiência":
        case "experiencia":
        case "experience":
            messageContent = "Possuo 10 anos de experiência em análise de dados complexos. Meus últimos trabalhos foram para:\n\nGoogle\nFacebook\nNSA\nMicrosoft";
            break;

        case "habilidade":
        case "skills":
            messageContent = "Principais habilidades: \n\nComunicador\nExtrovertido\nGosta de trabalhar em equipe\nProgramação Android";
            break;

        default:
            //default message if user send a unknow command
            messageContent = "Oi, eu sou o chatbot do Jonh :) \nPosso lhe passar várias informações profissionais sobre ele. \n\nSe quiser saber mais me mande um dos comandos abaixo: \n\n about \n education \n experience \n skills!";
            break;
        }

        var replyMessage = new
        {
            id = Guid.NewGuid(),
            to = from,
            type = "text/plain",
            content = messageContent
        };

        await ReplyMessageAsync(replyMessage);

        return Ok();
    }
}

Caso a mensagem enviada possua alguma das sentenças o chatbot deverá responder o conteúdo específico daquele comando. Para isso será necessário enviar uma mensagem de resposta para o usuário com as informações referentes a pergunta.

O método ReplyMessageAsync(string text) envia uma mensagem de resposta com um texto qualquer.

public class MessagesController : ApiController
{
    private readonly WebClientService webClientService;

    public MessagesController()
    {
        webClientService = new WebClientService(new Uri("https://http.msging.net/messages"), "<your-api-key-here>");
    }
            
    // POST api/messages
    public async Task<IHttpActionResult> Post(JObject message)
    {
        ... Código de tratamento das mensagens recebidas pelo chatbot 
    }

    private async Task ReplyMessageAsync(object message)
    {
        var response = await webClientService.SendMessageAsync(message);
    }
}

Para isso, foi utilizado um client Http simples que executa um post em uma url específica da plataforma BLiP. Note que para enviar a resposta é necessário obter a Url de resposta e a chave de autenticação no portal BLiP. Vá nas Configurações de seu chatbot, clique na seção Informações de conexão, no menu lateral esquerdo, e copie as url’s para envio de mensagens/notificações e a chave de autenticação de seu bot. Veja a imagem abaixo.

Informações de conexão

Finalmente, se o conteúdo recebido não for compatível com nenhuma das sentenças aceitas (default case) o chatbot responderá uma mensagem padrão explicando ao usuário quais são os comandos aceitos.

Publicando e testando seu chatbot

Para testarmos nossa aplicação vou publicá-la no Facebook Messenger.

  1. Para isso, basta ir até o portal blip.ai e clicar na opção Publicações, no menu lateral esquerdo.
  2. Depois escolha o seu canal de preferência (por exemplo, Facebook Messenger).
  3. Siga o passo a passo indicado e seu chatbot já estará disponível.

A imagem abaixo mostra uma interação simples com o chatbot criado.

Interação com o chatbot criado

Clique aqui para testar o ResumeBotTemplate no Facebook Messenger.

Conclusão

Neste artigo discutimos um pouco sobre uma aplicação válida para um chatbot, um currículo digital. De forma rápida e simples foi apresentado um passo a passo de como criar, configurar e publicar um chatbot, usando Webhook, através do blip.ai.

Todo o código desenvolvido para este artigo está disponível no Github com informações fake. Caso tenha gostado sinta-se a vontade para utilizá-lo como template para criar o seu chatbot currículo. Nos próximos dias continuarei evoluindo este chatbot, em meu repositório. Fique atento, para cada nova versão publicarei novos posts.

← Criando um bot para busca de imagens no BINGSDK C# com suporte a .NET Core →

Áreas do BLiP

Atendimento HumanoBuilderCanaisIntegraçõesInteligência ArtificialMétricas e AnalyticsRetenção e Engajamento

Recursos

API ReferenceChangelogFaqGithubStatusTemplates de ChatbotTipos de conteúdo

Cursos

Curso GratuitoBotcamp

Comunidade

BLiP BetaBLiP IdeasEventosFórum

Políticas

Políticas de CookiesPolíticas de PrivacidadeTermos de Uso

Copyright © 2020 BLiP Powered by Take