Alle Beispiele setzen die Hilfsfunktion curlSend() und den Aufbau aus den Grundlagen voraus.

MethodeZweck
fetchListListe der gespeicherten Anträge (Eckdaten)
fetchAntragEinzelnen Antrag komplett abrufen, optional als PDF
cloneAntragAntragsdatensatz duplizieren
setTarifEmpfehlungProduktempfehlung für die Beratungsdokumentation hinterlegen
setGewaehlterTarifDen vom Nutzer gewählten Tarif nachtragen

fetchList – Antragsliste

Liefert die zu Ihrem Vermittler-Konto gespeicherten Anträge. Zurückgegeben werden nur die wichtigsten Eckdaten – über die ID rufen Sie anschließend den vollständigen Antrag mit fetchAntrag ab.

ParameterPflichtBedeutung
limitoptionalBegrenzt die Menge der gelisteten Anträge
offsetoptionalStartpunkt der Liste (für Blättern)
orderoptionalasc (aufsteigend) oder desc (absteigend)
Request
$UpdateParams = array (
    "dataUser" => array (
        'user' => 'IHREVERMITTLERNUMMER',
        'pass' => '********',
    ),
    "content"  => array (
        'antrag' => array (
            'fetchList' => array (
                'limit'  => 10,       // optional
                'offset' => 20,       // optional
                'order'  => 'desc',   // optional
            ),
        ),
    ),
);
Response
array (
  'response' =>
  array (
    'antrag' =>
    array (
      'fetchList' =>
      array (
        0 =>
        array (
          0 =>
          array (
            'ID'          => '904790',
            'Zeit'        => '1362672351',    // Unix-Timestamp
            'Versuche'    => '0',
            'Status'      => 'SuccessSend',
            'Speicherort' => 'H2_dev',
            'Makler_ID_k' => 'test_0815',
            'Subid'       => '',
          ),
          1 =>
          array (
            'ID'          => '910730',
            'Zeit'        => '1363783226',
            'Versuche'    => '0',
            'Status'      => 'SuccessSend',
            'Speicherort' => 'H2_dev',
            'Makler_ID_k' => 'test_0815',
            'Subid'       => '',
          ),
          // ...
        ),
      ),
    ),
  ),
)

fetchAntrag – Einzelnen Antrag abrufen

