Entwickler

Erhalten Sie jeden neuen bloo.Cards-Eintrag in Ihren Systemen.

Eine Nur-Lese-API und signierte Webhooks, um Ihre Kontakte, Scans und Formulare an Ihre Tools anzubinden. Einfach, sicher, in der EU gehostet.

Nur ausgehend · schreibgeschützt · in der EU gehostet

Drei Geheimnisse, drei Rollen

GeheimnisRolleHinweise
bc_live_…API-Schlüssel: identifiziert Ihr Unternehmen, schreibgeschütztIm Bereich Entwickler erstellt. Einmal angezeigt, SHA-256-Fingerabdruck gespeichert, widerrufbar.
whsec_…Signaturgeheimnis für WebhooksUm zu prüfen, dass der Webhook wirklich von bloo.Cards stammt (HMAC-SHA256).
CRM-ZugangsdatenVerschlüsselt gespeichert, nie erneut angezeigtVerschlüsselung je Organisation (BlooCrypto). Nur für den ausgehenden Versand an Ihr CRM verwendet.

Die /v1-API Früher Zugang

Basis: https://bloo.cards/v1 · Authentifizierung: Header Authorization: Bearer bc_live_… (nie in der URL).

MethodeRolle
GET /v1/meUnternehmen und Geltungsbereich des Schlüssels (Verbindungstest)
GET /v1/contacts?since=…Neue Kontakte seit einem Zeitpunkt (ISO 8601)
GET /v1/hooksListe Ihrer Webhook-Abonnements
POST /v1/hooksEin Abonnement erstellen { url, events[] } (gibt das Geheimnis einmal zurück)
DELETE /v1/hooks/{id}Ein Abonnement deaktivieren

Beispiel — die Verbindung testen

curl -H "Authorization: Bearer bc_live_xxx" \
     https://bloo.cards/v1/me
$ch = curl_init('https://bloo.cards/v1/me');
curl_setopt_array($ch, [
  CURLOPT_HTTPHEADER    => ['Authorization: Bearer bc_live_xxx'],
  CURLOPT_RETURNTRANSFER => true,
]);
$me = json_decode(curl_exec($ch), true);
const r = await fetch('https://bloo.cards/v1/me', {
  headers: { Authorization: 'Bearer bc_live_xxx' }
});
const me = await r.json();
import requests
r = requests.get(
    'https://bloo.cards/v1/me',
    headers={'Authorization': 'Bearer bc_live_xxx'})
me = r.json()

Webhooks Früher Zugang

Abonnieren Sie eine URL auf Ereignisse; bloo.Cards sendet dorthin bei jedem Vorkommen ein signiertes POST, mit Wiederholungen bei Fehlern.

Ereignisse

contact.exchanged · lead.ocr_scanned · form.submitted · booking.requested · contact.deleted

Empfangene Hülle

POST https://votre-serveur.example/bloo-webhook
X-Bloo-Signature: t=1790456846,v1=9f2b…c3

{
  "id": "evt_ab12cd34",
  "type": "contact.exchanged",
  "created_at": "2026-09-26T21:00:00Z",
  "data": {
    "contact": {
      "first_name": "Marie", "last_name": "Dupont",
      "email": "marie@exemple.be", "company": "Exemple SA",
      "job_title": "Directrice", "source": "exchange",
      "context": "Salon de Bruxelles"
    }
  }
}

Die Signatur prüfen (PHP)

$body   = file_get_contents('php://input');
$header = $_SERVER['HTTP_X_BLOO_SIGNATURE'] ?? '';   // t=…,v1=…
parse_str(strtr($header, ',', '&'), $p);
$expected = hash_hmac('sha256', $p['t'] . '.' . $body, $whsec);
if (!hash_equals($expected, $p['v1'] ?? '')) {
    http_response_code(401); exit;                    // signature invalide
}
// OK : traitez $body (JSON)

Öffentliche Kartendaten

Öffentliche Karten stellen ihre Daten bereits als JSON-LD und über ?format=json bereit, ohne Authentifizierung. Ideal für Agenten und Indexierung. Siehe bloo.Cards für KI.

Bereit, bloo.Cards anzubinden?

Erstellen Sie Ihren Schlüssel im Bereich Entwickler Ihres Kontos oder fordern Sie frühen Zugang an. Zu den Automatisierungen.

Meinen API-Schlüssel erstellen