Dokumentation

Alles, was Sie brauchen: vom Einfügen einer Zeile bis zur vollständigen API.

Die Dokumentation umfasst Widget 1.2.0, CMS-Plugins 1.1.0 und API-Version 1.2.0. Letzte Aktualisierung: Juli 2026.

Schnellstart

CallFlow ist ein kostenloses Rückruf-Widget mit automatischer Anrufwarteschlange. Ein Besucher Ihrer Website hinterlässt eine Telefonnummer und die Anfrage wird sofort an die CallFlow-Anwendung auf Ihrem Telefon weitergeleitet. Der Startvorgang dauert einige Minuten und besteht aus drei Schritten:

  1. Erstellen Sie ein Konto – in der CallFlow-App für Android oder höher Webpanel. Das Konto ist kostenlos.
  2. Eine Seite hinzufügen – Fügen Sie im Abschnitt „Pakete und Seiten“ Ihre Website-Adresse hinzu und kopieren Sie den Kurzschlüssel, der mit beginnt CF-. To publiczny klucz strony (PUBLIC_SITE_KEY) — pozwala wyłącznie wysyłać nowe zgłoszenia, nie daje dostępu do Twojego konta.
  3. Fügen Sie das Skript ein – Platzieren Sie den folgenden Code direkt vor dem Tag </body> swojej strony i podmień klucz oraz adres polityki prywatności.
<script

  src="https://callflowdesk.com/widget/widget.js"

  data-site-key="CF-TWOJ-KLUCZ"

  data-variant="floating"

  data-privacy-url="https://twoja-strona.pl/polityka-prywatnosci/">

</script>

Das reicht. Auf der Website erscheint eine schwebende Schaltfläche und jeder Bericht löst eine Push-Benachrichtigung in der App aus.

Checkliste vor der Veröffentlichung: Fügen Sie die korrekte Adresse der Datenschutzrichtlinie hinzu, überprüfen Sie den Site-Schlüssel, senden Sie einen Testbericht, bestätigen Sie den Bericht, drücken Sie die Anwendung und löschen Sie schließlich den Testbericht.
Das Widget sendet Berichte nur von Websites mit einer echten Domain (Adresse mit TLD, z. B. .pl, .com). Na localhost formularz się wyświetli, ale wysyłka nie przejdzie walidacji — testuj na domenie docelowej lub stagingowej.

HTML/JS-Widget

Das CallFlow 1.2.0-Widget ist ein Produktionsskript für normale HTML-Seiten. Es sind weder ein Framework noch externe Bibliotheken erforderlich. Das Formular wird in einem isolierten Shadow-DOM ausgeführt – es beeinträchtigt nicht das CSS Ihrer Site – und kann neue Anfragen nur über die öffentliche CallFlow-API senden.

Basisinstallation (Floating Widget)

Skript vorher einfügen </body> — dokładnie tak jak w Schnellstart. Standardvariante floating wyświetla pływający przycisk w rogu ekranu, który otwiera formularz.

Eingebettete Variante im Inhalt

Wenn Sie das Formular an einer bestimmten Stelle auf der Seite platzieren möchten (z. B. auf der Kontakt-Unterseite), fügen Sie einen leeren Container hinzu und geben Sie ihn mit dem Attribut an data-target:

<div id="callback"></div>

<script

  src="https://callflowdesk.com/widget/widget.js"

  data-site-key="CF-TWOJ-KLUCZ"

  data-target="#callback"

  data-variant="box">

</script>

Verfügbare Varianten

  • floating — pływający przycisk otwierający formularz (domyślny);
  • box — pełny formularz w miejscu osadzenia;
  • compact — mniejszy formularz do stopki lub sidebara;
  • sticky — pasek przy dolnej krawędzi ekranu;
  • ecommerce — pływający formularz przeznaczony dla karty produktu.

Alle Varianten können Sie live auf der Website verfolgen Widget-Demo.

Vollständige Konfigurationsattributtabelle

