Die Version 1.0 der Zoho CRM-APIs befindet sich im End-of-Life Zeitraum und wird am 31. Dezember 2018 veraltet sein. Wir empfehlen Ihnen, die neue und bessere API 2.0 zu testen.
Änderungen in der API Version 1.0 – DSGVO-Compliance
Was ist die DSGVO?
Bei der DSGVO handelt es sich um eine Reihe von Regeln, die die vorhandene Datenschutzrichtlinie (Richtlinie 95/46/EG) ersetzen und in der EU durchgesetzt werden. Sie soll die Rechte von EU-Bürgerinnen und -Bürgern stärken, indem sie ihnen die direkte Kontrolle darüber gibt, wie ihre Daten verarbeitet werden sollen. Dadurch soll die Privatsphäre aufgrund der immer komplexeren Art der Übermittlung personenbezogener Daten auf der ganzen Welt geschützt werden.
Hinweis:
- Der hier dargestellte Inhalt darf nicht als Rechtsberatung ausgelegt werden. Wenden Sie sich an Ihren Rechtsberater, um zu erfahren, wie sich die DSGVO auf Ihr Unternehmen auswirkt und was Sie tun müssen, um die DSGVO einzuhalten.
Was ist neu in der API?
Felder
Details zu Grundlagen der Datenverarbeitung
Ein neues Feld mit dem Namen "Details zu Grundlagen der Datenverarbeitung" enthält die gesetzliche Grundlage für die Datenverarbeitung für den jeweiligen Datensatz. Sie können die Werte in diesem Feld danach festlegen, wie Sie die Daten Ihrer Kunden verarbeiten möchten.
Derzeit wird dieses Feld nur in den Modulen "Leads", "Contacts", "Vendors" und in benutzerdefinierten Modulen unterstützt.
Die Werte des Felds können folgende sein:
"Nicht anwendbar", "Berechtigte Interessen", "Vertrag", "Rechtliche Verpflichtung", "Lebenswichtige Interessen", "Öffentliches Interesse", "Auf Zustimmung wird gewartet", "Zustimmung ausstehend", "Zustimmung erhalten", "Nicht beantwortet", "Verarbeitung stoppen", "Zustimmung verweigert", "Löschen".
Hinweis:
- Zustimmung ausstehend: Der Link oder das Formular zur Zustimmung wurde dem Kunden noch nicht zugesandt.
- Auf Zustimmung wird gewartet: Der Link oder das Formular zur Zustimmung wurde dem Kunden zugesandt, und man wartet auf eine Antwort.
- Zustimmung erhalten: Der Link oder das Formular zur Zustimmung wurde zugesandt, und der Kunde hat den "Zugriff" gewährt, d. h. akzeptiert.
- Zustimmung verweigert: Das Formular zur Zustimmung wurde versandt, und der Kunde hat mit "Verarbeitung stoppen" geantwortet.
Tags
Zustimmung
Dieses neue Tag enthält die Details der Zustimmungserklärung, die von einem Kunden akzeptiert wird. In einem anderen Sinne kann dieses Tag innerhalb einer Anfrage verwendet werden, um Zustimmungsdetails zu einem bestimmten Datensatz hinzuzufügen.
Attribute
Privat
Den APIs wird ein Attribut für das Zustimmungs-Tag namens "privat" hinzugefügt, um das Feld als geschütztes Feld zu markieren. Der Datentyp dieses Schlüssels ist Boolesch, d. h. "true/false".
Privater Typ
Ein Attribut für das Zustimmungs-Tag mit dem Namen "private_type" wird hinzugefügt. Der Wert dieses Schlüssels kann "hoch", "niedrig" oder "null" sein. Die Werte "hoch" und "niedrig" entsprechen den Werten "sensibel" und "normal" gemäß der CRM-Oberfläche.
Verarbeitung beenden
Wenn der Schlüssel zum Beenden der Verarbeitung eines bestimmten Datensatzes "true" ist, wird der Datensatz schreibgeschützt. Der Wert für diesen Schlüssel ist vom Booleschen Datentyp, d. h. "true" oder "false".
Beispiel:
<FL val="$stop_processing">true</FL>
Szenarien, in denen dieser Schlüssel wichtig wird:
- Dem Kunden, der eine Anfrage zur vorübergehenden Einstellung seiner Anfrage stellt, wird ein Zustimmungsformular zugesandt. Dann wird eine Anfrage zum Beenden der Verarbeitung gesendet.
- Ein Datenverantwortlicher, d. h. ein Admin (CEO) eines Unternehmens, kann sein Organigramm so einrichten, dass die Beendigung der Verarbeitung in den Datenschutzeinstellungen aktiviert wird, wenn die Zustimmungsphase "Ausstehend" oder "Warten" ist.
Felder-API
Folgende Änderungen wurden basierend auf der Implementierung der neuen Datenschutzrichtlinie an der Felder-API vorgenommen wurden:
- Das Attribut "private" gibt an, ob ein Feld geschützt (privat) ist oder nicht. Der Datentyp des Schlüssels ist Boolesch, d. h. "true/false".
- Das Attribut "private_type" gibt die Sensibilität der Daten an. Wenn zum Beispiel die Empfindlichkeit der Daten auf "hoch" eingestellt ist, ist private_type="High"
Hinweis:
- Bei nicht privaten Felder bedeutet dies: if "private=false", then private_type="null".
- Private Felder können nicht über Kriterien durchsucht werden.
URL: {module}/getFields, {module}/getAllFields
Beispielantwort
<FL id="111111000000000861" req="false" type="Lookup" isreadonly="false" private="false" private_type="null" export="false" isQcreate="false" maxlength="120" label="Lead Owner" dv="Lead Owner" colName="SMOWNERID" ></FL>
<FL id="111111000000000863" req="true" type="Text" isreadonly="false" private="true" private_type="High" export="false" isQcreate="true" maxlength="100" label="Company" dv="Company" colName="COMPANY" ></FL>
<FL id="111111000000000871" req="false" type="Text" isreadonly="false" private="true" private_type="High" export="false" isQcreate="false" maxlength="100" label="Designation" dv="Title" colName="DESIGNATION" ></FL>
<FL id="111111000000000873" req="false" type="Email" isreadonly="false" private="true" private_type="Low" export="false" isQcreate="true" maxlength="100" label="Email" dv="Email" colName="EMAIL" ></FL>
Einfüge-API
Ein neues Tag namens "Zustimmung" enthält die Details der Zustimmungserklärung, die von einem Kunden akzeptiert wird. In einem anderen Sinne kann dieses Tag innerhalb einer Anfrage verwendet werden, um Zustimmungsdetails zu einem bestimmten Datensatz hinzuzufügen.
Folgende Änderungen wurden basierend auf der Implementierung der neuen Datenschutzrichtlinie an der Einfüge-API vorgenommen:
- CONSENTID kann in den Eingabedaten nicht angegeben werden (vorhandene Zustimmung kann nicht zugeordnet werden)
- E-Mail kann in der Zustimmung nicht angegeben werden (d. h. in <Zustimmung></Zustimmung>)
- Einfüge-API ohne Throw für Fehler bei E-Mail-ID "Verarbeitung stoppen". Stattdessen wird der Datensatz mit der E-Mail-ID "Verarbeitung stoppen" erstellt und in den Bereich "Verarbeitung stoppen" verschoben.
- Wenn eine ungültige E-Mail im Datensatz (d. h. in <Zeile></Zeile>) angegeben wird, wird sie validiert.
Hinweis:
Die oben genannten Anwendungsfälle sind in folgenden Fällen anwendbar:
- Die Funktion Compliance-Einstellungen für das Unternehmen ist aktiviert (von Zoho durchgeführt).
- DSGVO-Compliance wurde vom Benutzer aktiviert (vom Benutzer aktiviert).
- Das Modul, auf das zugegriffen wird, sollte eines der Datenschutzmodule sein (kann vom Benutzer über die Option Datenschutz für Modul verwalten) ausgewählt werden.
Beispieleingabe
<Leads>
<row no="1">
<FL val="Last Name">Patricia</FL>
<FL val="Email">p.boyle@zylker.com</FL>
<FL val="Data Processing Basis Details">
<consent>
<FL val="Contact through Email">true</FL>
<FL val="Contact Through Phone">false</FL>
<FL val="Contact Through Survey">false</FL>
<FL val="Contact Through Social Handles">false</FL>
<FL val="Consent Through">E-Mail</FL>
<FL val="Consent Date">2018-04-27</FL>
<FL val="Allow Other Service">true</FL>
<FL val="Consent Remarks">Zustimmung durch Kunden gegeben</FL>
<FL val="Data Processing Basis">Erhalten</FL>
</consent>
</FL>
</row>
</Leads>
Aktualisierungs-API
Folgende Änderungen wurden basierend auf der Implementierung der neuen Datenschutzrichtlinie an der Aktualisierungs-API vorgenommen:
- CONSENTID kann in den Eingabedaten nicht angegeben werden (vorhandene Zustimmung kann nicht zugeordnet werden).
- E-Mail kann in der Zustimmung nicht angegeben werden (d. h. in <Zustimmung></Zustimmung>)
- Wenn eine ungültige E-Mail im Datensatz (d. h. in <Zeile></Zeile>) angegeben wird, wird sie validiert.
Hinweis:
Die oben genannten Anwendungsfälle sind in folgenden Fällen anwendbar:
- Die Funktion Compliance-Einstellungen für das Unternehmen ist aktiviert (von Zoho durchgeführt).
- DSGVO-Compliance wurde vom Benutzer aktiviert (vom Benutzer aktiviert).
- Das Modul, auf das zugegriffen wird, sollte eines der Datenschutzmodule sein (kann vom Benutzer über die Option Datenschutz für Modul verwalten) ausgewählt werden.
Beispieleingabe
<Leads>
<row no="1">
<FL val="Last Name">Patricia</FL>
<FL val="Email">p.boyle@zylker.com</FL>
<FL val="Data Processing Basis Details">
<consent>
<FL val="Contact through Email">true</FL>
<FL val="Contact Through Phone">false</FL>
<FL val="Contact Through Survey">false</FL>
<FL val="Contact Through Social Handles">false</FL>
<FL val="Consent Through">E-Mail</FL>
<FL val="Consent Date">2018-04-27</FL>
<FL val="Allow Other Service">true</FL>
<FL val="Consent Remarks">Zustimmung durch Kunden gegeben</FL>
<FL val="Data Processing Basis">Erhalten</FL>
</consent>
</FL>
</row>
</Leads>
Abruf-API
Folgende Änderungen wurden basierend auf der Implementierung der neuen Datenschutzrichtlinie an der Abruf-API (getRecords/getRecordById/getRelatedRecords/searchRecords/searchRecordsByPDC/getSearchRecords) vorgenommen:
- Wenn include_pi_fields=true angegeben wird, werden die privaten Felder für das Modul in den Datensätzen GET API angegeben.
- Der Schlüssel $stop_processing wird in allen GET-API-Antworten bereitgestellt
Hinweis:
Die oben genannten Anwendungsfälle sind in folgenden Fällen anwendbar:
- Die Funktion Compliance-Einstellungen für das Unternehmen ist aktiviert (von Zoho durchgeführt).
- DSGVO-Compliance wurde vom Benutzer aktiviert (vom Benutzer aktiviert).
- Das Modul, auf das zugegriffen wird, sollte eines der Datenschutzmodule sein (kann vom Benutzer über die Option Datenschutz für Modul verwalten) ausgewählt werden.
Beispielantwort
<response uri="/crm/private/xml/Leads/getRecords">
<pi_fields>
<FL id="111111000000000863" label="Company" private="true" private_type="High" export="false"></FL>
<FL id="111111000000000873" label="Email" private="true" private_type="Low" export="false"></FL>
<FL id="111111000000000875" label="Phone" private="true" private_type="High" export="false"></FL>
<FL id="111111000000000877" label="Fax" private="true" private_type="High" export="false"></FL>
</pi_fields>
<result>
<Leads>
<row no="1">
<FL val="LEADID">111111000000056343</FL>
<FL val="$stop_processing">false</FL>
<FL val="SMOWNERID">111111000000031431</FL>
...
</row>
</Leads>
</result>
</response>
Antworten mit Details zu Grundlagen der Datenverarbeitung:
Beispielantwort
<FL val="Data Processing Basis Details">
<consent>
<FL val="CONSENTID">111111000000032361</FL>
<FL val="Contact through Email">true</FL>
<FL val="Contact Through Phone">false</FL>
<FL val="Contact Through Survey">false</FL>
<FL val="Contact Through Social Handles">false</FL>
<FL val="Email">null</FL>
<FL val="SMCREATORID">111111000000031431</FL>
<FL val="Created By">Boyle GDPR</FL>
<FL val="MODIFIEDBY">111111000000031431</FL>
<FL val="Modified By">Boyle GDPR</FL>
<FL val="SMOWNERID">111111000000031431</FL>
<FL val="Consent Owner">Boyle GDPR</FL>
<FL val="Created Time">2018-04-26 20:33:34</FL>
<FL val="Modified Time">2018-04-26 20:33:34</FL>
<FL val="Consent Through">E-Mail</FL>
<FL val="Consent Date">2018-04-27</FL>
<FL val="Consent Ends On">null</FL>
<FL val="Allow Other Service">false</FL>
<FL val="Consent Remarks">Zustimmung durch den Kunden gegeben.</FL>
<FL val="Data Processing Basis">Erhalten</FL>
<FL val="Mail Sent Time">null</FL>
<FL val="Consent Lawful Details">null</FL>
<FL val="Consent Other Details">null</FL>
</consent>
</FL>
API für die Suche nach Datensätzen
Felder, die als privat markiert sind, können NICHT über Suchkriterien, "SearchCondition"-, "SearchColumn"- und "Customview"-Kriterien abgerufen werden. Wenn ein privates Feld gesucht wird, wird die folgende Antwort angezeigt.
Beispielantwort
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/crm/private/xml/Leads/searchRecords">
<error>
<code>4899</code>
<message>API-Aufruf kann nicht abgeschlossen werden. Grund: Privatfeld in criteria/searchCondition/searchColumn/customview</message>
</error>
</response>
Fehlermeldungen
Die folgende Fehlermeldung wird für die APIs "records insert", "update", "upsert", "convertLead" und "sendMail" ausgegeben.
Beispielantwort
<response uri="/crm/private/xml/Leads/convertLead">
<error>
<code>4202</code>
<message>API call cannot be completed as the record is in stop processing</message>
</error>
</response>
Hinweis:
Gesperrt: Der Status Gesperrt kann zu einem Datensatz hinzugefügt und verwendet werden, um einen bestimmten Datensatz zu blockieren oder zu sperren, indem das Feld "E-Mail" als Identifizierungsfeld verwendet wird. Mit anderen Worten: Wenn ein Datensatz mit einer bestimmten E-Mail blockiert wird, können Datensätze mit derselben E-Mail nicht hinzugefügt oder aktualisiert werden.