API Dokumentation zur Anbindung
Sobald für eine Domain im Dashboard ein Service (Datenschutz, Impressum, AGB, …) aktiviert wurde, werden für diese Domain alle notwendigen Daten zur Einbindung des Consent Managers, der Datenschutzerklärung, AGB, … über die API ausgeliefert.
Haben Sie noch keine Domain angelegt, oder Dienste dafür konfiguriert, müssen Sie dies zuvor erledigen. Eine Schnellstart Anleitung finden Sie hier: Schnellstart
Grundsätzlich wird empfohlen, legalweb.io über ein bereits bestehendes Plugin zu nutzen. Alternativ ist ein Abruf aller Daten und Funktionen über die REST-API möglich.
API Request
Die API ist unter der folgenden URL erreichbar:
https://dashboard.legalweb.io/api/legalwebapi
Bei jedem API Request müssen die GUID und die Callback URL im HEADER mitübergeben werden. Der Content-Type des Requests muss “application/x-www-form-urlencoded” sein.
API Requests sind nur zum Zweck des Updates der lokal gespeicherten Daten zulässig. Zeitgesteuerte API Requests zum zweck des Updates sind maximal alle 24 Stunden zulässig.
Alle von der API bezogenen Daten sind lokal zu speichern/cachen.
Beispiel: API-Call via Curl in PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'https://dashboard.legalweb.io/api/legalwebapi',
CURLOPT_POST => 1,
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"Guid: ihre-guid",
"Callback: https://meine-webseite.com/?cb=legalwebxyz",
)
]);
$resp = curl_exec($curl);
curl_close($curl);
// var_dump($resp); // hier könnte der gesamte json string ausgegeben werden
$apiData = json_decode ($resp); // der komplette Response müsste nun zwischengespeichert werden (zB. in der Db, in einem File,...)
$css = $apiData->services->dppopupcss;
$js = $apiData->services->dppopupjs;
$popup_de = $apiData->services->dppopup->de;
$spDsgvoGeneralConfig = $apiData->services->dppopupconfig->spDsgvoGeneralConfig;
$spDsgvoIntegrationConfig = $apiData->services->dppopupconfig->spDsgvoIntegrationConfig;
?>
<!DOCTYPE html>
<html>
<head>
<style>
<?= $css ?>;
</style>
</head>
<body>
<h1>This is a test page</h1>
<script>
var spDsgvoGeneralConfig = JSON.parse('<?php echo json_encode($spDsgvoGeneralConfig); ?>');
var spDsgvoIntegrationConfig = JSON.parse('<?php echo json_encode($spDsgvoIntegrationConfig); ?>');
<?= $js; ?>
</script>
<?= $popup_de ?>;
</body>
</html>
API Result
Die Ausgabe der API erfolgt im JSON Format. Es wird immer der komplette Datensatz geliefert. Die Abfrage einzelner Services ist derzeit nicht geplant, da die gewünschten Services ohnehin im Backend konfiguriert wurden.
{
"lw_api": {
"mode": "",
"version": "",
"description": "API of legalweb.io",
"url": "https://dashboard.legalweb.io/api/legalwebapi",
"documentation": "https://legalweb.io/support/api",
"terms": "https://legalweb.io/shop/agb/"
},
"domain": {
"domain_id": "",
"domain_guid": "",
"domain_url": "",
"domain_callback": "",
"organisation": "",
"address": "",
"city": "",
"zip": "",
"country": "",
"phone": "",
"email": ""
},
"services": {
"imprint": {
"de": "",
"en": ""
},
"dpstatement": {
"de": "",
"en": ""
},
"dppopup": {
"de": "",
"en": ""
},
"dppopupcss": ""
,
"dppopupjs": ""
,
"dppopupconfig": {
"spDsgvoGeneralConfig": {},
"spDsgvoIntegrationConfig": {}
},
"contractterms": {
"de": "",
"en": ""
},
"contractcheckout": {
"de": "",
"en": ""
},
"contractwithdrawaldigital": {
"de": "",
"en": ""
},
"contractwithdrawalservice": {
"de": "",
"en": ""
},
"guetesiegel": {
"de": ""
},
"messages": [{
"id": "",
"msg": ""
}
]
}
}
Feldbeschreibung
- imprint: Impressum als HTML. Das Plugin hat das Impressum in der richtigen Sprachversion auf der richtigen Seite einzufügen. Domains, deren Verantwortlicher in Österreich sitzt, geben imprintat, deren Verantwortlicher in Deutschland sitzt, imprintde aus.
- dpstatement: Datenschutzerklärung als HTML. Das Plugin hat die Datenschutzerklärung in der richtigen Sprachversion auf der richtigen Seite einzufügen.
- dppopup: HTML Code des Popups. Das Plugin hat das HTML in der richtigen Sprachversion im Template einzufügen.
- dppopupcss: CSS Code des Popups. Das Plugin hat das CSS im Template einzufügen.
- dppopupjs: JS des Popups. Das Plugin hat das JS im Template einzufügen.
- dppopupconfig: Hier werden 2 JS Variablen übertragen, die von “dppopupjs” benötigt werden. Diese JS Variablen müssen vor Ausgabe von “dppopupjs” ausgegeben werden.
- contractterms: AGB als HTML. Das Plugin hat das HTML in der richtigen Sprachversion auf der richtigen Seite einzufügen.
- contractcheckout: AGB, Widerrufs und Datenschutz-Klausel für den Checkout.
- contractwithdrawaldigital: Widerrufs-Verzicht-Klausel für digitale Produkte für den Checkout als Txt-String.
- contractwithdrawalservice: Widerrufs-Verzicht-Klausel für Dienstleistungen für den Checkout als Txt-String.
- siegel: HTML Code für da legal web Siegel. Es handelt sich um eine Grafik, die an beliebigen Stellen ausgegeben werden soll/kann.
- messages: Admin-Backend Hinweise.