- Mi primera campaña
- Tu primera llamada en 3 minutos
- Empezando tu campaña en vivo
- Iniciando una nueva llamada
- Organizando los campos del formulario
- Configuración del ID de llamadas
- Exportación de resultados de llamadas
- Agregando saldo a tu cuenta
- Realizando llamadas
- Plantillas de Campaña Dialfire
- Dominando Dialfire
Sync Client V2
El Sync Client puede utilizarse para transferir todas las actualizaciones de los contactos a una base de datos SQL o a un servicio web.
Activación
Para poder utilizar el Cliente de sincronización, active el conector correspondiente en la configuración de la campaña. Después de la activación exitosa, se muestra un token debajo de los conectores. Es necesario para utilizar el cliente. El token sólo es visible para el usuario que ha activado el conector.
Instalación
Descarga del binario desde bitbucket
Descargar y compilar el código fuente
Instalar Git
sudo apt-get install git
Instalar Google Go
sudo apt-get install golang-go
Para los siguientes pasos es necesario que la variable de entorno GOPATH esté configurada. Se puede encontrar una descripción de cómo configurar correctamente la variable de entorno GOPATH aquí.
Clonar el repositorio
go get bitbucket.org/modima/dbsync2
Instalar todas las dependencias
cd $GOPATH/src/bitbucket.org/modima/dbsync && godep restore
Compilar el código fuente
-
Plataforma de destino Linux
cd $GOPATH/src/bitbucket.org/modima/dbsync2/ && go build
-
Plataforma de destino Windows
cd $GOPATH/src/bitbucket.org/modima/dbsync2/ && GOOS=windows GOARCH=amd64 go build -o dbsync2.exe
-
Plataforma de destino Mac
cd $GOPATH/src/bitbucket.org/modima/dbsync2/ && GOOS=darwin GOARCH=amd64 go build -o dbsync2_mac
Cómo funciona
Todas las actualizaciones de los contactos se cargan cada minuto desde Dialfire y luego se transfieren directamente al servicio web o a la base de datos (ver Uso).
Uso
Base de datos SQL
El cliente soporta actualmente los siguientes sistemas de bases de datos:
- MySQL / MariaDB
- PostgreSQL
- Microsoft SQL Server
Antes de poder utilizar el cliente con una base de datos, es necesario crear la base de datos correspondiente.
El cliente crea las siguientes 4 tablas dentro de esa base de datos:
- dfire_contacts
- Contiene todos los campos $, así como los 100 primeros campos personalizados de la campaña.
- dfire_transactions
- Contiene todas las transacciones y la clave externa contact_id del contacto correspondiente.
- dfire_connections
- Contiene todas las conexiones de la transacción y la clave externa transaction_id de la transacción correspondiente.
- dfire_recordings
- Contiene todas las grabaciones de llamadas de la conexión y la clave externa connection_id de la conexión correspondiente.
- dfire_inbound_calls
- Contiene todas las llamadas entrantes y la clave externa contact_id del contacto correspondiente.
Esquema URL de conexión a la base de datos
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
Ejemplo
Transferir todas las transacciones del 01 de febrero de 2018 en la campaña MY_CAMPAIGN a una instancia local en ejecución de Microsoft SQL Server. Sólo deben transferirse las actualizaciones que comienzan con el prefijo 'fc_' o 'qc_' en las etapas de la campaña y que han sido realizadas por un usuario.
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
Servicio web
Como alternativa a una base de datos, las transacciones pueden ser transferidas a un servicio web. El servicio debe aceptar solicitudes POST y responder a la recepción satisfactoria de los datos con un código de estado entre 200 y 299. En caso contrario, los datos serán reenviados (máximo 10 intentos).
La información enviada tiene el siguiente formato JSON:
{
"contact":...,
"transaction":...,
"state":...,
}
- contact
- contiene los datos del contacto
- transaction
- contiene la transacción correspondiente
- state
- new ... para una nueva transacción
- updated ... cuando la transacción se actualiza (por ejemplo, los datos de conexión se añaden posteriormente).
Ejemplo
Transferir todas las transacciones futuras de la campaña MY_CAMPAIGN a un Webservice.
./dbsync --a webhook --c MY_CAMPAIGN_ID --ct MY_CAMPAIGN_SYNC_CLIENT_TOKEN --url 'https://example.com/api/transactions/'
(Error) Protocolo
- Todos los mensajes de error se escriben directamente en la consola (stdout).
- Todos los mensajes de registro se escriben en
/var/log/dbsync/{MY_CAMPAIGN_ID}_{MODE}_{TIMESTAMP}.log
. - Si el directorio /var/log/ está bloqueado, los mensajes aparecen en
$HOME/.dbsync/logs/{MY_CAMPAIGN_ID}_{MODE}_{TIMESTAMP}.log
.
Opciones de la línea de comandos
Un resumen de todas las opciones se puede obtener con el siguiente comando.
dbsync --help