Hauptmenü

CustomerUser anhand Telefonnummer finden

Begonnen von fabid, 11.12.2018 15:42:50

⏪ vorheriges - nächstes ⏩

fabid

Hi zusammen,


ich würde gerne mit einem Generic Agent die neu erstellten E-Mail-Tickets von unserer Voicemail dem richtigen Kunden zuordnen.
Die Mails unserer Voicemail enthalten dabei die Telefonnummer des Anrufers im Titel.
[size=78%]Ich bin mit meinem Generic Agent aktuell so weit, dass ich in ankommenden Mails der Voicemail die Telefonnummer herauslese.[/size]


Nun stehe ich vor dem Problem der Suche des Kundenbenutzers anhand der Telefonnummer.
Da man laut der OTRS-API CustomerUser nicht anhand der Telefonnummer-Felder suchen kann, habe ich das zunächst so probiert:

my @CustomerIDs = $CustomerUserObject->CustomerIDList();


    for my $CustomerID (@CustomerIDs) {
        my %User = $CustomerUserObject->CustomerUserDataGet(
            User => $CustomerID,
        );
        if ( $User{UserPhone} eq $PhoneNumberFromTitle ||  $User{UserMobile} eq $PhoneNumberFromTitle ) {
            $LogObject->Log(
                Priority => 'notice',
                Message  => "[Voicemail - $Ticket{TicketNumber}] customer user found: $User{UserLogin}",
            );
            last;
        }
    }



Wie kann ich umgehen, in einer Schleife alle Kundenbenutzer zu durchlaufen?
Kann man die Telefon-Felder der Benutzertabelle vielleicht doch durchsuchbar machen?


Viele Grüße
Fabian


Danny Bochmann

Hallo Fabian,

du kannst versuchen den Eintrag für "CustomerUserSearchFields" um die Telefonnummer zu erweitern.
Dazu musst du den gesamten Block aus der Defaults.pm in die Config.pm einbinden und dahingehend um das Feld "phone" erweitern.
Im Anschluss daran bitte ein ConfigRebuild sowie einen Delete Cache und Webserver neustart durchführen.
Daraufhin sollte es möglich sein nach einer Telefonnummer zu suchen.

VG
Danny