API V1 - Conformidade com o GDPR

A Versão 1.0 das APIs do Zoho CRM está no período de fim de vida útil (End-of-Life) e será descontinuada em 31 de dezembro de 2018. Recomendamos que você verifique a nova e melhor API 2.0.

Alterações na API Versão 1.0 - Conformidade com GDPR

O que é GDPR?

O GDPR é um conjunto abrangente de regras que irá substituir a diretiva de proteção de dados existente, ou Diretiva 95/46/EC, e que será adotada em toda a UE. Destina-se a capacitar os residentes da UE, colocando-os diretamente no controle de como eles querem que seus dados sejam processados, e a proteger sua privacidade de dados devido à natureza cada vez mais complexa da transmissão de dados pessoais em todo o mundo.

Nota:

  • O conteúdo apresentado neste documento não deve ser interpretado como aconselhamento legal. Entre em contato com seu consultor jurídico para saber como o GDPR afeta sua organização e o que você precisa fazer para estar em conformidade com o GDPR.

O que há de novo na API?

Campos

Detalhes da Base de Processamento de Dados

Um novo campo chamado "Detalhes da Base de Processamento de Dados" irá carregar a base legal de processamento de dados para um registro específico. Você pode determinar os valores nesse campo com base em como você deseja processar os dados do seu cliente.

Atualmente, esse campo é suportado somente nos módulos Leads, Contatos, Fornecedores e Personalizado.

Os valores do campo podem ser:

Não Aplicável, Interesses Legítimos, Contrato, Obrigação Legal, Interesses Vitais, Interesses Públicos, Consentimento Pendente, Consentimento Aguardado, Consentimento Obtido, Consentimento Sem Resposta, Interromper Processamento, Consentimento Recusado, Excluir.

Nota:

  • Consentimento Pendente – o link ou formulário de consentimento ainda não foi enviado ao cliente.
  • Consentimento Aguardado – o link ou formulário de consentimento foi enviado ao cliente e uma resposta está sendo aguardada.
  • Consentimento Obtido – o link ou formulário de consentimento foi enviado e o cliente deu "Acesso", ou seja, Aceitou.
  • Consentimento Recusado – o formulário de consentimento foi enviado e o cliente respondeu como "Interromper Processamento".

Marcações

Consentimento

Essa nova marcação contém os detalhes do formulário de consentimento que é aceito por um cliente. Em outro sentido, dentro de uma solicitação, essa marcação pode ser usada para adicionar detalhes de consentimento a um registro específico.

Atributos

Privado

Um atributo para a marcação de consentimento, denominado "private" é adicionado às APIs, para marcar o campo como um campo protegido. O tipo de dados desta chave é Booleano, ou seja, verdadeiro/falso.

Tipo Privado

Um atributo para a marcação de consentimento, denominado "private_type" é adicionado. O Valor dessa chave pode ser "High", "Low" ou "null". Os valores "High" e "Low" correspondem aos valores "Sensitive" e "Normal", como na UI do CRM.

Interromper processamento

Quando a chave de interromper processamento de um registro específico é "true", o registro se torna read-only. O valor dessa chave é do tipo de dados Booleano, ou seja, verdadeiro ou falso.

Exemplo:

<FL val="$stop_processing">true</FL>

Alguns cenários em que esta chave é importante:

  • Um formulário de consentimento é enviado ao cliente que faz uma solicitação para interromper temporariamente a sua solicitação. Em seguida, uma solicitação para Interromper Processamento será enviada.
  • Um Controlador de dados, em outras palavras, um Admin (CEO) de uma Organização pode configurar a organização de forma que as configurações de Interromper Processamento em Privacidade sejam ativadas sempre que a etapa de consentimento estiver em "Pendente" ou "Aguardado".

API de campos

As alterações feitas na API de campos com base na implementação da nova política de privacidade são:

  • O atributo "private" indica se um campo está protegido (privado) ou não. O tipo de dados da chave é Booleano, ou seja, verdadeiro/falso.
  • O atributo "private_type" indica o nível de confidencialidade dos dados. Por exemplo, se a confidencialidade dos dados for definida para ser alta, então private_type="High”

Nota:

  • Para campos que não são privados, ou seja, se "private=false", então private_type="null".
  • Campos privados não podem ser pesquisados por meio de Critérios.

URL : {module}/getFields, {module}/getAllFields

Resposta da amostra

<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>

API de inserção

Uma nova marcação denominada "Consentimento", contém os detalhes do formulário de consentimento que é aceito por um cliente. Em outro sentido, dentro de uma solicitação, essa marcação pode ser usada para adicionar detalhes de consentimento a um registro específico.