ParameterPflichtBedeutung
idjaBekannte ID des Antrages (aus fetchList)
plzoptionalPLZ des Versicherungsnehmers als Legitimation, wenn Sie auf einen Antrag außerhalb Ihres Vermittlerkontos zugreifen
getPdfoptional1 = Antrag zusätzlich als PDF-Dokument übertragen
getPdfWithDocuoptional1 = Antrag als PDF inkl. Beratungsdokumentation
Request – Standard
$UpdateParams = array (
    "dataUser" => array (
        'user' => 'IHREVERMITTLERNUMMER',
        'pass' => '********',
    ),
    "content"  => array (
        'antrag' => array (
            'fetchAntrag' => array (
                array ( 'id' => 920270 ),
            ),
        ),
    ),
);
Request – fremder Antrag mit PLZ-Legitimation
'fetchAntrag' => array (
    array ( 'id' => 894723, 'plz' => '01236' ),
),
Response – Erfolg (gekürzt)
array (
  'response' =>
  array (
    'antrag' =>
    array (
      'fetchAntrag' =>
      array (
        0 =>
        array (
          'Kunde' =>
          array (
            'Anrede_k'       => 'Herr',
            'Name_k'         => 'Tester',
            'Vorname_k'      => 'Tom',
            'Strasse_k'      => 'Musterstr. 3',
            'PLZ_k'          => '01234',
            'Ort_k'          => 'Musterhausen',
            'Geb_dat_k'      => '1988-08-08',
            'Beruf_k'        => 'Musterberuf',
            'Staatsang_k'    => 'Deutschland',
            'Famstand_k'     => 'verheiratet',
            'Handy_k'        => '012354',
            'email_k'        => 'test@mr-money.de',
            'Dat_ang_k'      => '2013-04-09/11:58:15',
            'Makler_ID_k'    => 'test_0815',
            'ID_p_kontakt_k' => '123456',
          ),
          'Vertrag' =>
          array (
            0 =>
            array (
              'Dat_abs_v'       => '2013-04-09/11:58:15',
              'Sparte_v'        => 'UNF',
              'Tarifname_v'     => 'Janitos-Basic',
              'Tarname_short_v' => '0',
              'Risiko_v'        => '1 Personen',
              'VPNR_v'          => '123456',
              'Dat_beg_v'       => '2013-04-10',
              'Dat_abl_v'       => '2014-04-10',
              'Laufzeit_v'      => '1',
              'Status_v'        => 'NEU',
              'Gesell_v'        => 'Janitos',
              'EUR_netto_v'     => '51.2521008403',
              'EUR_steuer_v'    => '19',
              'Zahlw_v'         => '1',
              'BLZ_v'           => '87054000',
              'Konto_v'         => '111111',
              'Tarifnr_v'       => '144',
              'ID_p_kontakt_v'  => '123456',
              'Online_v'        => 'O',
              'Abschlag_v'      => '0.0',
              'ID_Abschluss_v'  => '89.247.129.127-53973',
              'Passwort_v'      => '12345678',
              '_Details_'       =>
              array (
                'cols' =>
                array (
                  0 => 'Bezeichnung_vd',
                  1 => 'Wert_vd',
                  2 => 'Wert_hidden_vd',
                  3 => 'Einheit_vd',
                ),
                'rows' =>
                array (
                  0 =>
                  array (
                    0 => 'detail_v2',
                    1 => '',
                    2 => '{"Titel":"","Stra  [ - JSON gekürzt - ] Gliedertaxe":"Mehrleistung 34 %"}}',
                    3 => '',
                  ),
                ),
              ),
            ),
          ),
          'Details' => array (),
          'Antrag'  =>
          array (
            'compressed' => true,
            'type'       => 'gzdeflate',
            'Data'       => '5X1bUyO50uDzTMT5Dxp ... bsJ1tr/v9AC8GcuTCxf8F',
            'length'     => 13056,
          ),
        ),
      ),
    ),
  ),
)
Zum Block _Details_
Die Vertragsdetails kommen nicht als assoziatives Array, sondern tabellarisch: cols enthält die Spaltennamen (Bezeichnung_vd, Wert_vd, Wert_hidden_vd, Einheit_vd), rows die Datenzeilen mit numerischen Indizes in genau dieser Spaltenreihenfolge. In Wert_hidden_vd steht bei manchen Sparten ein weiteres JSON-Dokument, das Sie separat dekodieren müssen.
⚠ Der Teil Antrag ist komprimiert
Die eigentlichen Antragsdaten liegen unter Antrag['Data'] in gzdeflate-Form vor. Prüfen Sie Antrag['compressed'] und Antrag['type'] und entpacken Sie den Inhalt mit gzinflate(). length nennt die Länge nach dem Entpacken und eignet sich als Kontrolle.
PHP – Antragsdaten entpacken
<?php
$ergebnis = $data['response']['antrag']['fetchAntrag'][0];

if ( isset( $ergebnis['error'] ) ) {
    echo 'Fehler: ' . $ergebnis['error'];
    return false;
}

$antrag = $ergebnis['Antrag'];

if ( ! empty( $antrag['compressed'] ) && $antrag['type'] === 'gzdeflate' ) {
    $inhalt = gzinflate( base64_decode( $antrag['Data'] ) );

    if ( $inhalt === false || strlen( $inhalt ) != $antrag['length'] ) {
        echo 'Antragsdaten konnten nicht entpackt werden.';
        return false;
    }
} else {
    $inhalt = $antrag['Data'];
}
?>
Response – Antrag nicht gefunden
array (
  'response' =>
  array (
    'antrag' =>
    array (
      'fetchAntrag' =>
      array (
        0 =>
        array (
          'error' => 'Es konnte kein Eintrag mit der Nummer 89472 gefunden werden.',
        ),
      ),
    ),
  ),
)
Response – PLZ stimmt nicht überein
array (
  'response' =>
  array (
    'antrag' =>
    array (
      'fetchAntrag' =>
      array (
        0 =>
        array (
          'error' => 'Die übermittelte PLZ 01236 stimmt nicht mit der im Antrag überein.',
        ),
      ),
    ),
  ),
)

cloneAntrag – Antrag duplizieren

Legt eine Kopie eines bestehenden Antrages im Antrags-Cache an und gibt die id des neuen Datensatzes zurück.

ParameterPflichtBedeutung
idjaID des zu duplizierenden Antrages
plzoptionalPLZ des Versicherungsnehmers als Legitimation beim Zugriff auf einen Antrag außerhalb Ihres Vermittlerkontos
Makler_ID_kjaID des Maklers, in dessen Bestand der Vertrag laufen soll
Verwaltung_vjaP = Vertrag läuft unter Pool-Verwaltung, leerer String = nicht
Request
$UpdateParams = array (
    "dataUser" => array (
        'user' => 'IHREVERMITTLERNUMMER',
        'pass' => '********',
    ),
    "content"  => array (
        'antrag' => array (
            'cloneAntrag' => array (
                array (
                    'id'           => 922580,
                    'plz'          => '04109',
                    'Makler_ID_k'  => 'pool',
                    'Verwaltung_v' => 'P',
                ),
            ),
        ),
    ),
);
Response
array (
  'response' =>
  array (
    'antrag' =>
    array (
      'cloneAntrag' =>
      array (
        0 =>
        array (
          'id' => '922588',     // ID des neu angelegten Datensatzes
        ),
      ),
    ),
  ),
)