AttributBeschreibungStandardwert
data-site-keySite-Schlüssel aus der Anwendung, erforderlich
data-variantfloating, box, compact, sticky, ecommercefloating
data-targetContainerauswahl für eingebettetes Formular
data-positionleft albo rightright
data-languagepl albo enDokumentsprache
data-titleFormularkopfSprachtext
data-subtitleBeschreibung unter der ÜberschriftSprachtext
data-button-textSchaltflächentextSprachtext
data-success-textBenutzerdefinierte ErfolgsmeldungSprachtext
data-privacy-urlAdresse der Datenschutzrichtlinie des WebsitebesitzersSeitenkonfiguration
data-primary-colorSonderfarbe im Format #RRGGBB#08D6C3
data-button-colorSchaltflächenfarbe im Format #RRGGBB#0D6EFD
data-text-colorDie Farbe des formatierten Texts #RRGGBB#061B3A
data-background-colorHintergrundfarbe formatieren #RRGGBB#FFFFFF
data-allow-urgentfalse ukrywa opcję pilnościSeiteneinrichtung
data-opentrue otwiera formularz po załadowaniufalse

Dringlichkeits- und Datenschutzeinstellungen werden zusätzlich von CallFlow abgerufen. Der Website-Benutzer kann eine Funktion nicht aktivieren, die vom Kontoinhaber deaktiviert wurde.

Sicherheit und Datenschutz

  • liest keine Kontodaten oder Ticketliste;
  • können Sie nur ein Ticket erstellen.
  • Die Übertragung erfolgt über HTTPS;
  • das Formular enthält einen Honeypot und erfordert eine ausdrückliche Zustimmung zur Kontaktaufnahme;
  • das Widget speichert keine Cookies und verwendet keinen lokalen Speicher;
  • wird von der API normalisiert und erneut validiert. Antworten im Format
  • hat ein Zeitlimit von 15 Sekunden und einen Idempotenzschlüssel zum Schutz vor Duplikaten.

Personalisierung des Erscheinungsbilds

Ab Version 1.2.0 erbt das Widget standardmäßig die Schriftart von der Website (inherit, awaryjnie system-ui), a wygląd można dopasować na dwóch poziomach: Einfach (einfache Attribute) i Erweitert (Vollspektrum-CSS). Personalisierungsattribute können auf dem Tag platziert werden <script> oder auf dem von angegebenen Ziel data-target (atrybut na elemencie docelowym ma pierwszeństwo). Bez tych atrybutów widget wygląda tak jak dotychczas.

Sie möchten nicht von Grund auf neu entwerfen? Sehen Sie sich die Galerie der vorgefertigten Stile in der Demo an – Jedes Beispiel verfügt über Code zum Kopieren.

Einfaches Level – Farben, Abmessungen, Schriftart

Jedes Attribut ist optional und wird einer CSS-Variablen zugeordnet, die auf dem Widget-Hostelement festgelegt ist (.callflow-widget-host):

AttributCSS-VariableBeschreibungStandardwert
data-accent--callflow-accentHauptfarbe: Schaltfläche, Fokusfelder, Links#0D6EFD
data-accent-text--callflow-accent-textDie Farbe des Textes auf der Schaltfläche#fff
data-bg--callflow-bgPanel-Hintergrund#FFFFFF
data-text--callflow-textPanel-Textfarbe#061B3A
data-muted--callflow-mutedSekundärtext (Beschreibung, Einwilligungen)#52627a
data-border-color--callflow-border-colorPanel- und Feldränderrgba(82,98,122,.18) / #ccd7e4
data-radius--callflow-radiusRundung (Panel; Proportionalfelder)22px
data-font--callflow-fontSchriftfamilievon der Seite geerbt
data-max-width--callflow-max-widthMaximale Panelbreite390px
data-input-bg--callflow-input-bgHintergrund der Formularfelder#fff
data-input-text--callflow-input-textText der Formularfelder#061b3a
data-shadow--callflow-shadowPanel-Schatten: none, soft, strongsoft

Beispiel für die Anpassung des Widgets an die dunkle Seite mit goldenen Akzenten:

<div id="callback"

  data-accent="#c8953f"

  data-accent-text="#0b0b09"

  data-bg="#11181d"

  data-text="#f4f4f1"

  data-muted="#a9b0b4"

  data-border-color="rgba(255,255,255,.14)"

  data-radius="0px"

  data-shadow="none"></div>

<script

  src="https://callflowdesk.com/widget/widget.js"

  data-site-key="CF-TWOJ-KLUCZ"

  data-target="#callback"

  data-variant="box">

</script>

Die gleichen Variablen durchdringen das Shadow-DOM über die CSS-Vererbung, sodass Sie anstelle von Attributen reines Seiten-CSS (Blatt oder) verwenden können <style>):

#moj-kontener {

  --callflow-accent: #b8860b;

  --callflow-radius: 4px;

  --callflow-max-width: 460px;

}

Prioritätsreihenfolge: Attribut data-* na elemencie docelowym → atrybut data-* na tagu <script> → zmienna CSS strony → starsze atrybuty data-*-color → wartości domyślne.

Fortgeschrittenes Niveau – volles CSS-Spektrum

::part() – Wichtige Formularelemente haben Attribute part, więc strona może je stylować dowolnym CSS bez ograniczeń Shadow DOM. Dostępne nazwy części:

container, title, subtitle, form, field, label, phone-label, input, phone-input, urgent-field, urgent-checkbox, urgent-reason-label, urgent-reason-input, checkbox, checkbox-input, consent, consent-input, link, privacy-link, button, submit-button, status, close-button, floating-trigger, launch-button, sticky-bar, sticky-copy, action-button, config-error.

.callflow-widget-host::part(submit-button) {

  background: linear-gradient(135deg, #e0b96f, #c8953f);

  text-transform: uppercase;

  letter-spacing: .06em;

}

.callflow-widget-host::part(title) {

  font-weight: 500;

}

data-custom-css – rohes CSS, das nach Basisstilen in das Shadow-DOM eingefügt wird (Kaskadierung gewinnt, wirkt sich auf interne Widget-Selektoren aus):

<div id="callback"

  data-custom-css=".cf-panel{border:0;padding:14px} .cf-submit{letter-spacing:.06em}"></div>

data-css-href – Adresse des externen Blatts, das in das Shadow-DOM geladen wurde. Aus Sicherheitsgründen werden nur Adressen akzeptiert https:// oraz ścieżki względne; http://, javascript: i inne schematy są odrzucane.

<script

  src="https://callflowdesk.com/widget/widget.js"

  data-site-key="CF-TWOJ-KLUCZ"

  data-css-href="https://twoja-strona.pl/assets/callflow-theme.css">

</script>

Reihenfolge der Schatten-DOM-Stile: Basisstile → Z-Blatt data-css-hrefdata-custom-css. Personalizacja jest w pełni opcjonalna i wstecznie kompatybilna — istniejące osadzenia działają bez zmian.

JavaScript-Ereignisse

Das Widget gibt Ereignisse auf dem Host-Element aus und gibt sie an das Dokument weiter, sodass Sie beispielsweise nach einem erfolgreichen Bericht eine Konvertierung an das Analysesystem senden können:

document.addEventListener('callflow:submitted', (event) => {

  console.log(event.detail.receiptId);

});



document.addEventListener('callflow:error', (event) => {

  console.warn(event.detail.code);

});

Verfügbare Ereignisse:

  • callflow:open — formularz został otwarty;
  • callflow:close — formularz został zamknięty;
  • callflow:submitted — zgłoszenie zostało przyjęte (w event.detail.receiptId znajdziesz identyfikator potwierdzenia);
  • callflow:error — wysyłka się nie powiodła (w event.detail.code znajdziesz kod błędu).

WordPress-Plugin

Das CallFlow 1.1.0-Plugin fügt Ihrer gesamten WordPress-Site ein Widget hinzu, ohne die Vorlage zu bearbeiten. Unterstützt Varianten floating, box, sticky i compact oraz osadzanie formularza w treści przez shortcode.

Anforderungen

  • WordPress 6.0 oder höher;
  • PHP 7.4 oder höher (getestet auf PHP 7.4 und 8.3);
  • Site-Schlüssel Mit dem Site-Schlüssel CF-… utworzony w aplikacji CallFlow.

Schritt-für-Schritt-Installation

  1. Laden Sie das Plugin herunter – Datei callflow-wordpress-1.1.0.zip znajdziesz w sekcji Herunterladen.
  2. Im WordPress-Dashboard installieren – gehe zu Plugins → Neues Plugin hinzufügen → Plugin auf Server hochladen, zeigen Sie auf die heruntergeladene ZIP-Datei und klicken Sie Installierenund nach der Installation Aktivieren.
  3. Konfigurieren – gehe zu Einstellungen → CallFlow und:
    • Fügen Sie den Schlüssel in das Feld ein PUBLIC_SITE_KEY (Format CF-XXXX-XXXX);
    • auswählen Variante (Standard floating);
    • Geben Sie die Adresse ein Datenschutzrichtlinie Ihrer Website;
    • -Marke Aktivieren Sie das Widget global und klicken Sie Änderungen speichern.

Einbettung in Inhalte (Shortcode)

Um ein Formular in einem Beitrag oder einer Seite anzuzeigen, verwenden Sie den Shortcode:

[callflow variant="box"]

Durch die Verwendung des Shortcodes wird das zweite, globale Widget auf dieser Unterseite automatisch deaktiviert – das Formular wird niemals dupliziert.

Häufige Probleme

  • Schlüssel wird nicht gespeichert – Plugin validiert Format: Schlüssel muss mit beginnen CF- i zawierać wyłącznie wielkie litery, cyfry i myślniki. Skopiuj go ponownie z aplikacji, bez spacji.
  • Das Widget wird nicht auf der Seite angezeigt – Feld prüfen Aktivieren Sie das Widget global wird überprüft und der Schlüssel ist nicht leer. Wenn Sie ein Cache-Plugin (z. B. LiteSpeed, WP Super Cache) verwenden, leeren Sie den Cache, nachdem Sie Ihre Einstellungen gespeichert haben.
  • Das Widget erscheint zweimal – Sie haben auch das CallFlow für WooCommerce-Plugin aktiv; siehe Abschnitt WooCommerce.

WooCommerce-Plugin

CallFlow für WooCommerce 1.1.0 ist ein auf Shops zugeschnittenes Plugin – es nutzt die Variante ecommerce z nagłówkiem zachęcającym do pytania o produkt. Wersja 1.1.0 jest publiczną betą przeznaczoną do testów na sklepie stagingowym.

Anforderungen

  • WordPress 6.0 oder höher, PHP 7.4 oder höher (getestet auf PHP 7.4 und 8.3);
  • aktives Plugin WooCommerce (erforderlich – ohne diese Angabe wird das Widget nicht angezeigt);
  • Site-Schlüssel Mit dem Site-Schlüssel CF-… z aplikacji CallFlow.

Schritt-für-Schritt-Installation

  1. Laden Sie das Plugin herunter – Datei callflow-woocommerce-1.1.0.zip z sekcji Herunterladen.
  2. InstallierenPlugins → Neues Plugin hinzufügen → Plugin auf Server hochladen, wählen Sie ZIP, Installieren, Aktivieren.
  3. Konfigurieren – gehe zu Einstellungen → CallFlow WooCommerce und:
    • einfügen PUBLIC_SITE_KEY;
    • auswählen Variante: ecommerce (domyślny), floating lub sticky;
    • Legen Sie Ihr eigenes fest Header Formular (Standard „Haben Sie eine Frage zum Produkt?“);
    • -Marke Aktivieren Sie das Store-Widget und speichern.

Funktioniert mit dem grundlegenden CallFlow-Plugin

Beide Plugins können gleichzeitig aktiv sein. Wenn das WooCommerce-Widget aktiviert ist, deaktiviert es automatisch das globale Widget des zugrunde liegenden Plugins, sodass das Formular nie zweimal angezeigt wird. Wenn Sie das Schlüsselfeld in den WooCommerce-Einstellungen leer lassen, verwendet das Plugin den Schlüssel aus dem Basis-CallFlow-Plugin.

Häufige Probleme

  • Das Widget wird nicht angezeigt – Stellen Sie sicher, dass WooCommerce installiert und aktiv ist; Das Plugin zeigt das Widget nur an, wenn WooCommerce ausgeführt wird.
  • Zwei Widgets gleichzeitig – beide Plugins auf Version 1.1.0 aktualisieren; Ältere Versionen koordinierten die Sichtbarkeit nicht. Alternativ können Sie im zugrunde liegenden Plugin das Häkchen bei „Widget global aktivieren“ entfernen.
  • Dies ist Beta – Testen Sie das Plugin zunächst auf einer Staging-Kopie des Stores, bevor Sie es in der Produktion aktivieren.

PrestaShop 8-Modul

Das Betamodul von CallFlow 1.1.0 bettet ein Produktions-Widget in die Fußzeile des PrestaShop-Shops ein (Hook displayFooter). Obsługuje warianty ecommerce, floating i sticky.

Anforderungen

  • PrestaShop 8.0 oder höher;
  • Site-Schlüssel Mit dem Site-Schlüssel CF-… z aplikacji CallFlow;
  • Installieren Sie zuerst die Betaversion im Staging-Store.

Schritt-für-Schritt-Installation

  1. Modul herunterladen – Datei callflow-prestashop8-1.1.0.zip z sekcji Herunterladen.
  2. Auf Panel installieren – gehe zu Module → Modulmanager → Modul laden und zeigen Sie auf die heruntergeladene ZIP-Datei. Sie finden das Modul in der Kategorie „Werbung und Marketing“.
  3. Konfigurieren – klicken Konfigurieren für das CallFlow-Modul und:
    • einfügen PUBLIC_SITE_KEY;
    • auswählen Variante: E-Commerce (Standard), Floating oder Sticky;
    • gesetzt Widget-Header (Standard „Haben Sie eine Frage zu diesem Produkt?“ – geben Sie Ihre eigene auf Polnisch ein);
    • bitte angeben Adresse der Datenschutzrichtlinie speichern; Das Skript
    • Schalter setzen Aktiviert auf „Ja“ und klicken Sie Speichern.

Häufige Probleme

  • Fehler „Der CallFlow-Schlüssel muss mit CF- beginnen“ – Modul validiert das Schlüsselformat; Kopieren Sie es ohne Leerzeichen aus der Anwendung.
  • Widget erscheint nach dem Speichern nicht – Speichercache löschen (Erweitert → Leistung → Cache leeren) und überprüfen Sie, ob der Schalter „Aktiviert“ auf „Ja“ gesetzt ist.
  • Theme ruft die Fußzeile nicht auf – das Widget ist mit dem Hook verbunden displayFooter; jeśli Twój motyw go nie renderuje, podepnij moduł do innego hooka w Aussehen → Gegenstände.

Andere Plattformen

Die folgenden Integrationen sind technische Betaversionen von 1.1.0 – bitte installieren Sie sie zuerst in Ihrer Staging-Umgebung. Alle Pakete finden Sie in der Rubrik Herunterladen.

Drupal 10/11

Gehen Sie nach der Installation des Moduls zu Konfiguration → Netzwerkdienste → CallFlow, fügen Sie den öffentlichen Schlüssel der Site ein und wählen Sie eine Variante aus.

Joomla 4/5

Aktivieren Sie nach der Installation das Plugin System – CallFlow (V System → Plugins), einfügen PUBLIC_SITE_KEY, wybierz wariant i podaj adres polityki prywatności.

Magento 2 / Adobe Commerce

Modul kopieren nach app/code/CallFlow/Callback, uruchom bin/magento setup:upgrade i skonfiguruj go w Stores → Konfiguration → Allgemein → CallFlow. Das Modul enthält eine CSP-Whitelist für das Skript und die API samael.pl, więc nie musisz ręcznie modyfikować polityki bezpieczeństwa treści.

e107 2.3

Öffnen Sie nach der Installation die CallFlow-Konfiguration und fügen Sie den Schlüssel ein CF-…, wybierz wariant i włącz widget.

Strapi 4/5

-Plugin bietet eine öffentliche Pod-Konfiguration /api/callflow/config (endpoint nie ujawnia żadnych danych konta ani zgłoszeń). Ustaw zmienne środowiskowe CALLFLOW_SITE_KEY oraz opcjonalnie CALLFLOW_VARIANT, a we frontendzie użyj:

import {mountCallFlow} from 'strapi-plugin-callflow/client';

await mountCallFlow();

Shopify

Paket beinhaltet Quellcode Theme-App-Erweiterung (App-Einbettung für ein schwebendes Widget und einen App-Block mit einem im Abschnitt eingebetteten Formular) – dies ist kein Store-Installationsprogramm. Für die Bereitstellung sind die Shopify Partner-App und der Developer Store erforderlich:

shopify app dev

shopify app deploy

Nach der Installation aktiviert der Verkäufer CallFlow in Theme-Einstellungen → App-Einbettungen oder fügt einen Formularblock zu einem Themenabschnitt hinzu.

API für Entwickler

CallFlow stellt die REST-API-Version 1.2.0 bereit – derselbe Vertrag basiert auf der mobilen App und den öffentlichen Widgets.

Grundlagen

  • Basis-URL: https://callflowdesk.com/api/v1
  • Authentifizierung: -Header Die Nummer Authorization: Bearer <access_token> (JWT). Token uzyskasz przez POST /auth/login, a odświeżysz przez POST /auth/refresh z refresh_token.
  • Kein Token funktioniert nur: /auth/register, /auth/login, /auth/refresh oraz /public/leads.
  • Fehler: application/problem+json z polami type, title, status, code, detail, trace_id i (dla walidacji) errors.
  • Paginierung: Listen werden zurückgegeben next_cursor; kolejną stronę pobierzesz parametrem zapytania cursor.

Auth – Registrierung und Sitzungslebenszyklus

MethodePfadBeschreibung
POST/auth/registerErstellt ein Hauptkonto und gibt eine aktive Sitzung zurück (erfordert E-Mail, Passwort und Version der akzeptierten Geschäftsbedingungen und Datenschutzrichtlinien).
POST/auth/loginMeldet den Benutzer mit E-Mail-Adresse und Passwort an und kehrt zurück access_token, refresh_token i expires_in.
POST/auth/refreshListen refresh_token na nową parę tokenów sesji.
POST/auth/logoutMacht die aktuelle Sitzung des angemeldeten Benutzers ungültig.

Konto – Hauptkonto, Unterkonten und Statistiken

MethodePfadBeschreibung
GET/accountGibt das aktive Konto mit der Rolle (main/sub), strefą czasową i uprawnieniami użytkownika.
DELETE/accountLöscht das Konto mit allen Daten dauerhaft (nur Hauptrolle; erfordert Passwort und nur Google-Konto – Bestätigungssatz „KONTO LÖSCHEN“).
GET/account/exportGibt einen Export von Kontodaten im JSON-Format zurück, beschränkt auf den für den angemeldeten Benutzer sichtbaren Bereich.
GET/account/consentsGibt den Verlauf der Akzeptanz von Rechtsdokumenten (Vorschriften, Datenschutz, Marketing) zurück.
POST/account/purge-completedLöscht Tickets im Endstatus zusammen mit Notizen, Warteschlangeneinträgen und Benachrichtigungen (nur Hauptrolle).
POST/account/sub-users/invitationsSendet eine Einladung an den Unterbenutzer mit Zuordnung zu ausgewählten Quellen.
GET/dashboardGibt Statistiken zu aktiven Konten zurück: heutige Anrufe, geplante und abgeschlossene Anrufe sowie Quellenlast.

Quellen – Websites und Kontaktpakete

MethodePfadBeschreibung
GET/sourcesGibt Seiten und Pakete zurück, die dem Benutzer zur Verfügung stehen (Filter kind, paginacja kursorem).
POST/sourcesErstellt eine neue Seite oder ein neues Kontaktpaket mit Arbeitszeiten und erwarteter Anrufzeit.
GET/sources/{sourceId}Gibt Details einer einzelnen Seite oder eines einzelnen Pakets zurück.
PATCH/sources/{sourceId}Aktualisiert ausgewählte Quellfelder (Merge-Patch: Name, Adresse, Geschäftszeiten, Status usw.).
DELETE/sources/{sourceId}Archivieren Sie die Quelle und behalten Sie dabei den Anforderungsverlauf bei.
POST/sources/{sourceId}/rotate-keyErzeugt einen neuen öffentlichen Site-Schlüssel; Das alte System ist sofort nicht mehr aktiv.
GET/sources/{sourceId}/install-codeGibt den fertigen Widget-Installationscode zusammen mit dem Schlüssel und den Daten für den QR-Code zurück.
POST/sources/{sourceId}/send-instructionsSendet Installationsanweisungen per E-Mail (standardmäßig an die Adresse des angemeldeten Benutzers).

Leads – Rückrufanfragen und deren Status

MethodePfadBeschreibung
GET/leadsGibt für den Benutzer verfügbare Tickets zurück (Filter). source_id i status, paginacja kursorem).
GET/leads/{leadId}Gibt die Details eines einzelnen Tickets zurück.
PATCH/leads/{leadId}/statusÄndert den Status eines Tickets (z. B. handled, no_answer, spam) z opcjonalnym uzasadnieniem.

Zeitplan – Anrufplanung

MethodePfadBeschreibung
POST/leads/{leadId}/schedule-nextIch plane ein Vorstellungsgespräch zum nächstmöglichen Termin; kehrt zurück Das 409, gdy w dozwolonym horyzoncie nie ma terminu.
GET/scheduleGibt den Anrufkalender für einen bestimmten Zeitraum zurück (erforderliche Parameter). from i to, opcjonalny filtr source_id).

Geräte – Push-Geräte

MethodePfadBeschreibung
GET/devicesGibt die Liste der aktiven Mobilgeräte des Benutzers zurück, die für Push-Benachrichtigungen registriert sind.
DELETE/devices/{deviceId}Widerruft das Gerät – es empfängt keine Benachrichtigungen mehr.

Öffentlich – Endpunkte für Widgets

MethodePfadBeschreibung
POST/public/leadsAkzeptiert eine Anfrage vom Widget ohne Authentifizierung – erfordert Header Idempotency-Key i publicznego klucza strony; zwraca 202 z potwierdzeniem, nie ujawniając danych konta.

Beispiel: Login

curl -X POST https://callflowdesk.com/api/v1/auth/login \

  -H "Content-Type: application/json" \

  -d '{"email":"jan@firma.pl","password":"TwojeBezpieczneHaslo"}'

