Kündigungshilfe

Allgemein

Die Kündigungshilfe kann via JSON-Schnittstelle einen Import von diversen Daten vornehmen.
Dabei muss im Body des Requests der JSON Part UTF-8 codiert mitgesendet werden. Der Response beinhaltet dann unter anderem die UID und den Link zum Aufruf der Schnittstelle.
Wenn Sie zusätzlich an gelieferte URL noch den GET Parameter „iframe“ anhängen, können Sie auf ein alternatives Layout ohne Header und Footer zurückgreifen, welches eine Einbindung via IFrame o.ä. in eine Website ermöglicht.

Zur Vorauswahl der Sparte im Assistent können Sie zudem die Sparte via GET Parameter „sp“ mitgeben. Eine Liste der Sparten finden Sie unter Punkt 3: API.

Beispiel:
https://www.kuendigungshilfe.info/Assistent/?sp=rs jetzt ausprobieren


IFrame

Um das alternative Iframe Layout zu aktivieren, müssen Sie einfach nur den GET Parameter „iframe“ an die URL anhängen.

Beispiele:
als zusätzlicher Parameter:
https://www.kuendigungshilfe.info/Assistent/?sp=phv&iframe jetzt ausprobieren

als alleiniger Parameter:
https://www.kuendigungshilfe.info/Assistent/?iframe jetzt ausprobieren

Themes

Wir haben für Sie verschiedene Themes hinterlegt. Sie können ein Theme via GET Parameter „theme“ mitgeben wenn Sie das Iframe Layout ausgewählt haben.
Sollten Sie ein spezielles Design benötigen, kommen Sie bitte gerne auf uns zu: Kontaktformular



API

Import URL: https://www.kuendigungshilfe.info/Import

Wichtig: Vor Benutzung muss Ihre IP Adresse freigegeben werden!

Request:
Im Anhang finden Sie ein komplettes lauffähiges PHP Beispiel.
Im Grundsatz müssen Sie ein JSON Objekt als String im RAW Body des POST Requestes mitgeben. Die Struktur und weitere Hinweise können Sie dem PHP Beispiel entnehmen.

Nachfolgend noch die Liste der möglichen Sparten:

Sparte Ausprägung
phv Privathaftpflicht
hr Hausrat
gls Glas
kfz KFZ
tie Tierhalter (Hund/Pferd)
wg Wohngebäude
rs Rechtsschutz
unf Unfall
pkv Private Krankenversicherung
rlv Risiko-Lebensversicherung
lv Lebensversicherung
rv Rentenversicherung
bu Berufsunfähigkeitsversicherung
son Sonstige Versicherung
MOBVetr Mobilfunkvertrag
MIETVertr Mietvertrag
FITVertr Fitnessvertrag
ZTGAbo Zeitungsabo
BAU Bausparvertrag
ALLGVertr allgemeiner Vertrag


Response:
Als Response bekommen Sie einen String (JSON oder XML) zurück. Dieser beinhaltet den Parameter „success“. Damit können Sie prüfen, ob der Request korrekt verarbeitet wurde. Unter „data“ finden Sie die „UID“ unter welcher wir den Datensatz gespeichert haben. Den „Link“ inklusive „UID“ können Sie direkt zum Aufruf der importierten Daten nutzen.
Autofill gibt an, ob die Auswahl der Adressdaten der Gesellschaft automatisch durch den Namen der Gesellschaft erfolgt ist. Zur Kontrolle finden Sie die importierten Daten noch einmal unter „import“.

NEU: XML Unterstützung der Import Schnittstelle
Die Import Schnittstelle unterstützt jetzt auch XML. Ein Beispiel des Requests finden sie unterhalb.

jetzt ausprobieren

Beispielscript in PHP (JSON):
<?php
class Test {
    /**
     *
     */
    public function start()
    {
        $json = array(
            'returnPathPDF' => null, //optionale URL welche bei erstellung des PDF aufgerufen wird
            'Anschrift_Kunde' => array( //Anschrift des Kunden
                'Vorname' => 'Testi',
                'Name' => 'Test',
                'Zusatz' => 'c/o Test Max',
                'Strasse' => 'Teststrasse 11',
                'PLZ' => '01234',
                'Ort' => 'Musterhausen',
                'email' => null,
            ),
            /*bei AenderungAdresse=true erforderlich*/
            'Anschrift_Kunde_neu' => array( //Neue Anschrift des Kunden
                'Vorname' => 'Testa',
                'Name' => 'Test',
                'Strasse' => 'Testgasse 23',
                'PLZ' => '12340',
                'Ort' => 'Musterstadt',
            ),
            'Anschrift_Gesellschaft' => array( //Anschrift des Vertragspartners
                'Firma' => 'Debeka',
                'Strasse' => 'Test',
                'PLZ' => '01234',
                'Ort' => 'Muster',
                'fax' => '4567890',
                'email' => 'vertraege@pfefferminzia.de',
            ),
            'Sparte' => 'HR', //Sparte:
            'Sparte_ID' => null, //Alternativ Sparten ID
            'Vertragsnummer' => 'Test 08/15',
            'Ablaufdatum' => '22.03.2017', //Wenn Ablaufdatum gesetzt wird, wird automatisch die Kündigung zum nächst mgl. Zeitpunkt gewählt
            //'mitteilen' => 'Widerruf', //Kündigung|Vertragsänderung|Widerruf
            //'AenderungAdresse' => true,
        );
        echo '<pre>';
        print_r(json_decode($this->execCurl(json_encode($json), 'https://www.kuendigungshilfe.info/Import')));
        echo '</pre>';
        exit;
    }