setTarifEmpfehlung – Produktempfehlung hinterlegen

Die Produktempfehlung in der Beratungsdokumentation des Antrags kann vor dem Aufruf des Antrags als Freitext übermittelt werden.

ParameterPflichtBedeutung
spartejaAktuelles Spartenkürzel, z.B. phv
ip_userjaDie aktuelle IP_USER der Sitzung
textsiehe untenDer Freitext, der hinterlegt werden soll

Platzhalter im Freitext

PlatzhalterWird ersetzt durch
%%ANZAHL_TARIFE%%Anzahl der Tarife, die in dieser Sparte zur Verfügung stehen

Alternative: Standardtext von Mr-Money verwenden

Lassen Sie den Parameter text weg und übergeben Sie stattdessen die folgenden Kennzahlen – der Text wird dann automatisch erzeugt:

ParameterBedeutung
anzahlTarifeAnzahl der Tarife in Ihrem Berechnungsergebnis
tarifnrtempBestLstg Die tarifnrtemp aus dem Rechenkern-Response vom leistungsstärksten Tarif Ihres Ergebnisses. Achtung: nicht die tarifnr.
punkte_minNiedrigste Leistungs-Punktezahl im angezeigten Ergebnis
punkte_maxHöchste Leistungs-Punktezahl im angezeigten Ergebnis
Request – Variante A: eigener Freitext
$UpdateParams = array (
    "dataUser" => array (
        'user' => 'IHREVERMITTLERNUMMER',
        'pass' => '********',
    ),
    "content"  => array (
        'antrag' => array (
            'setTarifEmpfehlung' => array (
                array (
                    'sparte'  => 'phv',
                    'ip_user' => '120.0.0.1-92574',
                    'text'    => 'Für die Beratung in der Sparte Privathaftpflicht standen '
                               . 'am 30.10.2018 %%ANZAHL_TARIFE%% verschiedene Tarife zur '
                               . 'Verfügung. ...',
                ),
            ),
        ),
    ),
);
Request – Variante B: Standardtext von Mr-Money (text weggelassen)
$UpdateParams = array (
    "dataUser" => array (
        'user' => 'IHREVERMITTLERNUMMER',
        'pass' => '********',
    ),
    "content"  => array (
        'antrag' => array (
            'setTarifEmpfehlung' => array (
                array (
                    'sparte'              => 'phv',
                    'ip_user'             => '120.0.0.1-92574',
                    'anzahlTarife'        => '777',
                    'tarifnrtempBestLstg' => '1393',
                    'punkte_min'          => '41',
                    'punkte_max'          => '118',
                ),
            ),
        ),
    ),
);
Response (bei beiden Varianten gleich)
array (
  'response' =>
  array (
    'antrag' =>
    array (
      'setTarifEmpfehlung' =>
      array (
        0 => array ( 'status' => 'success' ),
      ),
    ),
  ),
)

setGewaehlterTarif – Gewählten Tarif nachtragen

Der vom Nutzer gewählte Tarif kann für die Beratungsdokumentation geändert bzw. gesetzt werden.

Der übergebene text erscheint in der Beratungsdokumentation unter der Überschrift „Der Kunde wählte aus dem Vergleich folgenden Tarif" – unmittelbar vor der Schlusserklärung. Formulieren Sie ihn entsprechend als vollständige Tarifbezeichnung, wie im Beispiel unten.

ParameterPflichtBedeutung
spartejaAktuelles Spartenkürzel
ip_userjaDie aktuelle IP_USER der Sitzung
textjaDer Text, der hinterlegt werden soll
Request
$UpdateParams = array (
    "dataUser" => array (
        'user' => 'IHREVERMITTLERNUMMER',
        'pass' => '********',
    ),
    "content"  => array (
        'antrag' => array (
            'setGewaehlterTarif' => array (
                array (
                    'sparte'  => 'phv',
                    'ip_user' => '120.0.0.1-92574',
                    'text'    => 'Neodigital / Neodigital-S-5Mio-Fam mit 61 von 118 Leistungspunkten',
                ),
            ),
        ),
    ),
);
Response
array (
  'response' =>
  array (
    'antrag' =>
    array (
      'setGewaehlterTarif' =>
      array (
        0 => array ( 'status' => 'success' ),
      ),
    ),
  ),
)
✉ Feedback
Fehler oder Unstimmigkeit in dieser Doku entdeckt? Schreiben Sie uns: ts@mr-money.de