Skip to main content

Credenciais do Google e Sincronização

Visão Geral

O CRM possui a capacidade de sincronizar as reuniões de um usuário com seu Google Calendar. Esta é uma sincronização bidirecional, e alterações em qualquer uma das pontas da sincronização geram atualizações na outra.

Não há intermediários neste processo. Seus dados não passam por terceiros. É apenas sua instância do CRM e os servidores do Google.

Requisitos

Credenciais API Válidas

Para sincronizar as reuniões do usuário do CRM com o Google Calendar, o sistema deve possuir credenciais válidas salvas.

Essas credenciais são criadas no Console de Desenvolvedores do Google, baixadas como arquivo JSON e importadas para o CRM. Há instruções de como fazer isso mais adiante nesta página.

Acesso à Internet pelo Servidor do CRM

O servidor do CRM deve ter acesso à internet. Contudo, o servidor não precisa ser acessível publicamente. O usuário deve conseguir acessar tanto o Google quanto o CRM simultaneamente para autorizar o acesso ao calendário. Após essa autorização, a sincronização é executada periodicamente sem interação do usuário. O usuário não precisa estar logado no CRM para que a sincronização funcione.

Pelo Menos Uma Conta Google

Você precisará de uma Conta Google para criar as credenciais API e de uma conta para sincronizar. Podem ser a mesma conta se houver apenas um usuário. As credenciais API precisam ser geradas apenas uma vez, a partir de uma única conta. Essas credenciais podem ser usadas para sincronizar todos os usuários após eles autorizarem o acesso à sua conta. Podem ser contas genéricas @gmail.com ou qualquer nível de conta GSuite (Basic/Business/Enterprise).

Gerando e Instalando Credenciais Google

Gerando Credenciais

Certifique-se de estar logado em uma conta Google antes de prosseguir.

Acesse o Console de Desenvolvedores do Google


Clique no menu suspenso no topo da tela.

cred 1

Clique no botão 'New Project'.

cred 2

Dê ao projeto um nome descritivo, como 'CRM Google Sync', e clique em 'Create'.

cred 3

No topo da página, clique no dropdown ‘Select a project’…

cred 4

… depois clique no projeto que você acabou de criar.

cred 5

Agora você verá o projeto selecionado e uma mensagem informando que nenhuma API está habilitada. Clique no link ‘Library’ na mensagem.

cred 6

No campo de busca, digite “Calendar” e clique no resultado ‘Google Calendar API’.

cred 7

Clique no botão ‘Enable’.

cred 8

Com a API habilitada, vamos criar as credenciais. Clique no botão ‘Create credentials’.

cred 9

Configure as opções na seção 1 conforme indicado. Clique em ‘What credentials do I need?’ para continuar.

cred 10

Na Seção 2, dê um nome descritivo. Deixe ‘JavaScript origins’ em branco.

Em ‘Authorized redirect URIs’, preencha a URI completa para o Entry Point ‘saveGoogleApiKey’.
Por exemplo, se o seu CRM está acessível pelo endereço 'http://crm.seudominio.com/', então você deve acrescentar 'index.php?entryPoint=saveGoogleApiKey' ao final, ficando:
http://crm.seudominio.com/index.php?entryPoint=saveGoogleApiKey
Se o CRM estiver numa subpasta, inclua-a. Por exemplo:
http://crm.seudominio.com/CRM/index.php?entryPoint=saveGoogleApiKey

Note que essa URL não precisa ser pública, somente acessível para o usuário que realizará a autorização da sincronização. Para ambiente de produção é fortemente recomendado usar HTTPS em um site público.

Clique em ‘Create OAuth client ID’.

cred 11

Crie um nome descritivo novamente. Há mais opções em ‘More customization options’, mas não são necessárias para esta função. Clique em ‘Continue’.

cred 12

Clique no botão ‘Download’ e salve o arquivo .json. Usaremos esse arquivo posteriormente no CRM. Clique em ‘Done’ quando terminar. Isso é tudo o que precisamos para que todos os usuários possam sincronizar seus calendários.

cred 13


Instalando Credenciais

Faça login no CRM como usuário administrador.

Acesse ‘Administração’.
Role até a seção 'Google Suite'.
Clique em 'Google Calendar Settings'.


Note que está escrito ‘Unconfigured’. Isso significa que nenhum arquivo JSON está instalado.
Clique em ‘Choose File’ e selecione o arquivo JSON que você baixou do Console do Desenvolvedor.
Clique no botão ‘Save’ na parte inferior da tela.

cred 14

O sistema retornará ao menu 'Administração'. Entre novamente em 'Google Calendar Settings'.
Agora estará escrito ‘Configured’ em verde, indicando que o arquivo JSON foi salvo com sucesso.

cred 15


Se precisar instalar novas credenciais, basta fazer o upload novamente, o arquivo anterior será substituído.

Autorizando Acesso ao Calendário

Esta ação precisa ser realizada pelo usuário para habilitar a sincronização com o Google Calendar


Clique no menu abaixo do seu nome, no canto superior direito do CRM, e selecione ‘Profile’.

cred 16

Acesse a aba ‘Advanced’.

cred 17

Você verá o subtítulo ‘Google Account Synchronization’ no final da página. Se ele não aparecer, significa que o servidor do CRM não possui as credenciais Google instaladas.
Clique no botão ‘Authorize’.

cred 18

Se estiver logado em várias contas Google, será solicitado escolher qual deseja sincronizar. Caso contrário, será exibido o diálogo abaixo:

cred 19

Ao clicar em ‘Allow’, você será redirecionado de volta à página de perfil. Acesse novamente a aba ‘Advanced’ e deverá ver:

cred 20


Marque a opção ‘Enable Calendar Sync’ e clique em ‘Save’.

Pronto! Por padrão, a sincronização acontece a cada 15 minutos. Isso pode ser alterado pelo Administrador na configuração do Scheduler.

Problemas Conhecidos

Se o valor "google_calendar_sync_name" for alterado, isso causará a ressincronização de todas as reuniões. Isso acontece porque o Google entende que todas as reuniões atuais são itens novos e únicos no Calendário.

A melhor forma de evitar isso é não alterar o valor "google_calendar_sync_name" localizado no arquivo config.php.

Desabilitando a Sincronização do Google Calendar

Se desejar desabilitar completamente a sincronização com o Google Calendar ou reiniciar o token, faça o seguinte:


Desative a tarefa ‘Google Sync Calendars’ em Administração/Scheduler.

disable 1

Apague a linha do token do Google Cloud no arquivo config_override.php

disable 2


Para resetar a autorização do Google, o usuário pode resetar suas configurações pessoais. Pode ser desnecessário se o token já foi apagado da configuração administrativa e a tarefa do scheduler está desativada.