    /**
     * @param string $content
     * @param string $url
     * @return mixed
     */
    private function execCurl($content, $url)
    {

        $headers = array(
            "POST " . basename($url) . " HTTP/1.0",
            "Content-type: application/json;charset=\"utf-8\"",
            "Accept: application/json",
            "Content-length: " . strlen($content)
        );

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 60);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $content);

        $data = curl_exec($ch);

        if (curl_errno($ch)) {
            return curl_error($ch);
        } else {
            curl_close($ch);
            return $data;
        }
    }
}

$Test = new Test();
$Test->start();
Request:
{
    "Anschrift_Kunde": {
        "Vorname": "Testi",
        "Name": "Test",
        "Zusatz": "c/o Test Max",
        "Strasse": "Teststrasse 11",
        "PLZ": "01234",
        "Ort": "Musterhausen",
        "email": null
    },
    "Anschrift_Kunde_neu": {
        "Vorname": "Testa",
        "Name": "Test",
        "Strasse": "Testgasse 23",
        "PLZ": "12340",
        "Ort": "Musterstadt"
    },
    "Anschrift_Gesellschaft": {
        "Firma": "Debeka",
        "Strasse": "Test",
        "PLZ": "01234",
        "Ort": "Muster",
        "fax": "4567890"
        "email": "vertraege@pfefferminzia.de"
    },
    "Sparte": "HR",
    "Sparte_ID": null,
    "Vertragsnummer": "Test 08\/15",
    "Ablaufdatum": "22.03.2017"
}
Response:
{"success":true,"data":{"UID":"{AEA8A0B5-24AB-00DA-3FFE-A3E551EFC2A3}","Link":"https:\/\/www.kuendigungshilfe.info\/Assistent\/?UID={AEA8A0B5-24AB-00DA-3FFE-A3E551EFC2A3}","Autofill":true,"import":{"Anschrift_Kunde":{"Vorname":"Testi","Name":"Test","Strasse":"Teststrasse 11","PLZ":"01234","Ort":"Musterhausen","email":null},"Anschrift_Kunde_neu":{"Vorname":"Testa","Name":"Test","Strasse":"Testgasse 23","PLZ":"12340","Ort":"Musterstadt"},"Anschrift_Gesellschaft":{"id":"80","Firma":"Debeka Allgemeine Versicherung Aktiengesellschaft","Strasse":"Ferdinand-Sauerbruch-Str. 18","PLZ":"56058","Ort":"Koblenz","fax":null},"Sparte":"HR","Sparte_ID":"8","Vertragsnummer":"Test 08\/15","Ablaufdatum":"22.03.2017"}}}

stdClass Object
(
    [success] => 1
    [data] => stdClass Object
        (
            [UID] => {D1A6053A-7F11-09CE-38A8-834C8A609DA7}
            [Link] => https://www.kuendigungshilfe.info/Assistent/?UID={D1A6053A-7F11-09CE-38A8-834C8A609DA7}
            [Autofill] => 1
            [import] => stdClass Object
                (
                    [Anschrift_Kunde] => stdClass Object
                        (
                            [Vorname] => Testi
                            [Name] => Test
                            [Zusatz] => c/o Test Max
                            [Strasse] => Teststrasse 11
                            [PLZ] => 01234
                            [Ort] => Musterhausen
                            [email] => 
                        )

                    [Anschrift_Kunde_neu] => stdClass Object
                        (
                            [Vorname] => Testa
                            [Name] => Test
                            [Strasse] => Testgasse 23
                            [PLZ] => 12340
                            [Ort] => Musterstadt
                        )

                    [Anschrift_Gesellschaft] => stdClass Object
                        (
                            [id] => 80
                            [Firma] => Debeka Allgemeine Versicherung Aktiengesellschaft
                            [Strasse] => Ferdinand-Sauerbruch-Str. 18
                            [PLZ] => 56058
                            [Ort] => Koblenz
                            [fax] => 
                            [email] => vertraege@pfefferminzia.de
                        )

                    [Sparte] => HR
                    [Sparte_ID] => 8
                    [Vertragsnummer] => Test 08/15
                    [Ablaufdatum] => 22.03.2017
                )

        )

)


