Skip to main content
Sticky

Como Integrar o Blip com o Google Sheets


Mostre a primeira mensagem

98 comentários

mailson.info
  • Connected
  • September 28, 2021

Bom dia, @Pedro_Lucas
Obrigado, funcionou, é que antes eu não sabia que poderia utilizar os mesmos IDs. Então eu havia criado uma outra conta. E faltou eu alterar o refresh_token. Agora funcionou, está gravando os dados fora de hora (nome, tel, e-mail e assunto) na planilha Google. Show.

Aproveitando, se possível poderia me enviar algumas dicas. A próxima maratona é pegar o CPF do aluno/responsável fazer uma consulta no ASAAS e retornar com o link do PDF do boleto.

Consegue me ajudar? Já possuo a API do ASAAS.


Pedro_Lucas
Forum|alt.badge.img+2
  • Autor
  • Specialist
  • September 28, 2021

bOm dia, meu tempo anda meio corrido, mas por que não né hahaha, qual seria a dificuldade que tem tido com essa API?


mailson.info
  • Connected
  • September 28, 2021

Bom, @Pedro_Lucas . Na realidade acabei de concluir o algoritmo para gravar em plan fora do horário de atendimento.
E ainda vou iniciar o do boleto. Mais a dúvida inicial seria se uso Requisição HTTP ou executar script… Por exemplo, do Google Plan utilizei Requisição HTTP de entrada e saída. No caso do boleto eu utilizaria GET no método.
Estou analisando a documentação.

E quanto a chave (ID), seria do Blip, certo?
Muito obrigado, nosso tempo é realmente corrido.


bom dia,
o Pedro me ajudou e arrumamos, no teste funcionou, mas quando entrei pelo whatsapp no bot, não coletou as informações
valeu


mailson.info
  • Connected
  • October 15, 2021

Olá, @Pedro_Lucas
Estou seguindo o a estrutura do busca CEP, a diferença que o meu possui chave. Farei os testes e postarei minhas dúvidas.


Wesley.Oliveira

@Rafael_dos_Anjos , td bem? 😊

Fiz alguns testes com esse JS para validar o seguinte cenário: se o cliente passar pelo bloco as 2hs da manhã GMT-0, o script reduziria para as 23hs do dia anterior GMT-3?
Nos meus testes, vi que não. Aparentemente ele insere a data corrigida, mas a hora fica negativa.

Seguem detalhes dos testes que executei e proposta para correção do script:

Testei no console do Google e vi que o JS imprime a data corrigida, mas com um horário negativo:
image

Bati um papo com alguns desenvolvedores sobre isso (pois não manjo de JS), me ajudaram a revisar o código e fizemos dessa forma:
image

Segue o script corrigido:

function run(map) {

    var data = new Date(map),
        diaF = data.getDate().toString().padStart(2, '0'),
        mesF = (data.getMonth() + 1).toString().padStart(2, '0'),
        anoF = data.getFullYear(),
        hora = (data.getHours()).toString().padStart(2, '0'),
        minuto = data.getMinutes().toString().padStart(2, '0');
    return diaF + "/" + mesF + "/" + anoF + " " + hora + ":" + minuto;
}

Para os testes, usamos a mesma variável “calendar.datetime” e no console do Chrome, utilizamos a entrada no mesmo formato Blip (AAAA-MM-DDTHH:MM:SSZ), como pode ser visto nos prints acima.

Faz sentido pra vc essa correção? 🙂

Abraços e obrigado por ter disponibilizado o código inicial! 😉
–//–
22.10.2021: nova atualização do script para ajuste da hora. Quando o user passava em minutos com zero, o script retornava sem o zero, exemplo: 15:06 retornava apenas 15:6. Atualizado no código acima!


Rafael_dos_Anjos

@Wesley.Oliveira faz sim, e muito obrigado por compartilhar.


Wesley.Oliveira

@Pedro_Lucas e @fadoaglauss , a única coisa que posso fazer nesse momento é agradecer à vcs por este tutorial sensacional, muito bem explicado de ponta a ponta. Fiz meus testes num bot com pesquisa de satisfação onde o intuito é enviar para o Sheets as respostas para criação de relatório para fins de curadoria e por incrível que pareça, na primeira publicação tudo funcionou com sucesso. Acredito que tenha dado MUITO trabalho para vcs chegar com esse tutorial até o fórum, portanto, parabéns pelos testes, pela iniciativa, pelo suporte, por tudo. Sei que vcs ajudaram muitas pessoas, mas particularmente, me ensinaram muito tbm. Abraços!!! 🥰


Pedro_Lucas
Forum|alt.badge.img+2
  • Autor
  • Specialist
  • October 20, 2021

Cara to numa correria danada, e fiz questão de vir responder, sabe eu vim do fórum, cheguei onde estou hoje graças a esse lugar, e saber que consegui ajudar alguém, igual tantas vezes me ajudaram, me deixa feliz demais, tamo junto demais, logo quer ver você compartilhando o que tem aprendido com take blip com o pessoal, como fez ali em cima


Bia
  • Inspiring
  • October 20, 2021

Ooown :blipinlove:

Que mensagem de agradecimento linda! Muito feliz de ter você aqui e de ouvir esse relato.


Pedro_Lucas
Forum|alt.badge.img+2
  • Autor
  • Specialist
  • November 15, 2021

Bom dia tudo bom? acredito que o sheets não esteja aceitando as aspas, faz assim salve o retorno e o status nos extras contatos e vamos descobrir o que que houve que não integrou


GabrielPetrone
Blipper
Forum|alt.badge.img+1

