Sonstige Webintegration
Sofern Sie den Webmaster nicht zur Erstellung Ihrer Dialog-Website verwenden möchten, können Sie auch per SOAP-API auf die Datenbank zugreifen und so die Adressdaten in Ihre selbstgestaltete Website integrieren.
Mit Hilfe dieser API sind Sie in der Gestaltung Ihres Dialogs unabhängig vom Webmaster. Trotzdem müssen Sie zunächst mit dem Webmaster eine Umfrage erstellen , damit die entsprechenden Tabellen in der Datenbank angelegt und mittels Ihrer Umfrage befüllt werden können.
Der SOAP-Endpunkt ist die Adresse api.addressdialog.com .
Im Anschluss finden Sie eine Kurzdokumentation mit einigen essentiellen Anweisungen des Adressdialog-API.
| Anweisung | Funktion |
|---|---|
| startTransaction(string project, string user) : string |
Registriert eine "Session" für die Projekt-Nummer "project" und den Usercode "user". Die Rückgabe ist eine Transaktions-ID (s.u.) oder ein SOAP-Fault, falls "project" nicht existiert oder "user" kein gültiger User-Code für das Projekt ist.
Im Wesentlichen führt startTransaction() das Gleiche aus wie ein Submit auf der Login-Seite: Es wird ein Lead ohne Response aber mit Adressdaten in der Datenbank erzeugt. Der Primary-Key dieses Leads ist die Variable ID in der Transaktions-ID. |
| endTransaction(string transaction) : boolean | Beendet die Transaktion. Der Parameter ist eine Transaktions-ID von startTransaction() , die Rückgabe ist zur Zeit immer TRUE. |
| getAddress(string transaction) : Transport_Address | Gibt die aktuellen Adressdaten des Users zurück. Der Parameter ist eine Transaktions-ID von startTransaction() , die Rückgabe ist ein einfaches Transport-Objekt, in dem die Adressdaten als Key-Value-Paare (siehe client.*) enthalten sind. |
| getSurvey(string transaction) : Transport_SurveyAnswer | Gibt die aktuellen Umfrage-Antworten zurück. Der Parameter ist eine Transaktions-ID von startTransaction() , die Rückgabe ist ein einfaches Transport-Objekt, in dem der Zeitpunkt der Erfassung, der Response-Kanal und das Antworten-XML enthalten ist. |
| saveAddress(string transaction, object Transport_Address) : void | Aktualisiert die Adressdaten des Users mit den neuen Daten aus dem Transport-Objekt im zweiten Parameter. |
| saveSurvey(string transaction, string xml) : boolean | Speichert die Umfrage-Antworten des Users. Der erste Parameter ist eine Transaktions-ID, der zweite Parameter ist ein Antworten-XML analog zur Rückgabe von getSurvey() . |
| markCancelled(string transaction) : void | Markiert den Lead als Stornierung. (Siehe Manuelle Erfassung ) |
| markReturned(string transaction) : void | Markiert den Lead als Retour. (Siehe Manuelle Erfassung ) |
Das Antwort-XML
Die Adressdaten werden im Antwort-XML in folgender Form zurückgegeben:
<xsd:complexType name="Transport_Address"> <xsd:all> <xsd:element name="anrede" type="xsd:string"/> <xsd:element name="titel" type="xsd:string"/> <xsd:element name="vorname" type="xsd:string"/> <xsd:element name="nachname" type="xsd:string"/> <xsd:element name="position" type="xsd:string"/> <xsd:element name="strassenr" type="xsd:string"/>"/> <xsd:element name="plz_strasse" type="xsd:string"/> <xsd:element name="ort_strasse" type="xsd:string"/> <xsd:element name="postfach" type="xsd:string"/> <xsd:element name="plz_postfach" type="xsd:string"/> <xsd:element name="plz_grossempfaenger" type="xsd:string"/> <xsd:element name="abteilung" type="xsd:string"/> ...
Die Responsedaten der Umfrage liegen in folgender Form vor:
<xsd:complexType name="Transport_Survey"> <xsd:all> <xsd:element name="channel" type="xsd:integer"/> <xsd:element name="timestamp" type="xsd:integer"/> <xsd:element name="answers" type="typens:ArrayOfstring"/> </xsd:all> </xsd:complexType>
Die Reponsedaten werden in einem Array Of String gespeichert, die Channel-Nummer gibt den Responsekanal (Internet, Telefon, Fax, etc.) an und der Timestamp enthält den genauen Zeitpunkt der Reponseerfassung.