Erzeugtes Dokument zurückliefern - returnPathPDF:
Wenn Sie eine URL angebeben haben, werden die erzeugten Dokumente an diese URL mit folgender Struktur als JSON POST zurückgeliefert:
{ 
   "success":true,
   "response":{ 
      "filename":"dateiname.pdf",
      "filesize":123456,
      "file":"BASE64...",
      "data":{ 
            ... Daten ...
      }
   }
}


Beispielscript in PHP (XML):
<?php
class Test {
    /**
     *
     */
    public function start()
    {
        $doc = new \DOMDocument('1.0', 'utf-8');
        $doc->formatOutput = true;
        $doc->preserveWhiteSpace = true;
        $import = $doc->createElement('import');
        $import->appendChild($doc->createComment('optionale URL welche bei Erstellung des PDF aufgerufen wird'));
        $import->appendChild($doc->createElement('returnPathPDF'));

        $import->appendChild($doc->createComment('Anschrift des Kunden'));
        $Anschrift_Kunde = $doc->createElement('Anschrift_Kunde');
        $Anschrift_Kunde->appendChild($doc->createElement('Vorname', 'Testi'));
        $Anschrift_Kunde->appendChild($doc->createElement('Name', 'Test'));
        $Anschrift_Kunde->appendChild($doc->createElement('Zusatz', 'c/o Test Max'));
        $Anschrift_Kunde->appendChild($doc->createElement('Strasse', 'Teststrasse 11'));
        $Anschrift_Kunde->appendChild($doc->createElement('PLZ', '01234'));
        $Anschrift_Kunde->appendChild($doc->createElement('Ort', 'Musterhausen'));
        $Anschrift_Kunde->appendChild($doc->createElement('email'));
        $import->appendChild($Anschrift_Kunde);

        $import->appendChild($doc->createComment('bei AenderungAdresse=true erforderlich'));
        $Anschrift_Kunde_neu = $doc->createElement('Anschrift_Kunde_neu');
        $Anschrift_Kunde_neu->appendChild($doc->createElement('Vorname', 'Testa'));
        $Anschrift_Kunde_neu->appendChild($doc->createElement('Name', 'Test'));
        $Anschrift_Kunde_neu->appendChild($doc->createElement('Strasse', 'Testgasse 23'));
        $Anschrift_Kunde_neu->appendChild($doc->createElement('PLZ', '12340'));
        $Anschrift_Kunde_neu->appendChild($doc->createElement('Ort', 'Musterstadt'));
        $import->appendChild($Anschrift_Kunde_neu);

        $import->appendChild($doc->createComment('Anschrift des Vertragspartners'));
        $Anschrift_Gesellschaft = $doc->createElement('Anschrift_Gesellschaft');
        $Anschrift_Gesellschaft->appendChild($doc->createElement('Firma', 'Debeka'));
        $Anschrift_Gesellschaft->appendChild($doc->createElement('Strasse', 'Test'));
        $Anschrift_Gesellschaft->appendChild($doc->createElement('PLZ', '01234'));
        $Anschrift_Gesellschaft->appendChild($doc->createElement('Ort', 'Muster'));
        $Anschrift_Gesellschaft->appendChild($doc->createElement('fax', '4567890'));
        $Anschrift_Gesellschaft->appendChild($doc->createElement('email', 'vertraege@pfefferminzia.de'));
        $import->appendChild($Anschrift_Gesellschaft);

        $import->appendChild($doc->createComment('Sparte'));
        $import->appendChild($doc->createElement('Sparte', 'HR'));

        $import->appendChild($doc->createComment('Alternativ Sparten ID'));
        $import->appendChild($doc->createElement('Sparte_ID'));

        $import->appendChild($doc->createElement('Vertragsnummer', 'Test 08/15'));

        $import->appendChild($doc->createComment('Wenn Ablaufdatum gesetzt wird, wird automatisch die Kündigung zum nächst mgl. Zeitpunkt gewählt'));
        $import->appendChild($doc->createElement('Ablaufdatum', '22.03.2017'));

        $import->appendChild($doc->createComment('Kündigung|Vertragsänderung|Widerruf'));
        $import->appendChild($doc->createElement('mitteilen', 'Widerruf'));

        $import->appendChild($doc->createComment('Wenn eine Adressänderung vorausgewählt werden soll'));
        $import->appendChild($doc->createElement('AenderungAdresse', true));

        $doc->appendChild($import);
        $xml = $doc->saveXML();
        echo '<pre>';
        echo "Request:\n" . htmlspecialchars($xml) . "\n\nResponse:\n";
        $xml = $this->execCurl($xml, 'https://www.kuendigungshilfe.info/Import');

        echo htmlspecialchars($xml) . '</pre>';
        exit;
    }

