legalweb.io

Legalweb API

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.

Dashboard

Im Legalweb Dashboard können folgende Funktionen aktiviert und konfiguriert werden:

Vorschau

Nach der Aktivierung und der Konfiguration im Dashboard sind die erzeugten Daten in der Vorschau des Dashboard einsehbar und kopierbar.

API

Nach der Aktivierung und der Konfiguration im Dashboard sind die erzeugten Daten über die API abrufbar.

API Request

Die API ist unter der folgenden URL erreichbar:

https://legalweb.io/api

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.

Beispiel: API-Call via Curl in PHP

<?php

$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'https://legalweb.io/api',
    CURLOPT_POST => 1,
CURLOPT_HTTPHEADER => array( "content-type: application/x-www-form-urlencoded", "Guid: 3c0e1033-3691-41d8-a758-fa3b1d402201", "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-Ausgabe

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://legalweb.io/api",
		"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

legalWebApi

domain: enthält Daten zur Domain

services: Impressum, Datenschutz, Vertrag

Strings

Txt, html, js, css, … sind im JSON escaped gemäß RFC 7159 Punkt 7. https://tools.ietf.org/html/rfc7159 also z.B. \“Hallo!\“.

API Fehlercodes

codeFehlermeldung
10Keine gültige Domain
20Kein gültiger Header
30Keine Guid angegeben
40Eine ungültige Guid
50Keine Callback URL angegeben
60 

Client-Side JS API

Event: lw-optinout

Bei einem Opt-In oder Opt-Out wird ein CustomEvent „lw-optinout“ dispatched. Dem Event wird Folgendes als Details übergeben:

Mit folgendem Code kann sich auf das Event gebunden werden:
document.querySelector('.sp-dsgvo-privacy-popup').addEventListener('lw-optinout', function (e) { console.log('optinout', e.detail); });

Event: lw-beforeshowpopup und lw-beforeshownotice

Vorm Anzeigen des Popups bzw. der Notice, wird das entsprechende Event ausgelöst.

Mit folgendem Code kann sich auf das Event gebunden werden:
document.querySelector('.sp-dsgvo-privacy-popup').addEventListener('lw-beforeshowpopup', function (e) { console.log('lw-beforeshowpopup', e.detail); });

Methoden

Zusätzlich kann per JS eine Integration aktiviert oder deaktiviert werden und ihr Status eruiert werden. Folgende Methoden stehen dafür zur Verfügung

Popup und Notice können mit folgenden Methoden angezeigt werden

Falls Popup und Notice nicht via DOMContentLoaded Event geladen werden, steht eine Methode zum benutzerdefinierten Initialisieren zur Verfügung. Diese Methode initialisiert das „komplette“ Frontend, zeigt aber noch nichts an. Angezeigt muss das Popup auch manuell via der im vorigen Punkt genannten Methoden.

Clients / Plugins

Eine Liste mit verfügbaren Clients und eine Auflistung der Anforderungen an Clients finden sich hier.

Logo
Datenschutzinformation
Der datenschutzrechtliche Verantwortliche (legal web GmbH, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl: