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 bot para busca de imagens no BING

Neste tutorial vamos usar o BING para criar um chatbot que busca imagens de acordo com o texto enviado utilizando a API HTTP do BLiP.

1. Criando o projeto

Para este projeto iremos utilizar o node.js. Para criar um projeto node, basta criar um diretório qualquer e executar o comando npm init neste diretório.

Após criado o projeto node, precisamos instalar os pacotes de dependências que iremos utilizar. Para utilizar Webhooks, precisamos fazer chamadas HTTP no endereço https://http.msging.net/messages. Serão necessários os pacotes request e request-promise. Além disto, para enviar mensagens via HTTP, precisamos gerar uuids válidos, portanto será necessário utilizar o pacote uuid.

Para instalar estas dependências basta executar o seguinte comando:

npm install --save request request-promise uuid

Para mais informações acessar a documentação.

2. Configurando o chatbot

Como estamos criando um chatbot que utilizará os recursos Webhook do blip.ai, precisamos obter uma chave de acesso e urls para recebimento e envio de mensagens. Para isto, acesse o portal e registre o seu contato utilizando a opção Webhook. Após a criação do seu contato você encontrará as informações necessárias para o desenvolvimento do bot no menu configuração. Guarde o Cabeçalho de autenticação, pois ele será necessário para enviar mensagens.

Com isso já temos um chatbot conectado à plataforma que consegue enviar e receber mensagens. Para habilitar o seu contato nos canais, basta acessar o menu Publicações e escolher o canal onde deseja publicar seu contato (no site blip.ai há um guia sobre a ativação dos canais).

3. Ativando a Bing News Search API

Agora precisamos ativar a sua conta da Microsoft para usar o serviço Bing News Search API. Isto pode ser feito acessando-se esta url. Clique em Let's go e selecione Bing Search. Após aceitar os termos você terá acesso à sua chave.

4. Mão na massa

Precisamos criar um servidor HTTP Node que recebe as mensagens através da url para receber mensagens que configuramos no passo 2.

const SERVER_PORT = process.env.PORT || 3000;

let server = http.createServer((req, res) => {
    // Por definição, no pacote http, o corpo da requisição é recebido separado
    // em chunks, portanto precisamos reconstruí-lo.
    let body = [];
    req.on('data', (chunk) => body.push(chunk));

    req.on('end', () => {
        // Converte a string recebida como corpo da requisição para uma mensagem JSON
        let message = JSON.parse(body.toString());

        // Trata as mensagens recebidas
        handleMessage(req);

        res.end();
    });
});

server.listen(SERVER_PORT, () => {
    console.log(`Server is listening on port ${SERVER_PORT}`);
});

Como próximo passo, precisamos abstrair o envio de mensagens. Para isto vamos criar uma classe MessagingHubHttpClient que, suprida com a urls para envio de mensagens e a chave de acesso do chatbot, envia mensagens através de requisições HTTP:

let request = require('request-promise');
const MESSAGES_URL = 'https://http.msging.net/messages';

class MessagingHubHttpClient {

    // O cabeçalho de autenticação obtido ao configurar o Bot será passado para este construtor
    constructor(authHeader) {
        this._authHeader = `Key ${authHeader}`;
    }

    sendMessage(message) {
        return request({
            method: 'POST',
            uri: MESSAGES_URL,
            headers: {
                'Content-type': 'application/json',
                'Authorization': this._authHeader
            },
            body: message,
            json: true
        });
    }
}

O que nos resta agora é efetivamente tratar as mensagens recebidas, isto é, definir a função handleMessage utilizada no servidor HTTP definido acima. Porém, antes, iremos definir uma função para buscar imagens utilizando a api de busca de imagens do Bing:

const BING_SERVICE_URI = 'https://api.cognitive.microsoft.com/bing/v5.0/images/search';

function searchImage(query) {
    return request({
        method: 'GET',
        uri: `${BING_SERVICE_URI}?q=${query}&mkt=pt-br`,
        headers: {
            'Ocp-Apim-Subscription-Key': this._bingApiKey
        },
        json: true
    }); 
} 
// Substitua {SEU_CABECALHO_DE_AUTENTICACAO} pelo cabeçalho de autenticação obtido ao criar seu Bot no Painel Blip
let client = new MessagingHubHttpClient('{SEU_CABECALHO_DE_AUTENTICACAO}');

function handleMessage(message) {
    if (message.type !== 'text/plain') {
        return;
    }

    // Obtem o conteudo da mensagem recebida pelo contato
    let query = message.content.toString();

    // Faz a chamada na API de busca do Bing
    searchImage(query)
        .then(data => {
            // Cria uma nova mensagem para responder o usuario que enviou a mensagem.
            // O campo `to` da messagem deve ser igual ao campo `from` da mensagem recebida
            let response = {
                id: uuid.v4(),
                to: message.from
            };

            if (data.value.length === 0) {
                // Cria um conteudo de somente texto para a mensagem de resposta
                response.content = `Nenhuma imagem encontrada para o termo '${query}'`;
                response.type = 'text/plain';
            }
            else {
                let image = data.value[0];

                // Cria um conteudo de imagem para a mensagem de resposta
                response.content = {
                    uri: image.contentUrl,
                    type: `image/${image.encodingFormat}`,
                    previewUri: image.thumbnailUrl,
                    previewType: `image/${image.encodingFormat}`,
                    size: parseInt(image.contentSize.match(/\d*/)[0])
                };
                response.type = 'application/vnd.lime.media-link+json';
            }

            // Responde a mensagem para o usuario
            return client.sendMessage(response);
        });
}

5. Hospedando o chatbot

Por ser uma aplicação Node.js, o chatbot criado deve ser hospedado em um servidor de hospedagem que seja compatível com esta ferramenta. Alguns bons exemplos de serviços de hospedagem gratuitos para Node.js incluem Heroku, Nodejitsu e Microsoft Azure.

Após hospedar seu chatbot, você deve ainda incluir sua URL para receber mensagens nas configurações dele no portal do BLiP como a URL onde ele está hospedado.

O código deste e outros exemplos estão no Github.

← [HTTP] Criando um bot para receber feeds no MessengerCriando um chatbot 'currículo' usando API HTTP →

Á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