    /**
     * @param string $content
     * @param string $url
     * @return mixed
     */
    private function execCurl($content, $url)
    {

        $headers = array(
            "POST " . basename($url) . " HTTP/1.0",
            "Content-type: text/xml;charset=\"utf-8\"",
            "Accept: text/xml",
            "Content-length: " . strlen($content)
        );

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 60);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $content);

        $data = curl_exec($ch);

        if (curl_errno($ch)) {
            return curl_error($ch);
        } else {
            curl_close($ch);
            return $data;
        }
    }
}

$Test = new Test();
$Test->start();

Request XML:
<?xml version="1.0" encoding="utf-8"?>
<import>
  <!--optionale URL welche bei Erstellung des PDF aufgerufen wird-->
  <returnPathPDF/>
  <!--Anschrift des Kunden-->
  <Anschrift_Kunde>
    <Vorname>Testi</Vorname>
    <Name>Test</Name>
    <Zusatz>c/o Test Max</Zusatz>
    <Strasse>Teststrasse 11</Strasse>
    <PLZ>01234</PLZ>
    <Ort>Musterhausen</Ort>
    <email/>
  </Anschrift_Kunde>
  <!--bei AenderungAdresse=true erforderlich-->
  <Anschrift_Kunde_neu>
    <Vorname>Testa</Vorname>
    <Name>Test</Name>
    <Strasse>Testgasse 23</Strasse>
    <PLZ>12340</PLZ>
    <Ort>Musterstadt</Ort>
  </Anschrift_Kunde_neu>
  <!--Anschrift des Vertragspartners-->
  <Anschrift_Gesellschaft>
    <Firma>Debeka</Firma>
    <Strasse>Test</Strasse>
    <PLZ>01234</PLZ>
    <Ort>Muster</Ort>
    <fax>4567890</fax>
    <email>vertraege@pfefferminzia.de</email>
  </Anschrift_Gesellschaft>
  <!--Sparte-->
  <Sparte>HR</Sparte>
  <!--Alternativ Sparten ID-->
  <Sparte_ID/>
  <Vertragsnummer>Test 08/15</Vertragsnummer>
  <!--Wenn Ablaufdatum gesetzt wird, wird automatisch die Kündigung zum nächst mgl. Zeitpunkt gewählt-->
  <Ablaufdatum>22.03.2017</Ablaufdatum>
  <!--Kündigung|Vertragsänderung|Widerruf-->
  <mitteilen>Widerruf</mitteilen>
  <!--Wenn eine Adressänderung vorausgewählt werden soll-->
  <AenderungAdresse>1</AenderungAdresse>
</import>
Response:
<?xml version="1.0" encoding="utf-8"?>
<import>
  <success>1</success>
  <data>
    <UID>{138A90E1-B6EE-CCE7-B68A-7848C74B3FD1}</UID>
    <Link>https://www.kuendigungshilfe.info/Assistent/?UID={138A90E1-B6EE-CCE7-B68A-7848C74B3FD1}</Link>
    <Autofill>1</Autofill>
    <import>
      <returnPathPDF/>
      <Anschrift_Kunde>
        <Vorname>Testi</Vorname>
        <Name>Test</Name>
        <Zusatz>c/o Test Max</Zusatz>
        <Strasse>Teststrasse 11</Strasse>
        <PLZ>01234</PLZ>
        <Ort>Musterhausen</Ort>
        <email/>
      </Anschrift_Kunde>
      <Anschrift_Kunde_neu>
        <Vorname>Testa</Vorname>
        <Name>Test</Name>
        <Strasse>Testgasse 23</Strasse>
        <PLZ>12340</PLZ>
        <Ort>Musterstadt</Ort>
      </Anschrift_Kunde_neu>
      <Anschrift_Gesellschaft>
        <id>80</id>
        <Firma>Debeka Allgemeine Versicherung Aktiengesellschaft</Firma>
        <Strasse>Ferdinand-Sauerbruch-Str. 18</Strasse>
        <PLZ>56058</PLZ>
        <Ort>Koblenz</Ort>
        <fax/>
        <email>vertraege@pfefferminzia.de</email>
      </Anschrift_Gesellschaft>
      <Sparte>HR</Sparte>
      <Sparte_ID>8</Sparte_ID>
      <Vertragsnummer>Test 08/15</Vertragsnummer>
      <Ablaufdatum>22.03.2017</Ablaufdatum>
      <mitteilen>Widerruf</mitteilen>
      <AenderungAdresse>1</AenderungAdresse>
    </import>
  </data>
</import>