Excel von Microsoft ist das beliebteste Tabellenkalkulationsprogramm überhaupt. Jeder kennt es, jeder nutzt es, ob nun aus Überzeugung oder einfach weil alle anderen es nutzen. Der Vorteil der weiten Verbreitung von Excel liegt natürlich darin, dass es nicht an Spezialisten mangelt, die mithilfe von Excel schnell Etiketten, Serienbriefe, Statistiken, Pivottabellen und vieles mehr zaubern können. Der allseits bekannte Weg, Daten aus 1CRM in Excel zu bekommen ist der CSV-Export.
Leider ist die Aktualisierung der Daten über Excel immer mit einem gewissen Aufwand verbunden. In Excel lassen sich Daten aber auch mithilfe der REST-API von 1CRM und PowerQuery von Excel komfortabel einlesen.
Web-APIs gibt es eigentlich schon, seit es das WWW gibt. Über die Jahre haben sich mehrere Standards etabliert, der erste große war SOAP, über den XML-Dateien nach einem definierten Schema ausgetauscht werden konnten. Die REST-API wird seit ein paar Jahren als De-facto-Standard beim Datenaustausch zwischen Apps und Server-Backends, oder auch bei der Server-zu-Server-Kommunikation verwendet. Zukünftig könnten Graph-APIs, z.B. mit GraphQL eine größere Rolle spielen, die Ablösung von REST ist aber noch nicht absehbar.
Excel beinhaltet in aktuellen Versionen Power Query, damit lässt sich die REST-API des CRM-Systems nutzen, um Daten direkt aus dem System auszulesen.
Den Power-Query-Editor finden Sie in Excel im Bereich Daten.
Gehen Sie in den Bereich Daten
> Daten abrufen
> Power Query-Editor starten.
Der Power-Query-Editor öffnet sich in einem neuen Fenster.
Als erstes fügen wir dort über Home
> Parameter
einen neuen Parameter CrmUrl
ein:
Danach erstellen wir über Home
> neue Quelle
> Andere Quellen
> Leere Abfrage
eine neue Abfrage und benennen sie in Kontakte um.
Öffnen Sie mit einem Rechtsklick auf die Abfrage den erweiterten Editor und fügen Sie den folgenden Code ein:
Das sollte dann wie folgt aussehen:
Sobald sie auf Fertig
klicken, fragt PowerQuery Sie nach den Zugangsdaten für die REST API. In diesem Fall entspricht der Standard der Basic Authentication von 1CRM. Für die 1CRM-Demo funktioniert die Anmeldung mit maier/maier.
Nachdem Sie die Zugangsdaten eingetragen haben, wählen Sie Verbinden
.
Power Query zeigt Ihnen die Daten, die Sie dann über Schließen & Laden
in eine Excel-Tabelle übernehmen.
Die Aktualisierung erfolgt dann in Zukunft einfach mithilfe von Daten
> Alle Aktualisieren
.
Der Code für den erweiterten PowerQuery-Editor beinhaltet drei wichtige Variablen.
In den API-Einstellungen lässt sich zudem die Basic Authentication aktivieren und deaktivieren – die Nutzung von Basic Authentication mit PowerQuery ist deutlich einfacher als oAuth2. SSL ist für beide Methoden unbedingt zu empfehlen.
Variable | Bedeutung |
---|---|
fields | Über fields steuern Sie, welche Felder geladen werden sollen. Diese Feldnamen können Sie z.B. der Headerzeile eines CSV-Exports aus 1CRM entnehmen. Klicken Sie sich dafür einfach alle gewünschten Felder in einer Listenansicht oder einem Report in 1CRM zusammen und exportieren Sie die Resultate als CSV-Datei. |
module | Die Variable module enthält das CRM-Modul, auf das Sie zugreifen möchten. Probieren Sie z.B. Account, Lead, aCase, Opportunity, Quote, Invoice, SalesOrder, Project, Product oder Task. |
limit | Die Variable limit legt die Anzahl der zurückgegebenen Datensätze fest, wichtig ist, dass sie nicht höher sein darf als der in der Administration unter API-Einstellungen festgelegte Maximalwert. |