Sie möchten den FinanzPlaner Online schnell, leicht & einfach mit einer Schnittstelle in Ihre Beratungsprozesse integrieren?
Dies funktioniert wie folgt:
using FPOnlineApiDemo.FipoBackend;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.ServiceModel;
namespace FPOnlineApiDemo
{
class Program
{
/* Hier trägt man das Herstellertoken ein, es wird auf Anfrage vergeben.
* Dies hier sind nur Beispielwerte, die nicht funktionieren. */
static readonly Guid _herstellertoken = new Guid("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa");
static readonly string _EMail = "max@example.com";
static readonly string _EMailSecondUser = "maxime@example.com";
static readonly string _password = "geheim";
static readonly string _tempPath = @"C:\FP24Test";
static FipoBackendServiceClient _client;
static void Main(string[] args)
{
// Client erstellen (WSDL: https://backend.finanzportal24.de/FipoBackendService.svc?singleWsdl)
CreateHttpsClient();
// Neuen Fall erstellen und Id merken
int fallId = CreateNewCase();
// Fall editieren
ModifyCase(fallId);
// SSO Token erzeugen
Guid ssoToken = CreateSSOToken();
// Link für Absprung generieren und Finanzplaner Online im Browser öffnen
string link = $"https://cloud.finanzportal24.de/Login?SSOToken={ssoToken}&FallID={fallId}";
Process.Start(link);
// Betrachtungsfälle suchen
SearchCases("Max");
// Betrachtungsfall exportieren (normal und als Datei für Finanzplaner Offline)
ExportCase(fallId);
// Dateien suchen
List fileIds = SearchFiles(fallId);
// Datei herunterladen
if (fileIds.Count > 0)
{
DownloadFile(fileIds[0]);
}
// Betrachtungsfall an andere Person übertragen
TransferCase(_EMailSecondUser);
}
static int CreateNewCase()
{
var request = new AddUpdateFall3Party_V3Request
{
EMail = _EMail,
Password = _password,
Token3Party = _herstellertoken,
FallId = 0, // Id des Betrachtungsfalls (0 für Neuanlage)
Fall3P = new Fall3P_V3
{
Kunde = new Erwachsener3P_V3
{
Anrede = eAnrede3P_V3.Frau,
Vorname = "Maxime",
Nachname = "Muster",
Geburtsdatum = new DateTime(1981, 1, 19),
Berufsgruppe = eBerufsgruppe3P_V3.Angestellter,
Gehaltsangaben = new Gehaltsangaben3P_V3
{
Bruttogehalt = 4000,
},
Krankenversicherung = new KV3P_V3
{
Versicherungstyp = eKrankenversicherung3P_V3.Pflicht,
},
},
Personenversicherungen = new List
{
new Personenversicherung3P_V3
{
Versicherungssparte = ePersonenversicherung3P_V3.Berufsunfaehigkeit,
LeistungenEUBU = new LeistungenEUBU3P_V3
{
RenteGarantiert = 1000,
}
}
}
},
};
var response = _client.AddUpdateFall3Party_V3(request);
return response.FallId;
}
static int ModifyCase(int fallId)
{
var request = new AddUpdateFall3Party_V3Request
{
EMail = _EMail,
Password = _password,
Token3Party = _herstellertoken,
FallId = fallId, // Id des Betrachtungsfalls
Fall3P = new Fall3P_V3
{
Kunde = new Erwachsener3P_V3
{
Berufsgruppe = eBerufsgruppe3P_V3.Freiberufler,
},
},
};
var response = _client.AddUpdateFall3Party_V3(request);
return response.FallId;
}
static Guid CreateSSOToken()
{
CreateSSOToken3PartyRequest request = new CreateSSOToken3PartyRequest
{
EMail = _EMail,
Password = _password,
Token3Party = _herstellertoken,
};
var response = _client.CreateSSOToken3Party(request);
return response.SSOToken;
}
static void SearchCases(string pattern)
{
var request = new SearchFall3PartyV2Request
{
EMail = _EMail,
Password = _password,
Token3Party = _herstellertoken,
SearchPattern = pattern,
};
var response = _client.SearchFall3PartyV2(request);
foreach (var x in response.Fälle)
{
Console.WriteLine($"\t{x.FallId}" +
$"\t{x.AngelegtAm.ToShortDateString()}" +
$"\t{x.LetzteAenderung.ToShortDateString()}" +
$"\t{x.Anrede}\t{x.Vorname}\t{x.Nachname}\t" +
$"{x.ExternalIdFall}\t{x.ExternalIdKunde}\t{x.ExternalIdPartner}");
}
}
static void ExportCase(int fallId)
{
var request = new ExportFall3P_V3Request
{
EMail = _EMail,
Password = _password,
Token3Party = _herstellertoken,
FallId = fallId,
GenerateFppx = true,
};
string filenameFPPX = _tempPath + "\\export.fppx";
string filenameJSON = _tempPath + "\\export.json";
var response = _client.ExportFall3P_V3(request);
// Datei für Finanzplaner Offline schreiben
System.IO.File.WriteAllBytes(filenameFPPX, response.FppxFile);
// Fall3P Objekt als JSON in Datei schreiben
string json = JsonConvert.SerializeObject(response.Fall3P, Formatting.Indented);
System.IO.File.WriteAllText(filenameJSON, json);
}
static List SearchFiles(int fallId)
{
var request = new SearchFiles3PartyRequest
{
EMail = _EMail,
Password = _password,
Token3Party = _herstellertoken,
FallId = fallId, // "null" statt FallId liefert alle Dateien des Kunden
};
var response = _client.SearchFiles3Party(request);
var fileIds = new List();
foreach (var x in response.FileInformations)
{
Console.WriteLine($"\t{x.FileId}" +
$"\t{x.FallId}" +
$"\t{x.DateCreated.ToShortDateString()}" +
$"\t{x.Filename}" +
$"{x.Size}");
fileIds.Add(x.FileId);
}
return fileIds;
}
static void DownloadFile(int fileId)
{
var request = new DownloadFile3PartyRequest
{
EMail = _EMail,
Password = _password,
Token3Party = _herstellertoken,
FileId = fileId, // "null" statt FallId liefert alle Dateien des Kunden
};
var response = _client.DownloadFall3Party(request);
// Datei wegschreiben
string filename = _tempPath + "\\downloadedFile.bin";
System.IO.File.WriteAllBytes(filename, response.FileContent);
}
static void TransferCase(string EMailTargetPerson)
{
var request = new TransferCase3PartyRequest
{
EMail = _EMail,
Password = _password,
Token3Party = _herstellertoken,
EMailZielperson = EMailTargetPerson,
};
var response = _client.TransferCase3Party(request);
}
static void CreateHttpsClient()
{
BasicHttpBinding binding = new BasicHttpBinding();
// I think most (or all) of these are defaults--I just copied them from app.config:
binding.SendTimeout = TimeSpan.FromMinutes(1);
binding.OpenTimeout = TimeSpan.FromMinutes(1);
binding.CloseTimeout = TimeSpan.FromMinutes(1);
binding.ReceiveTimeout = TimeSpan.FromMinutes(1);
binding.AllowCookies = false;
binding.BypassProxyOnLocal = false;
binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
binding.MessageEncoding = WSMessageEncoding.Text;
binding.TextEncoding = System.Text.Encoding.UTF8;
binding.TransferMode = TransferMode.Buffered;
binding.UseDefaultWebProxy = true;
binding.MaxReceivedMessageSize = 2147483647;
binding.ReaderQuotas.MaxDepth = 2147483647;
binding.ReaderQuotas.MaxStringContentLength = 2147483647;
binding.ReaderQuotas.MaxArrayLength = 2147483647;
binding.ReaderQuotas.MaxBytesPerRead = 2147483647;
binding.ReaderQuotas.MaxNameTableCharCount = 2147483647;
binding.Security.Mode = BasicHttpSecurityMode.Transport;
//Achtung, das Zertifikat des Servers wird so nicht geprüft
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
_client = new FipoBackendServiceClient(
binding,
new EndpointAddress("https://backend.finanzportal24.de/FipoBackendService.svc"));
}
}
}
Erhalten Sie als erstes aktuelle News und Updates! Melden Sie sich hier zum Newsletter an!
FinanzPortal 24
Lösungen
Downloads
Sie müssen den Inhalt von reCAPTCHA laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von ProvenExpert.com. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen