KIX - Forum

Community => Fragen | Konfiguration | Hilfe => Thema gestartet von: christian am 19.05.2021 23:59:03

Titel: Postmaster Filter - X-KIX-FollowUp-State-PendingTime aus Body extrahieren
Beitrag von: christian am 19.05.2021 23:59:03
Hallo zusammen,


ich scheitere gerade an folgender Anforderung:


Wir setzen zur Terminvereinbarung eine externe Plattform ein. Wenn ein Termin gebucht wurde verschickt die Plattform eine Mail an eine KIX-Adresse.


Im Betreff (Subject) der Mail steht: [Ticket#XXXXXX] Terminbuchung erfolgreich!
Im Body der Mail steht dann der gebuchte Termin im Zeitformat: 2021-05-24T10:30:00+02:00
Dieses Format kann ich leider nicht ändern.

Nun möchte ich beim Eingang dieser Mail den Ticketstatus auf "Terminbuchung erfolgreich" (das ist ein Warten zur Erinnerung Status) setzen (das funktioniert bereits) UND die Warten-Zeit (PendingTime) auf die Zeit des gebuchten Termins setzen. Somit wird das Ticket erst wieder im System für die Agenten sichtbar wenn der Termin stattfindet.

Der Header X-KIX-FollowUp-State-PendingTime erwartet aber ein absolutes Datum im Format JJJJ-MM-DD 00:00 und nicht wie im Body der Mail "2021-05-24T10:30:00+02:00"

Ich habe mir also erstmal zwei RegEx gebaut die nur auf die Bestandteile des Zeitformats matchen mit denen KIX auch was anfangen kann:


[0-9]{4,}[-][0-9]{2,}[-][0-9]{2,} - für 2021-05-24
[0-9][0-9][:][0-9][0-9]{1} - für 09:45


Im Hinweisfenster des Postmasterfilter steht folgendes:

"... Wenn Sie reguläre Ausdrücke verwenden, können Sie die gefundenen Werte in () auch als [***] in der Aktion "Setzen" verwenden."

Dementsprechend habe ich jetzt folgenden Filter gebaut:



Zu überprüfender E-Mail Header: Body
Nach dem Wert suchen: ([0-9]{4,}[-][0-9]{2,}[-][0-9]{2,}) ([0-9][0-9][:][0-9][0-9]{1})


Zu überprüfender E-Mail Header: Subject
Nach dem Wert suchen: Terminbuchung erfolgreich!


Setze E-Mail-Kopfzeile: X-KIX-FollowUp-State
Setze Wert: Termin Fernwartung gebucht


Setze E-Mail-Kopfzeile: X-KIX-FollowUp-State-PendingTime
Setze Wert: [[0-9]{4,}[-][0-9]{2,}[-][0-9]{2,}] [[0-9][0-9][:][0-9][0-9]{1}]


Wenn ich nur den X-KIX-FollowUp-State setze funktioniert der Filter einwandfrei. Der Status wird korrekt gesetzt.
Nehme ich dann den X-KIX-FollowUp-State-PendingTime dazu funktioniert der Filter nicht mehr.


Ich möchte quasi aus dem Mailbody "2021-05-24T10:30:00+02:00" den Wert "2021-05-24 10:30" machen und als X-KIX-FollowUp-State-PendingTime setzen.


Bin für alle Ideen / Hilfe dankbar.


Gute Nacht und viele Grüße



Titel: Re: Postmaster Filter - X-KIX-FollowUp-State-PendingTime aus Body extrahieren
Beitrag von: Richard Leis am 01.07.2021 10:30:00
Hallo Christian,

das wird so leider nicht funktionieren.
Man kann in einem Postmaster-Filter einen Ausdruck als Variable zitieren, indem man den entsprechenden Teil in die normalen Klammern setzt. Diese Variable kann man dann setzen, indem man den Ausdruck "[***]" verwendet.
Das geht aber leider nur mit einer Variable. So wie bei Dir, dass hier zwei Variablen (Datum und Uhrzeit) benötigt werden, geht leider nicht.
Hier ein Beispiel zur Verdeutlichung:
In einer Mail steht der Header "X-Priority: 4 high", dann kann man die Priorität in KIX setzen:
Filterbedingung: X-Priority -> (.*)
Kopfzeile setzen: X-KIX-Priority -> [***]

Man kann Werte also nur genauso übernehmen, wie Sie in der Mail stehen.
In Deinem Fall müsste der Zeitpunkt also bereits im korrekten Format vorliegen, eine Anpassung ist hier nicht möglich.
Du wirst also leider nicht drum herumkommen, den Wartezeitpunkt manuell zu setzen.

Viele Grüße
Richard