Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Formulare und gesammelte Informationen

Formularantworten, Umfragen und Lead-Formulare aus Exponential in ein CRM oder ein anderes System bringen - wie das Sammeln von Informationen funktioniert, collect.ini, der CSV-Export und bccie, neue Sammlungen in einem…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/integrators/forms-and-collected-information.md

On this page

This page is a translation. Read the English original

Formulare und gesammelte Informationen

Diese Seite ist für Integratoren, die die Formulare einer Exponential-Website mit einem CRM, einem Ticketsystem oder einem Marketingwerkzeug verbinden. Ein Formular in Exponential ist ein Inhaltsobjekt, dessen Klasse als Informationssammler markierte Attribute hat; jedes Mal, wenn ein Besucher es absendet, wird eine Sammlung mit einem Wert pro Sammlerattribut gespeichert. Die Seite der Administration ist Gesammelte Informationen.

Inhalt

  1. Die Wege nach draußen
  2. collect.ini: was beim Absenden geschieht
  3. Neue Sammlungen in einem Cronjob lesen
  4. Exporte
  5. Personenbezogene Daten
  6. Checkliste

Die Wege nach draußen

WegWannAufwand
E-Mail bei jedem Absenden (collect.ini [EmailSettings])Das CRM hat eine Adresse für eingehende E-Mails; geringes VolumenNur Einstellungen
CSV-Export pro Objekt (infocollector/export/<object id>)Gelegentliche ÜbergabeKeiner
bccie-Exporte nach Zeitplan (CSV oder SYLK)Eine regelmäßige Datei für ein anderes TeamEinstellungen und Cronjob
Ein Cronjob Ihrer Erweiterung, der neue Sammlungen liest und die API des CRM aufruftLeads müssen innerhalb von Minuten strukturiert ankommenEine Erweiterung

Der letzte ist die robuste Integration: strukturiert, wiederholt und protokolliert. Das Parsen von E-Mails auf der Seite des CRM bricht bei jeder Template-Änderung.

collect.ini: was beim Absenden geschieht

settings/collect.ini, überschrieben in settings/override/collect.ini.append.php. Die meisten Einstellungen haben einen Standardwert, eine Liste pro Sammlungstyp (form, poll, feedback) und ein Attribut, mit dem das Objekt wählen kann:

BlockEinstellungenBedeutung
[InfoSettings]Type, TypeList[], TypeAttribute=collection_typeWelchen Typ ein Formular hat
[EmailSettings]SendEmail=enabled, SendEmailList[poll]=disabled, SendEmailAttribute=collection_emailOb beim Absenden eine E-Mail verschickt wird
[DisplaySettings]Display=result, RedirectURL, RedirectURLAttribute=collection_redirectWas der Besucher danach sieht
[CollectionSettings]CollectAnonymousData, CollectSensitiveData, CollectionUserData=multipleOb anonyme Besucher absenden dürfen, ob sensible Daten gespeichert werden, eine oder viele Sammlungen pro Benutzer

Neue Sammlungen in einem Cronjob lesen

Merken Sie sich die ID der zuletzt gesendeten Sammlung, lesen Sie alles danach, senden Sie es und speichern Sie die neue letzte ID. Die Tabellen sind ezinfocollection (eine Zeile pro Absenden) und ezinfocollection_attribute; die Klasse ist eZInformationCollection (kernel/classes/ezinformationcollection.php).

<?php
/**
 * Sends new collections of one form object to the CRM. $lastID is kept by the caller (a row of your own table).
 */
function myIntegrationSendNewCollections( $formObjectID, $lastID, $crmClient )
{
    $db = eZDB::instance();
    $rows = $db->arrayQuery( 'SELECT id FROM ezinfocollection WHERE contentobject_id = ' . (int)$formObjectID
                           . ' AND id > ' . (int)$lastID . ' ORDER BY id', array( 'limit' => 200 ) );
    foreach ( $rows as $row )
    {
        $collection = eZInformationCollection::fetch( (int)$row['id'] );
        if ( !$collection instanceof eZInformationCollection )
            continue;
        $fields = array();
        foreach ( $collection->dataMap() as $identifier => $attribute )
        {
            $fields[$identifier] = $attribute->attribute( 'data_text' );
        }
        if ( !$crmClient->sendLead( (int)$row['id'], $fields ) )
        {
            return $lastID;               // stop; the next run retries from here
        }
        $lastID = (int)$row['id'];
    }
    return $lastID;
}

dataMap() indiziert die gesammelten Attribute nach dem Bezeichner ihres Klassenattributs. Textwerte stehen in data_text, Zahlen je nach Datentyp in data_int oder data_float. Schicken Sie die Sammlungs-ID mit, damit das CRM ein Duplikat ablehnen kann, wenn ein Lauf wiederholt wird (Idempotente Importe).

Für ganze Listen sind eZInformationCollection::fetchCollectionsList( $contentObjectID, $creatorID, $userIdentifier, $limitArray, $sortArray ) und fetchCollectionsCount() die Abfragen des Kernels.

Exporte

  • Der CSV-Export unter Setup > Gesammelte Informationen lädt infocollector/export/<object id> herunter: UTF-8 mit Byte Order Mark, die Sammlungs-ID, Sende- und Änderungszeit in UTC, die Benutzer-ID des Absenders, eine Spalte pro Sammlerattribut; höchstens 50 000 Sammlungen. Werte, die eine Tabellenkalkulation als Formel lesen würde, beginnen mit einem Apostroph. Jeder Export wird im Audit als data.export.csv festgehalten.
  • bccie (verlangt als ~1.1.18) exportiert gesammelte Informationen als CSV oder SYLK auf Abruf oder über seine Cronjob-Teile (bccie).

Personenbezogene Daten

Formularantworten sind meist personenbezogene Daten: Namen, E-Mail-Adressen, Nachrichten.

  • Senden Sie nur die Felder, die das empfangende System braucht.
  • Löschen Sie Sammlungen in Exponential, sobald sie sicher im CRM sind, wenn die Aufbewahrungsregeln des Kunden das erlauben (Setup > Gesammelte Informationen, Entfernen; festgehalten als data.infocollection.remove).
  • Bewahren Sie exportierte Dateien dort auf, wo personenbezogene Daten hingehören, und löschen Sie sie, wenn sie nicht mehr gebraucht werden.
  • Tragen Sie den Datenfluss in das Verarbeitungsverzeichnis des Kunden ein; das ist keine Rechtsberatung (Kundendaten schützen).

Checkliste

  • To do: Welche Formularobjekte integriert werden und welche Felder wohin gehen.
  • To do: Die E-Mail beim Absenden dort ausgeschaltet, wo der Cronjob sie ersetzt, damit Leads nicht doppelt ankommen.
  • To do: Die zuletzt gesendete ID dauerhaft gespeichert; das CRM lehnt Duplikate anhand der Sammlungs-ID ab.
  • To do: Gescheiterte Sendungen stoppen den Lauf und werden wiederholt; der Lauf wird protokolliert und überwacht.
  • To do: Aufbewahrung für Sammlungen in Exponential und im CRM vereinbart.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x