As alterações feitas na API de inserção com base na implementação da nova política de privacidade são:

  • CONSENTID não pode ser fornecido nos dados de entrada (o Consentimento Existente existente não pode ser associado)
  • E-mail não pode ser fornecido no Consentimento (ou seja, em <consent></consent>)
  • A API de inserção não apresentará nenhum erro para o ID de e-mail de Interromper Processamento. Em vez disso, o registro será criado com o ID de e-mail de interromper processamento e será movido para Interromper Processamento.
  • Se um e-mail inválido estiver sendo fornecido no registro (por exemplo, em <linha></linha>), ele será validado.

Nota:

Os casos de uso mencionados acima são aplicáveis somente se o recurso

  • Configurações de conformidade recurso estiver habilitado para Organização (feito pelo Zoho).
  • A conformidade com o GDPR é habilitada pelo usuário.
  • O módulo que está sendo acessado deve ser um módulo de privacidade de dados (pode ser escolhido pelo usuário através da opção Gerenciar privacidade de dados para o módulo).

Entrada de amostra

<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">Email</FL>
        <FL val="Consent Date">2018-04-27</FL>
        <FL val="Allow Other Service">true</FL>
        <FL val="Consent Remarks">Consent approved by customer</FL>
        <FL val="Data Processing Basis">Obtained</FL>
      </consent>
    </FL>
  </row>
</Leads>

API de atualização

As alterações feitas na API de atualização com base na implementação da nova política de privacidade são:

  • CONSENTID não pode ser fornecido nos dados de entrada (o Consentimento Existente existente não pode ser associado).
  • E-mail não pode ser fornecido no Consentimento (ou seja, em <consent></consent>)
  • Se um e-mail inválido estiver sendo fornecido no registro (por exemplo, em <linha></linha>), ele será validado.

Nota:

Os casos de uso mencionados acima são aplicáveis somente se o recurso

  • Configurações de conformidade recurso estiver habilitado para Organização (feito pelo Zoho).
  • A conformidade com o GDPR é habilitada pelo usuário.
  • O módulo que está sendo acessado deve ser um módulo de privacidade de dados (pode ser escolhido pelo usuário através da opção Gerenciar privacidade de dados para o módulo).

Entrada de amostra

<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">Email</FL>
        <FL val="Consent Date">2018-04-27</FL>
        <FL val="Allow Other Service">true</FL>
        <FL val="Consent Remarks">Consent approved by customer</FL>
        <FL val="Data Processing Basis">Obtained</FL>
      </consent>
    </FL>
  </row>
</Leads>

API de obtenção

As alterações feitas na API de obtenção (getRecords/getRecordById/getRelatedRecords/searchRecords/searchRecordsByPDC/getSearchRecords) com base na implementação da nova política de privacidade são:

  • Quando include_pi_fields=true estiver especificado, o campos privados para o módulo serão fornecidos em registros de API GET.
  • Chave $stop_processing fornecida em todas as respostas de API GET

Nota:

Os casos de uso mencionados acima são aplicáveis somente se o recurso

  • Configurações de conformidade recurso estiver habilitado para Organização (feito pelo Zoho).
  • A conformidade com o GDPR é habilitada pelo usuário.
  • O módulo que está sendo acessado deve ser um módulo de privacidade de dados (pode ser escolhido pelo usuário através da opção Gerenciar privacidade de dados para o módulo).

Resposta da amostra

<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>

Respostas com Detalhes da Base de Processamento de Dados:

Resposta da amostra

<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">Email</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">Consent accepted by the customer.</FL>
        <FL val="Data Processing Basis">Obtained</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 de pesquisa de registros

Os campos marcados como privados NÃO PODEM ser obtidos por meio de critérios de pesquisa, searchCondition, searchColumn e critério customview. Se um campo privado for pesquisado, a seguinte resposta será mostrada.

Resposta da amostra

<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/crm/private/xml/Leads/searchRecords">
    <error>
        <code>4899</code>
        <message>API call cannot be completed as private field given in criteria/searchCondition/searchColumn/customview</message>
    </error>
</response>

Mensagens de erro

A seguinte mensagem de erro é gerada para as APIs de registros: insert, update, upsert, convertLead e sendMail.

Resposta da amostra

<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>

Nota:

Bloqueado – o status Bloqueado pode ser adicionado a um registro e usado para bloquear, ou travar, um registro específico, deixando o campo "E-mail" como o campo de identificação. Em outras palavras, se um registro com um determinado e-mail for bloqueado, os registros com o mesmo e-mail não poderão ser adicionados ou atualizados.

Share this post : FacebookTwitter

Ainda não consegue encontrar o que você está procurando?

Escreva para nós: support@zohocrm.com