Antwort 200 zawiera access_token (przekazuj go w nagłówku Authorization: Bearer …), refresh_token, czas życia expires_in (w sekundach) oraz obiekt user. Przykład żądania uwierzytelnionego:

curl https://callflowdesk.com/api/v1/leads?status=new \

  -H "Authorization: Bearer ACCESS_TOKEN"

Beispiel: Öffentliches Senden eines Leads

Endpunkt POST /public/leads nie wymaga tokenu — identyfikuje stronę po publicznym kluczu CF-…. Nagłówek Idempotency-Key jest erforderlich (16-128 Zeichen, z. B. UUID): Wenn Sie die Anfrage mit demselben Schlüssel wiederholen, wird keine doppelte Anfrage erstellt.

curl -X POST https://callflowdesk.com/api/v1/public/leads \

  -H "Content-Type: application/json" \

  -H "Idempotency-Key: 4b1f2c62-9e0a-4d7c-8f5e-6a3d2b1c0e9f" \

  -d '{

    "site_public_key": "CF-TWOJ-KLUCZ",

    "phone": "+48601234567",

    "consent": true,

    "language": "pl",

    "widget_variant": "box",

    "source_url": "https://twoja-strona.pl/kontakt",

    "urgent": false,

    "website": ""

  }'

Erforderliche Felder: site_public_key, phone, consent (musi być true), language i widget_variant. Pole website to honeypot antyspamowy — musi pozostać puste. Odpowiedź 202 zawiera receipt_id, accepted, message_key oraz opcjonalnie queue_position i estimated_callback_at.

