Das Tool liest Adressdaten von einem SQL- oder von einem Carddav Server (z.B. Nextcloud)
Es prüft, ob der Name jedes Kontaktes bereits im Adressbuch ist. Wenn nein, wird er angelegt.
Wenn ja, wird geprüft ob sich Rufnummern geändert haben und in diesem Falle der Kontakt gelöscht und neu angelegt.
Im Gegensatz zu (kostenpflichtigen) Modulen ist die REST Schnittstelle i.d.R. sehr lange Update-Stabil und funktioniert auch mit einer Starface Free Edition.
Abhängigkeiten
SQL: 'apt install python3-pymssql' durchführen, um Datenbankmodul zu installieren.
CardDav: 'apt install python3-vobject' sowie die folgende carddav.py Datei ins gleiche Verzeichnis kopieren:
Konfiguration
SQL-Parameter / CardDav + Starface Parameter eintragen
SQL: Datenbankzuweisung machen, d.h. in das Dictionary in die letzte Spalte die Spaltennamen anpassen. Hier greife ich auf eine MSSQL "Repdoc" Instanz zu, aber andere CRM Systeme nutzen andere Datenbank-, Tabellen- und Spaltennamen.
Aufruf
- i sql Liest vom SQL Server
- i carddav Liest vom Carddav Server
-o print Ausgabe der CSV Datei in der Konsole
-o csv Speichern der CSV Datei
-o starface Hochladen der Daten via REST Schnittstelle
z.b:
./starface_addr.py -i sql -o starface
Feedback und Rückfragen hier ins Forum.
Ich habe noch ein paar Ideen, z.B. könnte man eine CSV Datei als Quelle verwenden und hochladen. Vorteil: Es werden nur nicht vorhandene Kontakte oder geänderte Kontakte ins Adressbuch übernommen. Der Kunde könnte aus seiner Datenbank selbst regelmäßig einen Export anstoßen und das Skript läuft regelmäßig über den Ordner.
Anpassung / Implementierung für spezifische Kundensituation: Kann ich kostenpflichtig auf Stundenbasis übernehmen.
Wie lange hat es gedauert, das Tool zu schreiben? Ca. 14 Std. Bin aber kein alteingesessener Python Experte.
Caveats:
- Es dürfen keine zwei Kontakte mit gleichem Namen existieren, es wird dann nur der letzte Kontakt übernommen.
Alternativer Download: krause-computer.de/starface_addr.py