E-Mail Scoring in Verbindung mit dem VCC ERMS Modul
Für die Verwendung in Verbindung mit dem VCC ERMS Modul, kann folgendes PERL-Script verwendet werden.
use LWP::UserAgent;
use Data::Dumper;
use Encode qw( encode_utf8 );
use JSON qw( decode_json );
#SCRIPT VERSION -> 1.0
my $webApiUrl = 'http://SERVER/PATH/api/v1/webapi/matches';
#my $enc_Body = encode_base64($Body);
#my $enc_Subject = encode_base64($Subject);
my $j = JSON->new;
my $jData = {Body=>$Body, Subject=>$Subject};
my $jDataString = $j->encode($jData);
my $ua = LWP::UserAgent->new(timeout => 10);
my $req = HTTP::Request->new( 'POST', $webApiUrl );
$req->header( 'Accept' => 'application/json' );
$req->header( 'Content-Type' => 'application/json' );
$req->header( 'Content-Length' => length( $jDataString ) );
$req->content( $jDataString );
my $response = $ua->request( $req );
if($response->is_success)
{
my $data = decode_json( encode_utf8 ( $response->content ) );
my $numberOfItems = $data->{nbrMatches};
if($numberOfItems > 0){
$Priority = $data->{priority};
$Queue = $data->{queue};
$Properties{'Katgeorie'} = $data->{categoryName};
# SET SKILLS
my $indexCounter = 0;
foreach my $skill ( @{$data->{skills}} )
{
$Skills[$indexCounter] = $skill;
$indexCounter++;
}
for my $property( @{$data->{properties}} )
{
my $propertyName = $property->{key};
$Properties{$propertyName} = $property->{value};
}
}
}
else {
die $response->status_line;
}
$Matched = "1";
Bitte ersetzen Sie die Url in Zeile 7 $webApiUrl
mit der entsprechenden Url Ihrer E-Mail Scoring Webseite. Beachten Sie dabei, dass der Url-Pfad api/v1/webapi/matches
erhalten bleibt.
Die WebApi gibt das Resultat in folgender JSON-Struktur zurück:
{
"categoryName": "Kategorie1",
"matchLanguage": "DE",
"nbrMatches": 2,
"priority": 8,
"queue": "Entwicklung",
"skills": [
"Entwicklung",
"Development"
],
"properties": [
{
"key": "Eigenschaft1",
"value": "Wert1"
}
]
}