- A minha primeira campanha
- A sua primeira chamada em 3 minutos
- Ativar a sua campanha
- Adicionar utilizadores
- Dispor os campos de formulários
- Definir o identificador de chamada
- Exportar resultados de chamadas
- Carregar o seu crédito de chamadas
- Efetuar chamadas
- Modelos de campanha Dialfire
- Dominando Dialfire
Sync Client V2
O Sync Client pode ser utilizado para transferir todas as atualizações de contatos para uma base de dados SQL ou um serviço web.
Ativação
Para poder utilizar o Sync Client, ative o mesmo nas definições da campanha. Após a ativação bem sucedida, um token é exibido abaixo dos conectores. É necessário para poder utilizar o Sync Client. O token só estará visível para os utilizadores que ativam o conetor.
Instalação
Download do binário do bitbucket
Descarregar e compilar o código fonte
Instalar Git
sudo apt-get install git
Instalar Google Go
sudo apt-get install golang-go
Para os passos seguintes é necessário que a variável ambiental GOPATH* esteja definida. Uma descrição de como definir corretamente a variável de ambiente GOPATH* pode ser encontrada aqui.
Clonar o repositório
go get bitbucket.org/modima/dbsync2
Instalar todas as dependências
cd $GOPATH/src/bitbucket.org/modima/dbsync && godep restore
Compilar o código fonte
-
Plataforma alvo Linux
cd $GOPATH/src/bitbucket.org/modima/dbsync2/ && go build
-
Plataforma alvo Windows
cd $GOPATH/src/bitbucket.org/modima/dbsync2/ && GOOS=windows GOARCH=amd64 go build -o dbsync2.exe
-
Plataforma alvo Mac
cd $GOPATH/src/bitbucket.org/modima/dbsync2/ && GOOS=darwin GOARCH=amd64 go build -o dbsync2_mac
Como funciona
Todas as atualizações dos contactos são carregadas a cada minuto a partir do Dialfire e depois transferidas diretamente para o serviço web ou base de dados (ver Utilização).
Utilização
Base de dados SQL
O client suporta atualmente os seguintes sistemas de bases de dados:
- MySQL / MariaDB
- PostgreSQL
- Microsoft SQL Server
Antes de se poder utilizar o client com uma base de dados, deve ser criada a base de dados correspondente.
O client cria as seguintes 4 tabelas dentro dessa base de dados:
- dfire_contacts
- Contém todos os campos $, bem como os primeiros 100 campos personalizados da campanha.
- dfire_transactions
- Contém todas as transações e a chave estrangeira contact_id* no contato correspondente.
- dfire_connections
- Contém todas as ligações da transação e a chave estrangeira transaction_id* relativa à transação correspondente.
- dfire_recordings
- Contém todas as gravações de chamadas e a chave estrangeira connection_id* para a ligação correspondente.
- dfire_inbound_calls
- Contém todas as chamadas recebidas e a chave estrangeira contact_id* para o contato correspondente.
Esquema URL de ligação à base de dados
MySQL / MariaDB:
mysql://username:password@localhost:3306/database?useSSL=false
PostgreSQL:
postgres://username:password@localhost:5432/database?sslmode=disable
Microsoft SQL Server:
sqlserver://username:password@localhost:1433/instance/database
Exemplo
Transferir todas as transações de 01 de Fevereiro de 2018* para a campanha MY_CAMPAIGN* para uma instância local de Microsoft SQL Server*. Apenas as atualizações que comecem com o prefixo 'fc_' ou 'qc_' em fases de campanha e que tenham sido efetuadas por um utilizador* devem ser transferidas.
dbsync2 --a db_sync --fm hi_updates_only --fp 'fc_,qc_' --c MY_CAMPAIGN_ID --ct MY_CAMPAIGN_SYNC_CLIENT_TOKEN \
--s 2018-02-01 --url sqlserver://my_user:my_password@localhost:1433/my_database
Serviço Web
Como alternativa a uma base de dados, as transações podem ser encaminhadas para um serviço web. O serviço deve aceitar pedidos POST e responder à receção bem sucedida dos dados com um código de estado entre 200 e 299. Caso contrário, os dados serão reenviados (máximo 10 tentativas).
A carga útil enviada tem o seguinte formato JSON:
{
"contact":...,
"transaction":...,
"state":...,
}
- contact
- contém os dados de contato
- transaction
- contém a transação correspondente
- state
- new ... para uma nova transação
- updated ... quando a transação é atualizada (por exemplo, os dados de ligação são adicionados mais tarde).
Exemplo
Transferir todas as futuras transações da campanha MY_CAMPAIGN para um Webservice.
./dbsync --a webhook --c MY_CAMPAIGN_ID --ct MY_CAMPAIGN_SYNC_CLIENT_TOKEN --url 'https://example.com/api/transactions/'
(Error) Protocolo
- Todas as mensagens de erro são escritas diretamente para a consola (stdout).
- Todas as mensagens de registo são escritas para
/var/log/dbsync/{MY_CAMPAIGN_ID}_{MODE}_{TIMESTAMP}.log
. - Se o directório /var/log/* estiver bloqueado, então as mensagens aparecem em
$HOME/.dbsync/logs/{MY_CAMPAIGN_ID}_{MODE}_{TIMESTAMP}.log
.
Opções de linha de comando
Uma visão geral de todas as opções pode ser obtida com o seguinte comando.
dbsync --help