- Meine erste Kampagne
- Ihr erster Anruf in 3 Minuten
- Mit Ihrer Kampagne durchstarten
- Benutzer hinzufügen
- Die Kundenmaske anpassen
- Eigene Rufnummer hinterlegen
- Telefonie-Ergebnisse exportieren
- Das Gesprächsguthaben aufladen
- Anrufe tätigen
- Kampagnenvorlagen
- Dialfire richtig verstehen
Sync Client V2
Der Sync Client kann verwendet werden, um alle Updates auf Kontakten an eine SQL Datenbank oder einen Webservice zu übertragen. Die Datenübertragung erfolgt von Dialfire in die Datenbank bzw. den Webservice. Änderungen, die in der Datenbank vorgenommen werden, werden nicht zurück nach Dialfire übertragen.
Aktivierung
Um den Sync Client verwenden zu können, aktivieren Sie den entsprechenden Konnektor in den Kampagneneinstellungen. Nach erfolgreicher Aktivierung wird Ihnen unterhalb der Konnektoren ein Token angezeigt, dass Sie zur Verwendung des Clients benötigen. Das Token ist nur für den Benutzer sichtbar, der den Konnektor aktiviert hat.
Installation
Download des Binaries aus Bitbucket
Download und Kompilieren des Quellcodes
Installation von Git
sudo apt-get install git
Installation von Google Go
sudo apt-get install golang-go
Für die weiteren Schritte ist es notwendig, dass die Umgebungsvariable GOPATH gesetzt ist. Eine Beschreibung, wie Sie die Umgebungsvariable korrekt setzen, finden Sie hier.
Klonen des Repositories
go get bitbucket.org/modima/dbsync2
Installation der Abhängigkeiten
cd $GOPATH/src/bitbucket.org/modima/dbsync2 && godep restore
Kompilieren des Quellcodes
-
Zielplatform Linux
cd $GOPATH/src/bitbucket.org/modima/dbsync2/ && go build
-
Zielplatform Windows
cd $GOPATH/src/bitbucket.org/modima/dbsync2/ && GOOS=windows GOARCH=amd64 go build -o dbsync2.exe
-
Zielplatform Mac
cd $GOPATH/src/bitbucket.org/modima/dbsync2/ && GOOS=darwin GOARCH=amd64 go build -o dbsync2_mac
Funktionsweise
Alle Updates auf Kontakten werden minütlich aus Dialfire geladen und anschließend direkt an den Webservice bzw. an die Datenbank übertragen (siehe Verwendung).
Verwendung
SQL Datenbank
Der Client unterstützt derzeit folgende Datenbanksysteme:
- MySQL / MariaDB
- PostgreSQL
- Microsoft SQL Server
Bevor Sie den Client mit einer Datenbank verwenden können, muss die entsprechende Datenbank angelegt werden.
Der Client erzeugt folgende 4 Tabellen innerhalb der Datenbank:
- df_contacts
- Enthält alle $-Felder, sowie die ersten 150 benutzerdefinierten Felder der Kampagne
- df_transactions
- Enthält alle Transaktionen und den Fremdschlüssel contact_id auf den entsprechenden Kontakt
- df_connections
- Enthält alle Verbindungen der Transaktion und den Fremdschlüssel transaction_id auf die entsprechende Transaktion
- df_recordings
- Enthält alle Gesprächsaufzeichnungen der Verbindung und den Fremdschlüssel connection_id auf die entsprechende Verbindung
- df_inbound_calls
- Enthält alle Inbound Anrufe und den Fremdschlüssel contact_id auf den entsprechenden Kontakt
Datenbank URL Schema
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
Beispiel
Übertragen aller Transaktionen, ab dem 01. Februar 2018 in der Kampagne MY_CAMPAIGN an eine lokal laufende Instanz von Microsoft SQL Server. Dabei sollen nur Updates übertragen werden, die in Kampagnenstufen mit dem Präfix 'fc_' oder 'qc_' beginnen und von einem Benutzer durchgeführt wurden.
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
Webservice
Alternativ zu einer Datenbank können die Transaktionen an einen Webservice weitergeleitet werden. Der Service muss POST Anfragen akzeptieren und den erfolgreichen Empfang der Daten mit einem Statuscode zwischen 200 und 299 beantworten. Andernfalls werden die Daten erneut gesendet (maximal 10 Versuche).
Der gesendete Payload hat folgendes JSON-Format:
{
"contact":...,
"transaction":...,
"state":...,
}
- contact
- enthält die Kontaktdaten
- transaction
- enthält die entsprechende Transaktion
- state
- new ... bei einer neuen Transaktion
- updated ... bei einer Aktualisierung der Transaktion (z.B. nachträgliches Hinzufügen der Verbindungsdaten)
Beispiel
Übertragen aller zukünftigen Transaktionen in der Kampagne MY_CAMPAIGN an einen Webservice.
dbsync2 --a webhook --c MY_CAMPAIGN_ID --ct MY_CAMPAIGN_SYNC_CLIENT_TOKEN --url 'https://example.com/api/transactions/'
(Fehler-) Protokoll
- Alle Fehlermeldungen werden direkt in die Konsole (stdout) geschrieben.
- Alle Logmeldungen werden standardmäßig in die Datei
/var/log/dbsync/{MY_CAMPAIGN_ID}_{MODE}_{TIMESTAMP}.log
geschrieben. - Falls das Verzeichnis /var/log/ gesperrt ist, dann erscheinen die Meldungen unter
$HOME/.dbsync/logs/{MY_CAMPAIGN_ID}_{MODE}_{TIMESTAMP}.log
.
weitere Kommandozeilenoptionen
Eine Übersicht aller Optionen erhalten Sie folgendermaßen
dbsync2 --help