Wenn das Anforderungslimit überschritten wird, antwortet die API mit einem Code 429 z nagłówkiem Retry-After — odczekaj wskazany czas przed ponowieniem. Błędne dane wejściowe zwracają 422 z listą błędów per pole w errors.

Android-Anwendung

Die CallFlow-Anwendung ist die Kommandozentrale für Ihre Anrufe: Alle Berichte von Widgets gehen hierher, Sie verwalten Seiten, Tasten und den Rückrufkalender. Die Anwendung erscheint bald bei Google Play – bis dahin finden Sie das Installationspaket im Abschnitt Herunterladen.

Hauptmerkmale

  • Anrufwarteschlange – neue Anfragen werden automatisch an das entsprechende Projekt gesendet und entsprechend der Arbeitszeit und der erwarteten Gesprächszeit in die Warteschlange gestellt; Status (neu, in Bearbeitung, bearbeitet, verpasst, Spam) organisieren die Arbeit.
  • Zeitplan – Rückrufkalender mit automatischer Planung des nächsten verfügbaren Termins mit einem Tastendruck.
  • Push-Benachrichtigungen – jede neue Meldung löst sofort eine Benachrichtigung aus; Sie verwalten die Liste der registrierten Geräte in den Einstellungen und können den Zugriff für ein verlorenes Telefon widerrufen.
  • Unterkonten - Als Kontoinhaber (Hauptrolle) laden Sie Kollegen (Unterrolle) per E-Mail ein und weisen ihnen ausgewählte Seiten zu; Sie sehen nur die ihnen zugeordneten Quellen und Berichte.
  • Datenexport – vollständiger Export von Kontodaten (Seiten, Berichte, Zeitplan, Einwilligungen) in eine JSON-Datei gemäß DSGVO.
  • Kontolöschung – dauerhafte Löschung des Kontos mit allen Daten direkt aus der Anwendung (erfordert eine Passwortbestätigung und für Google-Konten die Phrase „KONTO LÖSCHEN“); Details im Abschnitt Löschen Sie Ihr Konto.

