API & Integrationen
Alles, was Sie brauchen, um Bewertungseinladungen zu automatisieren und Bewertungen auf Ihrer Website anzuzeigen.
BCC-Einladung
Der einfachste Weg ohne Programmierung: Jeder Anbieter erhält eine persönliche Adresse, die Sie in Blindkopie (BCC) Ihrer Bestellbestätigung oder Bereitstellungs-E-Mail setzen. hostrust liest ausschließlich die Kopfzeilen, erkennt den Empfänger aus dem „An“-Feld und plant die Einladung nach Ihrer Wartezeit.
Aus Sicherheitsgründen werden nur E-Mails von freigegebenen Absenderdomains verarbeitet (Standard: die Domain Ihrer Website). E-Mails mit fehlgeschlagener SPF/DMARC-Prüfung werden verworfen. Verfügbar ab Tarif Starter.
Authentifizierung
Die REST-API ist ab Tarif Business verfügbar. Den API-Schlüssel erzeugen Sie im Dashboard unter „Einladungen → Automatisch“. Übergeben Sie ihn als Bearer-Token:
Limit: 600 Anfragen pro Stunde und Schlüssel. Alle Antworten sind JSON (UTF-8).
Einladungen anlegen
POST /api/v1/invitations
Felder: email (Pflicht), name, reference (z. B. Rechnungsnummer), delay_days (0–60, Standard aus Ihren Einstellungen).
curl -X POST https://hostrust.de/api/v1/invitations \
-H "Authorization: Bearer hr_live_IHR_SCHLUESSEL" \
-H "Content-Type: application/json" \
-d '{"email":"kunde@example.com","name":"Max Mustermann","reference":"Rechnung 2026-1042","delay_days":3}'Antwort (201 bei Erfolg, 422 bei Ablehnung):
{
"email": "kunde@example.com",
"status": "scheduled",
"code": "scheduled",
"message": "Geplant in 3 Tag(en)",
"id": 1832
}
Mehrere Einladungen (bis 100) in einem Aufruf:
{
"invitations": [
{ "email": "a@example.com", "name": "Anna A." },
{ "email": "b@example.com", "reference": "Auftrag 77" }
]
}
Übersicht abrufen
GET /api/v1/summary
Liefert HostScore, Durchschnitt, Anzahl, Verteilung, Kriterien und das verbleibende Einladungskontingent des Monats.
Bewertungen abrufen
GET /api/v1/reviews?limit=20&page=1
Veröffentlichte Bewertungen, neueste zuerst. Bei Weiterverwendung auf Ihrer Website zeigen Sie bitte keine Auswahl nur positiver Bewertungen an und verlinken Sie auf Ihr hostrust-Profil.
WHMCS-Hook
Legen Sie die Datei im WHMCS-Verzeichnis unter /includes/hooks/ ab und tragen Sie Ihren API-Schlüssel ein.
<?php
// Datei: /includes/hooks/hostrust.php
if (!defined('WHMCS')) die('No direct access');
const HOSTRUST_API_KEY = 'hr_live_IHR_SCHLUESSEL';
function hostrust_invite(int $userId, string $reference): void
{
$c = localAPI('GetClientsDetails', ['clientid' => $userId]);
if (($c['result'] ?? '') !== 'success') return;
$ch = curl_init('https://hostrust.de/api/v1/invitations');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . HOSTRUST_API_KEY, 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'email' => $c['email'],
'name' => trim($c['firstname'] . ' ' . $c['lastname']),
'reference' => $reference,
'delay_days' => 14, // Zeit, um das Produkt kennenzulernen
]),
]);
curl_exec($ch);
curl_close($ch);
}
// Variante A: nach Einrichtung eines neuen Produkts
add_hook('AfterModuleCreate', 1, function ($vars) {
hostrust_invite((int) $vars['params']['userid'], 'Service #' . $vars['params']['serviceid']);
});
// Variante B: nach bezahlter Rechnung
// add_hook('InvoicePaid', 1, function ($vars) {
// $inv = localAPI('GetInvoice', ['invoiceid' => $vars['invoiceid']]);
// hostrust_invite((int) $inv['userid'], 'Rechnung ' . $vars['invoiceid']);
// });Widgets & Badges
Widgets binden Sie mit einem Platzhalter und einem Script ein. Den fertigen Code für Ihr Profil erzeugt der Konfigurator im Dashboard.
<div class="hostrust-widget" data-hoster="ihr-profil" data-type="card" data-theme="light"></div> <script src="https://hostrust.de/assets/js/widget.js" async></script>
Für Orte ohne JavaScript (E-Mail-Signaturen, Rechnungen) gibt es ein statisches SVG-Badge:
<a href="https://hostrust.de/hoster/ihr-profil"><img src="https://hostrust.de/badge/ihr-profil.svg" alt="Bewertungen auf hostrust" width="240" height="64"></a>
Fehlercodes
| Code | Bedeutung |
|---|---|
| invalid_email | E-Mail-Adresse ungültig |
| duplicate | Empfänger wurde innerhalb der Sperrfrist bereits eingeladen |
| blocked | Empfänger hat Einladungen abbestellt |
| quota | Monatliches Kontingent ausgeschöpft |
| avv_missing | Auftragsverarbeitungsvertrag noch nicht abgeschlossen |
| own_domain | Adresse gehört zur eigenen Firmendomain |
| plan | Funktion im aktuellen Tarif nicht enthalten |