Alle Inserate
| Bezeichnung ↕ | Quelle ↕ | Qualität ↕ | Standort | Update ↕ | ||
|---|---|---|---|---|---|---|
Laden... | ||||||
🚀 Browsie.io vs. Neues System
📦 Archiv
| Bezeichnung | Quelle | Archiviert am |
|---|
👤 Kontaktpersonen
| Bezeichnung | Adresse | Telefon | Inserate |
|---|
🗂️ Taxonomie-Mapping
🔓 Unmaskierung
📋 Unmaskierungs-Historie
Sortiert nach Datum (neueste zuerst)| Datum | Listing | Ergebnis | Confidence | Suchen | Dauer | Kosten |
|---|---|---|---|---|---|---|
⚙️ Verwaltung
| ID | Name | Externe ID | Übergeordnet | Inserate |
|---|
📡 Quellen-Einstellungen
Steuere welche Quellen im Export enthalten sind und ob sie als native (vollständiges Inserat auf deal-one.de) oder extern (Link zur Originalquelle) angezeigt werden.
| Quelle | Inserate | Export aktiv | Native |
|---|
Native: WordPress zeigt native Inserate vollständig an. Nicht-native Inserate werden als Link zur Originalquelle dargestellt.
📥 Daten exportieren
Exportiere alle aktiven (nicht-archivierten) Inserate in verschiedenen Formaten.
📄 JSON Export
Kompletter Export mit allen Feldern, Kontakten und Enrichment-Daten.
📊 CSV Export
Tabellenformat für Excel/Google Sheets. Wichtigste Felder.
🗃️ Backend-Format
Browsie-kompatibles Format für WordPress-Import.
💡 Falls Download nicht startet: Direktlink (Produktiv)
➕ Neuen Zugang hinzufügen
🔓 Demask API — WordPress Integration
Sichere API für die Demaskierung von Inseraten über das WordPress-Frontend. Dreifach abgesichert: API Key + HMAC-Signatur + IP-Whitelist.
🔑 API Credentials
📋 Letzte Aufträge
📖 Integration Guide
// WordPress → Backend Request
const timestamp = Date.now().toString();
const body = JSON.stringify({
order_id: "WP-12345",
listing_id: 42,
customer_email: "kunde@example.de",
customer_name: "Max Mustermann",
payment_intent_id: "pi_stripe_xxx"
});
const hmac = crypto.createHmac('sha256', HMAC_SECRET)
.update(timestamp + ':' + body)
.digest('hex');
fetch('https://dealone-813585317.automatisierungshelfer.de/api/public/unmask', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + API_KEY,
'X-Signature': hmac,
'X-Timestamp': timestamp
},
body
});
// Backend → WordPress Callback (automatisch)
// POST {wp_callback_url}
// { order_id, listing_id, status, confidence_percent,
// top_candidate: { company_name, ... }, should_charge: true/false }
📡 Live Inserate API
REST-API für den automatischen Import aller Inserate in WordPress. Ersetzt den manuellen SQLite-Export. Gleiche Datenstruktur, gleiche Feldnamen — nur schneller, live und sicher.
🔐 Authentifizierung
Die Live API nutzt dieselben Credentials wie die Demask API. Konfiguration unter dem Tab "🔓 Demask API".
—
HMAC Secret:—
IP Whitelist:—
Status:—
📋 Verfuegbare Endpoints
/api/public/listings
page, per_page (max 500), source_id/api/public/listings/updated?since=TIMESTAMP
/api/public/listings/:id
/api/public/contacts
/api/public/sources
/api/public/stats
📦 Antwort-Format (Beispiel: /listings)
{
"ok": true,
"total": 5328,
"page": 1,
"per_page": 100,
"total_pages": 54,
"items": [
{
"id": 103637, // SubjectItemId (stabil, wie Browsie)
"internal_id": 42, // Interne DB-ID
"sourceId": 1,
"title": "Traditionsreiches Maschinenbauunternehmen",
"name": "Mustermann GmbH",
"address": "Bayern / Muenchen",
"description": "Vollstaendige Beschreibung...",
"teaser_de": "Kurzfassung (max 300 Zeichen)...",
"typesTermIds": "164,239",
"statesTermIds": "56",
"statusTermIds": "33",
"countryTermIds": "68",
"areasTermIds": "7",
"annualTurnover": "5.000.000 EUR",
"price": "2.500.000 EUR",
"amountOfEmployees": "45",
"year_founded": "1985",
"handelsregisternummer": "HRB 12345",
"name_ceo": "Max Mustermann",
"source_url": "https://...",
"createdAt": "2026-03-14T10:00:00.000Z",
"updatedAt": "2026-03-14T15:30:00.000Z",
"reference_number": "NX-332035"
}
]
}
⭐ Delta-Sync (Empfohlen fuer WP-Cronjob)
// GET /api/public/listings/updated?since=2026-03-14T10:00:00Z
{
"ok": true,
"since": "2026-03-14T10:00:00Z",
"updated": [ /* Neue/geaenderte Inserate im Browsie-Format */ ],
"updated_count": 23,
"removed_ids": [103640, 103655], // In WP loeschen!
"removed_count": 2,
"server_time": "2026-03-14T16:00:00.000Z" // Als "since" beim naechsten Abruf verwenden
}
💡 Tipp: server_time aus der Antwort als since-Parameter beim naechsten Cronjob-Lauf verwenden. So verpasst man nie ein Update.
💻 WordPress Integration (PHP)
// === DealOne Live API — WordPress Integration ===
define('DEALONE_API_URL', 'https://dealone-813585317.automatisierungshelfer.de');
define('DEALONE_API_KEY', 'dmsk_xxx...'); // Aus dem "Demask API" Tab
define('DEALONE_HMAC_SECRET', 'xxx...'); // Aus dem "Demask API" Tab
/**
* Signierte API-Anfrage an DealOne Backend
*/
function dealone_api_request($endpoint, $method = 'GET', $body = null) {
$timestamp = (string)(time() * 1000); // Millisekunden
$bodyStr = ($method === 'GET' || !$body) ? '' : json_encode($body);
$payload = $timestamp . ':' . $bodyStr;
$signature = hash_hmac('sha256', $payload, DEALONE_HMAC_SECRET);
$args = [
'method' => $method,
'timeout' => 30,
'headers' => [
'Authorization' => 'Bearer ' . DEALONE_API_KEY,
'X-Signature' => $signature,
'X-Timestamp' => $timestamp,
'Content-Type' => 'application/json',
],
];
if ($bodyStr) $args['body'] = $bodyStr;
$response = wp_remote_request(DEALONE_API_URL . $endpoint, $args);
if (is_wp_error($response)) return null;
return json_decode(wp_remote_retrieve_body($response), true);
}
// === Beispiele ===
// 1. Alle Inserate abrufen (Seite 1, 100 pro Seite)
$data = dealone_api_request('/api/public/listings?page=1&per_page=100');
foreach ($data['items'] as $item) {
// $item['id'] = SubjectItemId (fuer WP-Post)
// $item['title'] = Titel
// $item['typesTermIds'] = Branchen-IDs (wie Browsie)
// ... alle anderen Felder identisch zum SQLite-Export
}
// 2. Delta-Sync (nur Aenderungen seit letztem Abruf)
$last_sync = get_option('dealone_last_sync', '2026-01-01T00:00:00Z');
$data = dealone_api_request('/api/public/listings/updated?since=' . $last_sync);
// Neue/geaenderte Inserate verarbeiten
foreach ($data['updated'] as $item) {
// Inserat in WP anlegen oder aktualisieren
update_or_create_listing($item);
}
// Geloeschte Inserate aus WP entfernen
foreach ($data['removed_ids'] as $removed_id) {
wp_delete_post(get_post_by_subject_item_id($removed_id));
}
// Zeitstempel fuer naechsten Lauf speichern
update_option('dealone_last_sync', $data['server_time']);
// 3. Einzelnes Inserat mit Kontakten
$detail = dealone_api_request('/api/public/listings/42');
// $detail['item']['contacts'] = [{name, email, phone, organization}, ...]
// 4. Statistiken
$stats = dealone_api_request('/api/public/stats');
// $stats['total_listings'], $stats['total_contacts'], $stats['last_update']
📁 SQLite-Export weiterhin verfuegbar: Die bisherigen Dateien unter /export/db.sqlite werden stuendlich weiterhin generiert und bleiben als Fallback erhalten. Die Live-API liefert jedoch immer die aktuellsten Daten.