Labels bei Telefonbuch import aus CSV

Hallo,

wie kann man beim Telefonbuch import aus CSV auch ein oder mehrere Lables vergeben? Habe in der Dokumentation gesehen dass es beim Exchange Connector funktionieren soll.

Danke und Grüße!
Mirko

Hallo Mirko,

folgendes musst du machen

Die Struktur erweitern um die Labels siehe Codesnippet

{
"phonebook": [{
	"028pho_bez" : 			"{{{displayname}}}",
	"028pho_phone" : 		"{{{phone}}}",
	"028pho_firstname" : 	"{{{givenname}}}",
	"028pho_lastname" : 	"{{{surname}}}",
	"028pho_organisation" : "{{{organisation}}}",
	"028pho_email" : 		"{{{email}}}",
	"028pho_mobile" : 		"{{{mobile}}}",
	"028pho_homephone" : 	"{{{homephone}}}",
	"028pho_fax" : 			"{{{fax}}}"
    ,"post": {
    "phonebook.phonebooklabel": [{
        "050lab_bez": "Typ",
        "028050pholab_value": "{{{labelname}}}"
	}]
}
}]

}

Und dann dieses Label unter Variablen hinzufügen

Gruß Markus

Guten Morgen Markus,

das hatte ich eben schon probiert aber es kam ein Fehler. Jetzt habe ich aber den Fehler gefunden! Er hat sich bei dir nämlich auch eingeschlichen und zwar habe ich den Beistrich nach der fax Zeile vergessen. :wink:
So funktioniert es:

{
  "phonebook": [{
    "028pho_bez" : 			"{{{displayname}}}",
    "028pho_phone" : 		"{{{phone}}}",
    "028pho_firstname" : 	"{{{givenname}}}",
    "028pho_lastname" : 	"{{{surname}}}",
    "028pho_organisation" : "{{{organisation}}}",
    "028pho_email" : 		"{{{email}}}",
    "028pho_mobile" : 		"{{{mobile}}}",
    "028pho_homephone" : 	"{{{homephone}}}",
    "028pho_fax" : 			"{{{fax}}}",
    "post": {
        "phonebook.phonebooklabel": [
            {
                "050lab_bez": "CardCode",
                "028050pholab_value": "{{{CardCode}}}"
            }
        ]
    }
  }]
}

Grüße und frohe Ostern! :slight_smile:
Mirko

Ich habe dazu eine Frage bzw. folgendes Problem tritt bei mir auf.

Meine Struktur sieht so aus, dass ich zwei Label importieren möchte:

{
“phonebook”: [{
“028pho_bez” : “{{{displayname}}}”,
“028pho_phone” : “{{{phone}}}”,
“028pho_firstname” : “{{{givenname}}}”,
“028pho_lastname” : “{{{surname}}}”,
“028pho_organisation” : “{{{organisation}}}”,
“028pho_email” : “{{{email}}}”,
“028pho_mobile” : “{{{mobile}}}”,
“028pho_homephone” : “{{{homephone}}}”,
“028pho_fax” : “{{{fax}}}”,
“028pho_notes” : “{{{notes}}}”,
“post”: {
“phonebook.phonebooklabel”: [{
“050lab_bez”: “KdNr”,
“028050pholab_value”: “{{{KdNr}}}”,
“050lab_bez”: “Branche”,
“028050pholab_value”: “{{{Branche}}}”
}]
}
}]
}

Die Variablen wurden dazu entsprechend angelegt:

Kdnr = return $row[‘KdNr’];
Branche = return $row[‘Branche’];

Wenn ich den Import simuliere, ist alles i.O. Wenn ich jedoch den Echt-Import durchführe, wird immer nur das letzte Label (also Branche) gesetzt, während das vorige Label “KdNr” nicht gesetzt wird. Das Label ist einfach leer.

Die Import-Simulation zeigt mir die importierten Daten korrekt an. Beim Echt-Import kommt jedoch nur das letzte Label an.