Fehlerbehebung

Das Widget wird überhaupt nicht angezeigt

Die häufigste Ursache ist ein ungültiger Schlüssel. Überprüfen Sie das Attribut data-site-key: klucz musi zaczynać się od CF- i składać się wyłącznie z wielkich liter, cyfr i myślników (bez spacji na początku i końcu). Otwórz konsolę przeglądarki (F12) — widget zgłasza tam problemy z konfiguracją. Upewnij się też, że skrypt jest wklejony przed </body> i że adres src nie został zmieniony.

Das Widget zeigt die Meldung „Ungültige Konfiguration“ an

Der Schlüssel hat das richtige Format, ist aber nicht aktiv. Dies geschieht, wenn ein neuer Schlüssel generiert wurde (die Rotation macht den alten sofort ungültig) oder die Seite archiviert wurde. Gehen Sie zu den Website-Details in der Bewerbung und kopieren Sie sie aktuell -Schlüssel und ersetzen Sie ihn in Ihrem Code oder Ihren Plugin-Einstellungen.

Das Formular funktioniert, aber die Anwendungen erreichen die Anwendung nicht

Überprüfen Sie den Site-Status in der Anwendung: Nur aktive Sites akzeptieren Einreichungen. Eine pausierte oder archivierte Seite akzeptiert keine neuen Leads. Stellen Sie außerdem sicher, dass Sie keine Berichte mit einem Statusfilter oder auf einem Unterkonto ohne Zugriff auf diese Seite anzeigen.

