Rückgabe-Schnittstelle
Erstellte Angebote und Antragsdaten aus dem Mr-Money System abrufen
Voraussetzung
Bauen Sie zunächst eine funktionierende Schnittstelle in unsere Rechner (Datenvorgabe über varinput.php).
Erst wenn diese funktioniert, können Sie die Rückgabe testen.
- Interner Projektname: Herstellerschnittstelle über a_id (Rückgabewerte)
Diese Schnittstelle funktioniert nur korrekt mit der richtigen Makler-ID (
id), Ihrer Hersteller-ID und der korrekten Berechnungs-ID (a_id).
Wenn a_id unbekannt ist oder die Berechnung zu lange zurückliegt, liefert der Server eine leere Rückgabe.
Prüfen Sie deshalb immer, ob die Antwort Daten enthält.
Ablauf
- Berechnungsvorgaben übergeben (varinput.php) → erhält
a_id - Nutzer berechnet im Rechner und erstellt ein PDF-Angebot oder einen Antrag
- Abruf der Ergebnisse über:
| Parameter | Beschreibung |
|---|---|
id | Makler-ID (im Testmodus: layout1) |
a_id | Berechnungs-ID aus der varinput.php-Antwort, z.B. 111.222.333.444-80345::herstellerx |
sel=pdf | Angebots-PDFs abrufen |
output=json | Rückgabe als JSON |
Rückgabe (Angebote): Je Zeile ein Angebotslink im Format Angebot_[Sparte]=http://www.mr-money.de/....pdf
Antragsdaten abrufen
Aufruf wie oben, aber ohne den Parameter sel=pdf.
Rückgabe: alle wichtigen Antragsdaten zeilenweise (z.B. Beitrag_netto=123.44). Der Antrag selbst steht als Link in Zeile 1.
Mitgabe einer Fremd-ID
Sie können eine eigene interne ID (z.B. eine Kunden- oder Vorgangsnummer aus Ihrem System) an die Schnittstelle übergeben. Diese ID erhalten Sie später gemeinsam mit den Antragsdaten zurück, sodass Sie den Datensatz in Ihrem System direkt zuordnen können.
Dafür steht der Parameter tt_iD zur Verfügung (Schreibweise beachten!).
Befüllen Sie tt_iD beim varinput.php-Aufruf – der Inhalt wird mit den Antragsdaten wieder zurückgeliefert.
Alternativ: id_extern – Details dazu in der varinput.php-Referenz.
Zusätzliche Parameter (ab 21.06.2012)
| Parameter | Beschreibung |
|---|---|
antrag=pdfLink | Antrag als Link im PDF-Format |
antrag=pdfInline | Antrag als PDF inline (base64-kodiert) |
antrag=htmlInline | Antrag als HTML inline (Klartext) |
output=json | Rückgabe als JSON |
Beispiel-Code
<?php
// $aId wurde vorher aus varinput.php-Rueckgabe gespeichert
$aId = '111.222.333.444-80345::herstellerx';
$maklerId= 'MAKLER_ID'; // oder "layout1" im Testmodus
$params = http_build_query([
'modul' => 'extern',
'action' => 'hersteller',
'id' => $maklerId,
'a_id' => $aId,
'sel' => 'pdf',
'output' => 'json',
]);
$ch = curl_init('https://portal.makler-bund.de/?' . $params);
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 15]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
// Angebots-PDFs ausgeben
foreach ($data as $key => $value) {
if (strpos($key, 'Angebot_') === 0) {
$sparte = substr($key, 8); // z.B. "PHV"
$pdfLink = $value;
echo '<a href="' . htmlspecialchars($pdfLink) . '">' . $sparte . ' Angebot</a><br>';
}
}
?>
<?php
$params = http_build_query([
'modul' => 'extern',
'action' => 'hersteller',
'id' => $maklerId,
'a_id' => $aId,
// Kein sel=pdf => Antragsdaten
'output' => 'json',
'antrag' => 'pdfLink', // Antrag als PDF-Link
]);
$ch = curl_init('https://portal.makler-bund.de/?' . $params);
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 15]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
// $data['Beitrag_netto'], $data['antragLink'], etc.
?>
Fehler oder Unstimmigkeit in dieser Doku entdeckt? Schreiben Sie uns: ts@mr-money.de