Der schnellste Weg zur digitalen Vernetzung!

Schnittstellen zu FinanzPlaner Online erstellen

Sie möchten den FinanzPlaner Online schnell, leicht & einfach mit einer Schnittstelle in Ihre Beratungsprozesse integrieren?

Dies funktioniert wie folgt:

Schnelle Einbindung anhand eines Beispielcodes
				
					using System;
using System.IO;
using System.IO.Compression;
using System.Text;

namespace FppxGenExampleApp
{
    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 _tokenFppx = new Guid("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa");
        static readonly Guid _tokenBackend = new Guid("bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb");

        static void Main(string[] args)
        {
            // https://fppxgenerator.azurewebsites.de/N1102/FppxGenerator.svc?singleWsdl
            var clientFppx = new FppxGeneratorServiceReference.FppxGeneratorServiceN1102Client("BasicHttpsBinding_IFppxGeneratorServiceN1102");

            // https://backend.finanzportal24.de:8080/FipoBackendService.svc?singleWsdl
            var clientBackend = new FipoBackendServiceReference.FipoBackendServiceClient("BasicHttpsBinding_IFipoBackendService");

            try
            {
                /* Ein leeres Objekt, mit Standardeingaben (Berechnungsparameter) abholen.
                 * Das Objekt ist recht groß, man sollte in der Config maxReceivedMessageSize="2147483647" setzen. */
                var response1 = clientFppx.GetDefaultFinanzplanerEingaben(new FppxGeneratorServiceReference.GetDefaultFinanzplanerEingabenRequest()
                {
                    Token = _tokenFppx
                });

                if (response1.Error != FppxGeneratorServiceReference.eError.None)
                {
                    Console.WriteLine("Beim Abholen der Standardeingaben ist ein Fehler aufgetreten: {0} {1}", response1.Error, response1.ErrorText);
                    return;
                }


                /* ... Hier das Objekt mit Daten füllen ... */
                SetzeBeispieldaten(response1.Eingaben);


                /* Datei (XML) von Webservice erzeugen lassen */
                var response2 = clientFppx.GetFppxFile(new FppxGeneratorServiceReference.GetFppxFileRequest()
                {
                    Token = _tokenFppx,
                    Eingaben = response1.Eingaben,
                });


                if (response2.Error != FppxGeneratorServiceReference.eError.None)
                {
                    Console.WriteLine("Beim Erzeugen der FPPX-Datei ist ein Fehler aufgetreten: {0} {1}", response2.Error, response2.ErrorText);
                    return;
                }

                /* Diese Datei kann man nun an FinanzPlaner Online übertragen */
                var zippedFile = Zip(Encoding.UTF8.GetBytes(response2.FileContent));
                var response3 = clientBackend.ImportFall3Party(new FipoBackendServiceReference.ImportFall3PartyRequest()
                {
                    FppxZipped = zippedFile,
                    Token3Party = _tokenBackend,
                    EMail = "ihre@email.de", // E-Mail Adresse der Person, die den Fall bekommen soll
                    Password = "Ihr FinanzPlaner Online Passwort", // Passwort der Person, die den Fall bekommen soll
                    FallId = 0 // 0 bedeutet dass ein neuer Fall angelegt werden soll
                });

                if (response3.Error != FipoBackendServiceReference.eImportFall3PartyError.None)
                {
                    Console.WriteLine("Beim Import in FinanzPlaner Online ist ein Fehler aufgetreten: {0} {1} {2} {3}",
                        response3.Error, response3.ErrorText, response3.ExceptionText, response3.InnerExceptionText);
                    return;
                }


                /* Das war's schon */
                Console.WriteLine("Der Fall wurde mit der ID {0} angelegt.", response3.FallId);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Es trat ein Fehler auf: {0}", ex);
            }
            finally
            {
                clientFppx.Close();
                clientBackend.Close();
                Console.Write("Drücken Sie eine beliebige Taste . . . ");
                Console.ReadKey();
            }
        }


        static void SetzeBeispieldaten(FppxGeneratorServiceReference.FinanzplanerEingaben eingaben)
        {
            eingaben.Fall.Kunde.Anrede = FppxGeneratorServiceReference.eAnrede.Herr;
            eingaben.Fall.Kunde.Vorname = "Max";
            eingaben.Fall.Kunde.Nachname = "Musterimport";
            eingaben.Fall.Kunde.Geburtsdatum = new DateTime(1980, 8, 8);
            eingaben.Fall.Familienstand = FppxGeneratorServiceReference.eFamilienstand.ledig;
        }


        public static byte[] Zip(byte[] bytes)
        {
            using (var msi = new MemoryStream(bytes))
            {
                using (var mso = new MemoryStream())
                {
                    using (var gs = new GZipStream(mso, CompressionMode.Compress))
                    {
                        msi.CopyTo(gs);
                    }

                    return mso.ToArray();
                }
            }
        }

    }
}