Das Widget erscheint zweimal auf WordPress mit WooCommerce

Sie haben beide Plugins aktiv: das Basis-CallFlow und CallFlow für WooCommerce. Ab Version 1.1.0 deaktiviert das WooCommerce-Plugin automatisch das globale Basis-Widget – aktualisieren Sie beide auf 1.1.0. Wenn das Problem weiterhin besteht, deaktivieren Sie „Widget global aktivieren“ in Einstellungen → CallFlow. Denken Sie auch an diesen Shortcode [callflow] sam wyłącza widget globalny na danej podstronie.

Ein Store mit einem restriktiven CSP blockiert das Widget

Wenn Ihre Website einen Content-Security-Policy-Header sendet, fügen Sie eine Domain hinzu https://samael.pl do dyrektyw script-src (skrypt widgetu) i connect-src (wysyłka zgłoszeń do API). W Magento 2 nie musisz nic robić — nasz moduł zawiera gotową whitelistę CSP.

Das Widget sendet keine Berichte auf localhost

Dies ist beabsichtigt: Feld source_url zgłoszenia wymaga prawdziwej domeny z TLD (np. .pl, .com). Adresy typu localhost czy 127.0.0.1 nie przechodzą walidacji. Testuj widget na domenie stagingowej lub tymczasowej subdomenie — formularz i wygląd możesz oczywiście podejrzeć lokalnie.

Wie ändere ich Widget-Farben, ohne das CSS der Seite zu bearbeiten?

Verwenden Sie Easy-Level-Attribute direkt auf dem Tag <script> (lub kontenerze data-target): data-accent zmienia kolor przewodni, data-bg tło, data-text kolor tekstu, data-radius zaokrąglenia. Pełna lista w sekcji Personalisierungund fertige Sets ein Demo-Galerie.

Wo finde ich den CF-Schlüssel meiner Website?

Öffnen Sie in der CallFlow-Anwendung „Pakete und Seiten“ und wählen Sie die Seitentaste aus CF-… jest w jej szczegółach razem z gotowym kodem instalacyjnym do skopiowania. Możesz też wysłać sobie instrukcję instalacji e-mailem prosto z aplikacji.

Ich erhalte keine Push-Benachrichtigungen über neue Berichte

Überprüfen Sie, ob die App in den Android-Einstellungen über die Berechtigung für Benachrichtigungen verfügt und ob Ihr Gerät in der Geräteliste der App aufgeführt ist und nicht widerrufen wurde. Deaktivieren Sie die Akkuoptimierung für CallFlow, wenn das System die Anwendung im Hintergrund in den Ruhezustand versetzt.

Ich habe einen neuen Schlüssel generiert und das Widget funktioniert nicht mehr

Die Schlüsselrotation macht den vorherigen sofort ungültig – dies ist eine Sicherheitsfunktion. Nachdem Sie einen neuen Schlüssel generiert haben, aktualisieren Sie ihn an allen Stellen, an denen das Widget eingebettet ist: im Website-Code und in den Einstellungen jedes CMS-Plugins.