Fala @Luiz_Fernando1 , tudo bem?
Rapaz, primeiro de tudo, recomendo que você oculte os dados do seu cliente aí! Atenção com a LGPD!

Uma dica que te dou é pensar em todos os pontos de integração que fará com o Sheets antes de estruturá-lo no seu builder, conforme indica este excelente post.

Digo isso pois o Token OAUTH do Google Sheets possuí um tempo de expiração de 1 hora (3600 segundos) e caso o seu usuário fique um tempo sem conversar com seu bot, o token possivelmente terá expirado.

Pegou o que eu disse? Agora observe o histórico da conversa e você vai perceber que o cliente ficou mais de 1 hora sem interagir.
Para resolver isso, basta você fazer a requisição de obter o OAUTH novamente.

Apesar disso, o problema ainda pode ser outro e você precisará observar todos os cenários conforme o Pedro sugeriu acima. Dessa forma você conseguirá saber o retorno que a API deu e encontrar o erro exato.

Espero ter ajudado e qualquer dúvida, corre aqui.

Abraços.


Cara penso que não este o problema, pq antes estava trazendo os contatos, apesar de não trazer as informações de email e assinatura


Wesley.Oliveira

@fadoaglauss e @Pedro_Lucas , segue uma observação importante sobre a integração com o Sheets. O cenário abaixo ocorreu em produção comigo. Caso queiram inserir no tutorial para ficar como alerta, fiquem a vontade! 😊

A criação de CÉLULAS no Google Sheets é limitada 5 milhões de unidades (sempre achei que fosse por LINHAS 🤔), portanto, se houver um volume muito grande de inserção de dados, é necessário dimensionar bem o uso da planilha para não haver um stop nos registros automáticos.

Fiz uma integração em um bot e devido ao alto volume de entrada de usuários, os dados pararam de ser registrados na planilha, retornando o erro 400 com o seguinte response:

{
	"error": {
		"code": 400,
		"message": "Essa ação aumentaria o número de células na pasta de trabalho acima do limite de 5000000 células.",
		"status": "INVALID_ARGUMENT"
	}
}

Resolução: como uso apenas 7 colunas no sheets para inserir os dados, deletei todas as colunas em branco que vem na planilha por padrão, assim o limite de 5MM de células não será atingido até o final do mês, que é o momento em que crio uma nova aba de planilha para atender o mês seguinte. O stop ocorreu por volta dos 200k linhas com o nº padrão de colunas do Sheets (que eu não havia deletado).

Dimensionamento: sabendo que o limite é de 5MM de células, basta dividir esse valor pelo nº de colunas em uso e vc terá uma ideia de quantas linhas poderão ser preenchidas até que o Sheets dê stop na inserção dos dados. 😉


Pedro_Lucas
Forum|alt.badge.img+2
  • Autor
  • Specialist
  • November 26, 2021

Wesley, pra que que tu ta usando o google sheets? deu medo aqui kkkkkk essa é uma solução para empresas de médio porte. e soluções mais simples, recomendo usar registro de eventos com power b.i caso queira algo mais parrudo


Wesley.Oliveira

Oi, @Pedro_Lucas ! 😁

Eu tbm fiquei com medo quando vi o resultado após implementar e vc está coberto de razão. 😅

É um paliativo que tivemos que fazer em um bot para contagem de users com determinados dados que vem do CRM e são extraídos por JS dentro do bot. Como se fosse um double-check dos users que entram no bot, implementado a pedido do cliente.

Sobre a integração com Power BI, se tiver algum tutorial tão bem feito quanto este aqui para indicar, seria muito bem-vindo! 😉

Por enquanto o Sheets está nos atendendo bem com pequenas demandas, mas possivelmente, com o aumento do nº de acessos ao bot, teremos que providenciar uma melhor forma de extrair e contabilizar esses dados.

Mesmo diante desse cenário atípico, acho importante frisar essa limitação do Sheets, pois ela é por célula, ou seja, se a planilha tiver muitas colunas à serem preenchidas, em algum momento não será possível a inserção de dados. Dependendo do volume, o cliente deve decidir sim qual o melhor caminho a seguir, se contorna o problema com uma solução paliativa ou se busca soluções mais adequadas no mercado. 😉


olá
é possível trazer para a planilha o campo “Comentários” do Desk?
valeu


Pedro_Lucas
Forum|alt.badge.img+2
  • Autor
  • Specialist
  • January 20, 2022

é possível sim


q ótimo!!
e como seria isso?
obrigado Pedro!


Allan_Ribeiro

@Pedro_Lucas Parabéns pelo post, sensacional, só fiquei com uma dúvida o que colocar no “grant_type”: “refresh_token”,


Pedro_Lucas
Forum|alt.badge.img+2
  • Autor
  • Specialist
  • January 21, 2022

no grant_type não vai mudar, o grant_type é a palavra refresh_token msm


qual é a variável para o Comentário do Desk?
é só acrescentar a variável no script e a coluna no sheets né?


Allan_Ribeiro

Maravilha @Pedro_Lucas , agora estou com um outro cenário
Ele retorna para mim esse erro.


E fazendo as validações eu pego esse cara aqui

Que corresponde o mesmo deste, no qual retorna o status ok 200

O que poderia ser esse tema?


Pedro_Lucas
Forum|alt.badge.img+2
  • Autor
  • Specialist
  • January 21, 2022

você se cadastrou na engrenagem no canto superior direito?


Pedro_Lucas
Forum|alt.badge.img+2
  • Autor
  • Specialist
  • January 21, 2022

e de onde esta copiando o refresh token?