pixi* - (Kunden-) Kontakte automatisch in GREYHOUND importieren

  • Voraussetzungen

    • Das Import/Export Modul für den Greyhound
    • Zugriff auf Pixi über die API


    Was man braucht

    • Ein Script, das aus den Pixi-Kontakten eine CSV-Datei erzeugt
    • Einen Datenaustausch im GH, der diese CSV importiert und die Kontakte im GH erzeugt
    • Ein Benutzerdefiniertes Feld, dass eine eindeutige Kunden-ID enthält (z.B. die CustomerNrExternal aus Pixi)
    • Einen Filter, der alle unklassifizierten Elemente (z.B. Bestellbestätigungen) anzeigt
    • Eine Regel, die diese nach Import der Kontakte klassifiziert


    Ablauf
    Zu Beginn muss man einmalig alle Bestandskunden aus Pixi importieren. Das sind u. U. ziemlich viele und dann funktioniert die hier beschriebene Methode über die API nicht. Da der Ablauf aber der selbe ist, gehe ich bei der weiteren Beschreibung davon aus, dass man ein mal täglich nur die seit dem letzten Import geänderten Kontakte importieren möchte. Für die, die's genau wissen wollen, hänge ich das modifizierte Script für den einmaligen Import auch an: pixi_export_contacts_once.php


    1.) Benutzerdefiniertes Feld anlegen
    Name: CustomerNrExternal
    Datentyp: String
    Verfügbarkeit: Kontakte



    2.) Ein Script holt die Kontakte aus Pixi


    pixi_export_contacts.php
    Alle seit Zeitpunkt x geänderten Kontakte holen. Hierfür gibt es die Mehtode pixiGetChangedCustomers. Diese gibt unter anderem den AddrKey zurück, also einen Schlüssel für die Adresse des Kunden. Mit diesem Schlüssel holt man sich jetzt mit der Methode pixiGetAddress die Adresse und baut daraus die CSV.


    Unsere CSV hat diesen Aufbau:
    eMail;FirstName;LastName;Company;Address;City;ZIP;Phone;Fax;CountryName;CustomerNrExternal


    Momentan erzeugen wir die CSV auf dem Webserver und ich hole sie dann einmal täglich auf meinen Desktop, um sie in den GH zu importieren, das lässt sich sicher noch etwas schicker lösen (automatisieren).


    3.) Ein Datenaustausch importiert die Kontakte in den Greyhound
    Im Greyhound-Client unter "Funktionen->Im-/Export" einen neuen Import erstellen.
    Unter Einfügemodus kann man festlegen, was mit bereits bestehenden Kontakten geschehen soll. Damit der GH einen Kontakt als bereits vorhanden identifizieren kann, muss unter Fremdschlüssel das oben angelegt Benutzerdefinierte Feld CustomerNrExternal ausgewählt werden.



    4.) Elemente Klassifizieren
    Jetzt sind die Kontakte im Greyhound. Da Bestellbestätigungen, Pixi-Automails etc. aber schon im GH gelandet sind, bevor die zugehörigen Kontakte da waren, müssen diese Elemente jetzt noch klassifiziert werden. Dazu erstellt man sich am besten einen Filter, der genau diese Elemente anzeigt. Beim Erstellen das Filters dazu unter Klassifizierung "Maximal 0 Kontakte" anhaken.
    Jetzt noch schnell eine Regel gebaut, die das Klassifizieren erledigt, diese Regel auf den Filter angewendet - Fertig.



  • Hallo zusammen,


    das Thema ist zwar uralt, wir sind aber gerade dabei Greyhound komplett zu integrieren und Outlook abzuschaffen.


    Daher die Frage meinerseits zum Import von Kontakten über die hier vorgestellte Methode:


    Ich scheitere Momentan schon damit, das Skript rudimentär zum laufen zu bekommen. Als Pfad habe ich mal den Ordner gh-export auf unserem Server angelegt, in den sollte dann alles importiert werden.


    Leider habe ich schon Probleme beim anlegen der timestamp-Datei...


    Zitat

    Warning: fopen(/gh-export/pixi_export_contacts_timestamp.txt) [function.fopen]: failed to open stream: No such file or directory in /home/www/web3/html/gh-export/pixi_export_timestamp.php on line 37
    Could not open outfile!


    ^Das ist die Fehlermeldung, die ich erhalten, wenn ich die stark verkürzte pixi_export_timestamp.php ausführe. Ich habe mal alles m.E. unnötige rausgestrichen, da ich schon hier scheiter.
    Rechte für den Ordner gh-export sowie für alle Dateien im Ordner sind auf 777
    Die pixi_export_contacts_timestamp.txt habe ich mal als leere Datei (777) angelegt.


    Stehe ich auf dem Schlauch? Ist das alles veraltet und nicht mehr einsetzbar?


    Bin schon jetzt verzweifelt...


    Vielen Dank für Eure Hilfe!
    php-Datei:


    [/b]?>
    Line 37 ist übrigens

    Zitat


    $fout = fopen($path . $filename_out,
    'w') [b]or die ([/b]'Could not open outfile!');

  • Hallo reg_user,


    An dieser Stelle vllt. zunächst mal der Hinweis, dass es dafür mittlerweile eine Pixi-App gibt. Schau mal im Pixi Appstore...


    Im Prinzip sollte das hier aber schon noch funktionieren. Du musst den Pfad zur Timestam Datei absolut, also vom Root-Verzeichnis des Servers aus, angeben. In Deinem Fall müsste das dann wohl so aussehen:


    $path = '/home/www/web3/html/gh-export/'

  • Ach, es hätte so schön sein können. Aber nach den ersten Sekunden das nächste Aus. Und nach vielem Suchen im Netz bin ich dann doch wieder hier und frage mich, ob jemand weiter weiß...


    Scheinbar gibt's da ein Soap Problem. Kann damit jemand was anfangen?


    Ich verwende genau die Datei aus dem ersten Beitrag, natürlich ergänzt um die Kennungen.
    Nicht sicher bin ich mir am Anfang der Konfig, hier wird nach $pixi_wsdl gefragt, ob das dann wirklich mit .wsdl abschließen muss. Aber habe natürlich alles ausprobiert, mit https://(xxx)?wsdl.wsdl (wie in der Originaldatei), nur mit der URL (also ohne das von pixi vorgegebene ?wsdl), mit URL und .wsdl, mit URL mit ?wsdl.


    Hilfe!


    Grüße, Mario