Wie kommt das? Was mache ich falsch?

VG,
Ansgar Licher

Hallo @AnsgarLicher,

hat sich bestimmt bereits erledigt, aber so sollte es klappen:

{
  "phonebook": [{
    "028pho_bez" : 	        "{{{displayname}}}",
    "028pho_phone" : 		"{{{phone}}}",
    "028pho_firstname" : 	"{{{givenname}}}",
    "028pho_lastname" : 	"{{{surname}}}",
    "028pho_organisation" : "{{{organisation}}}",
    "028pho_email" : 		"{{{email}}}",
    "028pho_mobile" : 		"{{{mobile}}}",
    "028pho_homephone" : 	"{{{homephone}}}",
    "028pho_fax" : 	        "{{{fax}}}",
    “028pho_notes” :        “{{{notes}}}”,
    "post": {
        "phonebook.phonebooklabel": [
            {
                "050lab_bez": "KdNr",
                "028050pholab_value": "{{{KdNr}}}"
            },
            {
                "050lab_bez": "Branche",
                "028050pholab_value": "{{{Branche}}}"
            }
        ]
    }
  }]
}

Danke für die Konfig! Ja, ich konnte das Problem mittlerweile erkennen und beheben.

VG,
Ansgar

Hat zufällig jemand eine leere Beispieldatei (Musterdatei) zur Hand, aus der hervorgeht, wie die CSV-Datei in Bezug auf die Labels aufgebaut sein musss? Ich stelle mir das so vor, dass die CSV alle Labels in einer Spalte hat oder geht ihr davon aus, dass für jedes Label eine eigene Spalte vorhanden sein muss.

Gruß
Michael

Hallo Michael,

"displayname","phone","givenname","surname","organisation","email","mobile","homephone","fax","homepage","customernumber","VIP"
"Max Muster","+4999112345","Max","Muster","pascom","","","","+4999112399","www.pascom.net","30000","ja"

habs mal ausprobiert und mit einem simplen Texteditor alle Daten in eine Zeile gepackt. Am Schluss die beiden Labels Kundennummer und VIP. Funktioniert so wunderbar.

Grüße
Andi

1 Like

@Andi Vielen Dank! Damit werde ich mal testen. Bin gespannt, wie sich der Import verhalten wird, da ja dann bei dem Konzept die Spaltenzahl durchaus unterschiedlich sein kann. Schließlich hat nicht jeder Eintrag die gleiche Anzahl Labels. Somit fehlen u.U. Spalten.

Gruß
Michael

Hi Michael,

Ja das kann immer sein wichtig ist halt das dann leere Spalten da sind. Unterschiedlich lange Spalten geht nicht.
Geht aber nie bei einem CSV Import

Gruß Markus

Hi Markus,
das stimmt so nicht ganz. Es gibt zumindest unter .Net Bibliotheken, da spielt die Spaltenanzahl keine Rolle

Cool wäre halt gewesen, wenn man in einer Spalte die Labels als JSON-Array häte übergeben können.

Aber gut, suchen wir uns also einen andere Weg :wink:

Gruß
Michael

Wie gesagt das wir mit PHP gemacht in der Pascom

Kann aber sein das das per Rest mit Jason geht das Haben ich noch nie probiert.

Gruß Markus

Hi

Ich möchte gerne beim Importieren der Benutzer:

  • ein generisches Label für den Benutzer erstellen (Label-Name soll der Anzeigename sein)
  • zu dem Label eine Aktionsbedingung anlegen mit dem gleichen Namen

Geht das mit dem .csv-Import?

Ich bin da noch an den Anfängen :see_no_evil:

Danke für eure Hilfe :slight_smile:

Hi @Timo,

hier lassen sich nur vorhandene Label mit individuellem Wert anlegen. Was möchtest du denn genau erreichen? Per Asterisk Expression kannst du prüfen ob gerade Benutzer xy der den Call startete (caller) vorliegt.

Grüße,
Steve