Participe de uma demo ao vivo e tire dúvidas com nosso especialista. Toda quarta, 13h. Registre-se grátis!

X
Pular para o conteúdo principal
close
EXPLORE TODOS OS PRODUTOS

Vendas

CRM

Converta leads e feche vendas mais rapidamente.

CRM
Sign

Aplicativo de assinatura digital para empresas.

Sign
Forms

Desenvolva formulários on-line para atender às necessidades da sua empresa.

Forms
Bigin

Solução de gerenciamento de pipeline para equipes de atendimento ao cliente.

Bigin
SalesIQ

Aplicativo de chat ao vivo para envolver e converter visitantes do site.

SalesIQ
Bookings

Aplicativo de agendamento de compromissos para consultas com clientes.

Bookings
Pacotes
CRM Plus

Plataforma unificada para proporcionar uma experiência de alto nível ao cliente.

CRM Plus

Marketing

Campaigns

Crie, envie e monitore suas campanhas direcionadas por e-mail de qualquer lugar.

Campaigns
Sign

Aplicativo de assinatura digital para empresas.

Sign
Forms

Desenvolva formulários on-line para atender às necessidades da sua empresa.

Forms
Social

O software completo para gerenciamento de mídias sociais.

Social
Survey

Crie pesquisas para alcançar e interagir com o público.

Survey
SalesIQ

Aplicativo de chat ao vivo para envolver e converter visitantes do site.

SalesIQ
Sites

Construtor de sites on-line com amplas opções de personalização.

Sites
Backstage

Software de gerenciamento completo de eventos.

Backstage
PageSense

Otimização de conversão de sites e plataforma de personalização.

PageSense
Marketing Automation

Um software de automação de marketing multifuncional.

Marketing Automation
LandingPage

Criador de página inicial inteligente para aumentar as taxas de conversão.

LandingPage
Pacotes
Marketing Plus

Plataforma de marketing unificada para equipes de marketing.

Marketing Plus

Commerce

Commerce

Plataforma de comércio eletrônico para gerenciar e comercializar sua loja on-line.

Commerce

Suporte ao cliente

Desk

Software de suporte técnico para oferecer um excelente suporte ao cliente.

Desk
Assist

Suporte remoto sob e software de acesso remoto autônomo.

Assist
SalesIQ

Aplicativo de chat ao vivo para envolver e converter visitantes do site.

SalesIQ
Bookings

Aplicativo de agendamento de compromissos para consultas com clientes.

Bookings
Lens

Assistência remota interativa de softwares com realidade aumentada.

Lens
Pacotes
Service Plus

Plataforma unificada para equipes de suporte e atendimento ao cliente.

Service Plus

Finanças

Books

Plataforma financeira avançada para empresas em crescimento.

Books
Sign

Aplicativo de assinatura digital para empresas.

Sign
Gratuito
Invoice

Solução de faturamento 100% gratuita

Invoice
Commerce

Plataforma de comércio eletrônico para gerenciar e comercializar sua loja on-line.

Commerce

E-mail e colaboração

Mail

Serviço de e-mail seguro para equipes de todos os tamanhos.

Mail
Sign

Aplicativo de assinatura digital para empresas.

Sign
WorkDrive

Gerenciamento de arquivos online para as equipes.

WorkDrive
Bookings

Aplicativo de agendamento de compromissos para consultas com clientes.

Bookings
Cliq

Mantenha contato com equipes, não importa onde esteja.

Cliq
Notebook

Um ótimo lugar para todas as suas anotações

Notebook
Meeting

Promova webinars on-line e realize reuniões com segurança

Meeting
Connect

Software de colaboração em equipe que aproxima as pessoas.

Connect
Learn

Plataforma de gerenciamento de conhecimento e aprendizado.

Learn
Office Integrator

Editores de documentos integrados para aplicativos da Web

Office Integrator
Writer

Processador de texto para escrita e discussões focadas.

Writer
Show

Crie, edite e compartilhe slides com um aplicativo de apresentação elegante.

Show
Sheet

O software de planilhas para equipes colaborativas.

Sheet
Calendar

Calendário de negócios on-line para gerenciar eventos e agendar compromissos.

Calendar
Pacotes
Workplace

Conjunto de aplicativos criados para melhorar a produtividade e aumentar a colaboração nas equipe.

Workplace

RH

Recruit

Plataforma de recrutamento intuitiva criada para oferecer soluções de contratação.

Recruit
People

Organize, automatize e simplifique os processos de RH.

People
Sign

Aplicativo de assinatura digital para empresas.

Sign
Workerly

Gerencie funcionários temporários com uma solução de escalas de agentes.

Workerly
Pacotes
People Plus

Plataforma integrada de RH para uma experiência do funcionário perfeita.

People Plus

Gerenciamento de Segurança e IT

Creator

Crie aplicativos personalizados para simplificar os processos de negócios.

Creator
Assist

Suporte remoto sob e software de acesso remoto autônomo.

Assist
Vault

Gerenciador de senhas online para equipes.

Vault
Lens

Assistência remota interativa de softwares com realidade aumentada.

Lens

BI e Análise

Analytics

Plataforma moderna de BI e análise de autoatendimento.

Analytics
DataPrep

Serviço de preparação de dados com inteligência artificial para sua organização orientada por dados.

DataPrep
Embedded BI

Análise integrada e soluções de BI de marca branca, personalizadas para suas necessidades.

Embedded BI

Gerenciamento de projetos

Projects

Gerencie, monitore e colabore em projetos com as equipes.

Projects
Sprints

Ferramenta de planejamento e monitoramento para equipes ágeis.

Sprints
BugTracker

Software de rastreamento automático de bugs para gerenciamento de bugs.

BugTracker

Plataformas para desenvolvedores

Creator

Crie aplicativos personalizados para simplificar os processos de negócios.

Creator
Flow

Automatize fluxos de trabalho de negócios criando integrações inteligentes.

Flow
Office Integrator

Editores de documentos integrados para aplicativos da Web

Office Integrator
DataPrep

Serviço de preparação de dados com inteligência artificial para sua organização orientada por dados.

DataPrep
Embedded BI

Análise integrada e soluções de BI de marca branca, personalizadas para suas necessidades.

Embedded BI
CRM Plus

Plataforma unificada para proporcionar uma experiência de alto nível ao cliente.

Experimente agora
CRM Plus
Service Plus

Plataforma unificada para equipes de suporte e atendimento ao cliente.

Experimente agora
Service Plus
People Plus

Plataforma integrada de RH para uma experiência do funcionário perfeita.

Experimente agora
People Plus
Workplace

Conjunto de aplicativos criados para melhorar a produtividade e aumentar a colaboração nas equipe.

Experimente agora
Workplace
Marketing Plus

Plataforma de marketing unificada para equipes de marketing.

Experimente agora
Marketing Plus
Pacote completo

Zoho One

O sistema operacional para empresas

Migre sua empresa para a Zoho com nosso software de nuvem unificado, projetado para ajudar você a conectar departamentos e aumentar a eficiência organizacional.

EXPERIMENTE O ZOHO ONE
Zoho Marketplace

Com mais de 2.000 extensões prontas para usar em mais de 40 categorias, conecte suas ferramentas de negócios favoritas aos produtos do Zoho que você já usa.

EXPLORE MARKETPLACE

SDK PHP para Zoho CRM

SDK PHP é um pacote para APIs do Zoho CRM. Portanto, a chamada de uma API do Zoho CRM do aplicativo PHP cliente é apenas uma chamada de função. Ele oferece suporte à autenticação de um único usuário e também de vários usuários.

Registro um cliente Zoho

Como as APIs do Zoho CRM são autenticadas com os padrões OAuth2, você deve registrar seu aplicativo cliente com o Zoho. Para registrar seu aplicativo:

  1. Visite esta página https://accounts.zoho.com/developerconsole.
  2. Clique em "Adicionar ID de Cliente".
  3. Insira o Nome do Cliente, o Domínio do Cliente e a URI de Redirecionamento.
  4. Selecione o Tipo de Cliente como "Baseado na Web".
  5. Clique em "Criar".
  6. Seu aplicativo será criado e exibido agora.
  7. O ID do Cliente e o Segredo do Cliente podem ser encontrados clicando em Opções → Editar.
    (Opções é o ícone de reticências no canto direito).

Configuração

O SDK PHP pode ser instalado por meio de "composer". Composer é uma ferramenta para gerenciamento de dependência em PHP. O SDK espera o seguinte do aplicativo cliente.

  • O aplicativo cliente deve ter PHP 5.6 ou posterior com a extensão curlativada.
  • O SDK PHP deve ser instalado no aplicativo cliente por meio do Composer.
  • A função ZCRMRestClient::initialize() deve ser chamada na inicialização do aplicativo.
  • MySQL deve estar em execução na mesma máquina que serve na porta padrão 3306.
  • O nome do banco deve ser "zohooauth".
  • Deve haver uma tabela "oauthtokens" com as colunas "useridentifier"(varchar(100)), "accesstoken"(varchar(100)), "refreshtoken"(varchar(100)), "expirytime"(bigint).

Se token_persistence_path for fornecido no arquivo oauth_configuration.properties, a persistência ocorrerá apenas no arquivo. Nesse caso, não há nenhuma necessidade de MySQL. Crie um arquivo vazio com o nome zcrm_oauthtokens.txt no token_persistence_path mencionado.

Instalação do SDK PHP por meio do Composer

Instalar o Composer (se não estiver instalado)

Executar este comando para instalar o Composer

curl -sS https://getcomposer.org/installer | php

Para tornar o Composer acessível globalmente, siga as instruções no link abaixo

Para instalar o Composer em máquina com Mac/Linux:

https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx

Para instalar o Composer em máquina com Windows:

https://getcomposer.org/doc/00-intro.md#installation-windows

Instalar PHP SDK

Veja como você instalar o SDK

  1. Navegue até o espaço de trabalho do aplicativo cliente
  2. Execute o comando a seguir:

    composer require zohocrm/php-sdk

  3. Portanto, o SDK PHP será instalado, e um pacote chamado "vendor" será criado na área de trabalho do aplicativo cliente.

Configurações

Os detalhes do Cliente OAuth devem ser fornecidos ao SDK PHP como um arquivo de propriedade. No SDK PHP, incluímos um arquivo de configuração (oauth_configuration.properties). Insira os respectivos valores nesse arquivo. Você pode encontrar esse arquivo em "vendor/zohocrm/php-sdk/src/resources".

Preencha apenas as seguintes chaves. Com base em seu domínio (EU,CN), altere o valor de "accounts_url". Valor padrão definido como domínio US.

client_id=
client_secret=
redirect_uri=
accounts_url=https://accounts.zoho.com
token_persistence_path=

  • Somente as chaves exibidas acima devem ser preenchidas.
  • client_id, client_secret e redirect_uri são as configurações do cliente OAuth obtidas após registrar o cliente Zoho.
  • access_type deve ser definido como offline apenas porque o cliente OAuth não é suportado pelo SDK PHP agora.
  • persistence_handler_class é a implementação do ZohoOAuthPersistenceInterface, isto é, ZohoOAuthPersistenceHandler.
  • token_persistence_path é o caminho para armazenar os tokens OAuth relacionados no arquivo. Se isso estiver definido, não haverá nenhuma necessidade de banco de dados para persistência. A persistência acontece no arquivo somente.

Crie um arquivo denominado "ZCRMClientLibrary.log" na máquina do aplicativo cliente e mencione o caminho absoluto do arquivo criado em configuration.properties para a chave "applicationLogFilePath". Você pode encontrar esse arquivo em "vendor/zohocrm/php-sdk/src/resources". Esse arquivo deve registrar as exceções ocorridas durante o uso do SDK PHP.

Preencha somente a seguinte chave

applicationLogFilePath=

Para fazer chamadas de API para a conta de sandbox, altere o valor da seguinte chave para true no arquivo configurations.properties . Por padrão, o valor é false.

sandbox=true

Caso seu aplicativo precise apenas de uma autenticação de usuário único, você precisará definir o usuário EmailId no arquivo configurations.properties conforme descrito abaixo:

currentUserEmail=user@email.com

Para trabalhar com a autenticação de vários usuários, você precisa definir o usuário EmailId na super variável global "$_SERVER" conforme determinado abaixo:

$_SERVER[‘user_email_id’]=“user@email.com”

Você pode usar a variável $_SERVER para autenticação de usuário único, mas é recomendado prosseguir com a configuração do ID de e-mail no arquivo configuration.properties.

Se você não definir o e-mail do usuário como uma variável global super, o SDK o esperará do arquivo configuration.properties. Se o e-mail do usuário não estiver definido em nenhum desses dois, o SDK PHP lançará uma exceção.

Inicialização

O aplicativo estará pronto para ser inicializado após a definição do arquivo de configuração OAuth.

Geração de concessão autoautorizada e de token de atualização

Para aplicativos de autocliente, o token de concessão autoautorizada deve ser gerado no Zoho Developer Console (https://accounts.zoho.com/developerconsole)

  1. Visite https://accounts.zoho.com/developerconsole
  2. Clique em OpçõesAutocliente do cliente o qual você deseja autorizar.
  3. Insira um ou mais escopos válidos do Zoho CRM (separados por vírgula) que deseja autorizar no campo Escopo e escolha uma hora de expiração. Forneça o escopo "aaaserver.profile.READ" em conjunto com os escopos do Zoho CRM.
  4. Copie o token de concessão para backup.
  5. Gere refresh_token a partir do token de concessão criando uma solicitação POST com o URL abaixo

    https://accounts.zoho.com/oauth/v2/token?code={grant_token}&redirect_uri={redirect_uri}&client_id={client_id}&client_secret={client_secret}&grant_type=authorization_code

  6. Copie o token de atualização para backup.

Observe que o token de concessão gerado é válido apenas pelo tempo estipulado durante a geração. Portanto, os tokens de acesso e de atualização devem ser gerados durante esse período.

Geração de um token de acesso

O token de acesso pode ser gerado pelo token de concessão ou token de atualização. Qualquer um dos dois métodos a seguir é suficiente.

Geração do token de acesso a partir do token de concessão

O seguinte trecho de código deve ser executado a partir da classe principal para se obter os tokens de acesso e atualização. Cole o token de concessão copiado no literal da string mencionada abaixo. Este é um processo único.

ZCRMRestClient::initialize();
$oAuthClient = ZohoOAuth::getClientInstance();
$grantToken = “paste_the_self_authorized_grant_token_here”;
$oAuthTokens = $oAuthClient->generateAccessToken($grantToken);

Observe que o trecho de código acima é válido apenas uma vez por token de concessão. Após a execução bem-sucedida do trecho de código acima, os tokens de acesso e de atualização gerados persistirão de acordo com a classe do manipulador de persistência.

Geração do token de acesso a partir do token de atualização

O seguinte trecho de código deve ser executado a partir da classe principal para se obter os tokens de acesso e atualização. Cole o token de atualização gerado no literal da string mencionada abaixo. Este é um processo único.

ZCRMRestClient::initialize();
$oAuthClient = ZohoOAuth::getClientInstance();
$refreshToken = "paste_the_refresh_token_here";
$userIdentifier = "provide_user_identifier_like_email_here";
$oAuthTokens = $oAuthClient->generateAccessTokenFromRefreshToken($refreshToken,$userIdentifier);

Após a execução bem-sucedida do trecho de código acima, o token de acesso gerado e o token de atualização fornecido persistirão de acordo com a classe do manipulador de persistência.

Uma vez que os tokens OAuth persistiram, chamadas de API subsequentes usarão os tokens de acesso e de atualização persistentes. O SDK PHP cuidará da atualização do token de acesso usando o token de atualização como e quando necessário.

Inicialização de aplicativo

O SDK PHP exigirá a seguinte linha de código chamada sempre que o aplicativo cliente for iniciado.

ZCRMRestClient::initialize();

Quando o SDK PHP tiver sido inicializado pela linha acima, você poderá usar quaisquer APIs do SDK para obter resultados adequados.

Uso do SDK PHP

Adicione a linha abaixo aos arquivos PHP do aplicativo cliente onde você gostaria de usar o SDK PHP.

require ‘vendor/autoload.php’

Por meio dessa linha, você pode acessar todas as funcionalidades do SDK PHP.

Hierarquia de classes

Todas as entidades do Zoho CRM são modeladas como classes tendo propriedades e funções aplicáveis a essa entidade específica. ZCRMRestClient é a classe básica do SDK PHP. ZCRMRestClient tem funções para obter instâncias de várias outras entidades do Zoho CRM.

As relações de classe e a hierarquia do SDK segue a hierarquia da entidade dentro do Zoho CRM. A hierarquia de classe de várias entidades do Zoho CRM é mostrada abaixo:

ZCRMRestClient
     -ZCRMOrganization
          -ZCRMUser
               -ZCRMUserTheme
               -ZCRMUserCustomizeInfo
         -ZCRMRole
         -ZCRMProfile
              -ZCRMPermission
              -ZCRMProfileSection
                   -ZCRMProfileCategory
        -ZCRMModule
             -ZCRMLayout
                  -ZCRMSection
                       -ZCRMField
                       -ZCRMPickListValue
                       -ZCRMLookupField
                  -ZCRMLeadConvertMapping
                       -ZCRMLeadConvertMappingField
             -ZCRMCustomView
                  -ZCRMCustomViewCategory
                  -ZCRMCustomViewCriteria
             -ZCRMRelatedListProperties
                  -ZCRMModuleRelatedList
             -ZCRMRecord
             -ZCRMNote
             -ZCRMAttachment
             -ZCRMInventoryLineItem
                  -ZCRMTax
             -ZCRMEventParticipant
             -ZCRMPriceBookPricing
             -ZCRMModuleRelation
             -ZCRMJunctionRecord
             -ZCRMTrashRecord

Cada classe de entidade tem funções para buscar suas próprias propriedades e buscar dados de suas entidades-filho imediatas por uma chamada da API.

Por exemplo: um módulo do objeto do Zoho CRM (ZCRMModule) terá funções de membro para obter propriedades de um módulo como nome de exibição, ID de módulo etc. E também terá funções para buscar todos os objetos filhos (como ZCRMLayout).

Objeto da instância

Nem sempre é eficaz seguir a hierarquia de classe completa desde o topo para buscar dados de uma entidade em algum nível inferior, pois isso pode envolver chamadas de API em cada um dos níveis. Para lidar com isso, cada classe de entidade terá uma função getInstance() para obter seu próprio objeto fictício e funções para obter os objetos fictícios de suas entidades filhas.

Observe que a função getInstance() não tem nenhuma de suas propriedades preenchidas, pois não dispara uma chamada de API. Isso retorna apenas um objeto fictício que deve ser usado somente para acessar funções não estáticas da classe.

Resumindo,

  • ZCRMRestClient::getModule("Contatos") deve retornar o módulo Contatos real, que tem todas as propriedades do módulo Contatos preenchidas por uma chamada de API.
  • ZCRMRestClient::getModuleInstance("Contatos") deve retornar um objeto ZCRMModule fictício que faria referência ao módulo Contatos sem qualquer propriedade preenchida, pois não faz uma chamada de API.

Portanto, para obter registros de um módulo, não é preciso iniciar usando ZCRMRestClient. Em vez disso, você pode obter uma instância ZCRMModule com ZCRMModule::getInstance() e chamar sua função não estática getRecords() pela instância criada. Isso evitaria a chamada de API, que teria sido acionada para preencher o objeto ZCRMModule.

Acesso a propriedades do registro

Como as propriedades do registro são dinâmicas entre módulos, somente campos como createdTime, createBy, proprietário etc., são fornecidos como propriedades padrão do ZCRMRecord. Todas as outras propriedades de registro estão disponíveis como um mapa no objeto ZCRMRecord.

Para acessar os valores de campo individuais de um registro, use as funções getter e setter disponíveis. As chaves do mapa de propriedades de registro são nomes de API dos campos do módulo. Os nomes de API de campos de todos os módulos estão disponíveis em Configuração → Marketplace → APIs → API do CRM → Nomes de API.

  • Para obter um valor de campo, use $record → getFieldValue($fieldAPIName);
  • Para obter um valor de campo, use $record → setFieldValue($fieldAPIName, $newValue);
    Ao definir um valor de campo, verifique se o valor definido tem o mesmo tipo de dados do campo para o qual ele será definido.

Manipulação da resposta

APIResponse e BulkAPIResponse são objetos do pacote para respostas das APIs do Zoho CRM. Todos as API que chamam funções devem retornar um desses dois objetos.

  • DownloadFile e downloadPhoto retorna FileAPIResponse em vez de APIResponse.
  • Uma função que busca uma entidade única retornará um APIResponse, e uma função que busca uma lista de entidades retornará um objeto BulkAPIResponse.
  • Use a função getData() para obter os dados da entidade sozinhos dos objetos do pacote de resposta. APIResponse → getData() retornará um único objeto de entidade do Zoho CRM, enquanto BulkAPIResponse → getData() retornará uma lista de objetos de entidade do Zoho CRM.

Além de dados, esses objetos em pacote de resposta têm as seguintes propriedades:

  1. ResponseHeaders – contagem de API restantes para o dia/janela presente e tempo passado para a redefinição da janela presente.
  2. ResponseInfo – quaisquer outras informações, se fornecidas pela API, além dos dados reais.
  3. Array de EntityResponse(s) – status de entidades individuais em uma API de lote. Por exemplo: uma API de registros de inserção pode falhar parcialmente devido a alguns registros. Esse array fornece o status de criação de registros individuais.

Exceções

Todos os comportamentos inesperados, como falhas em respostas da API e anomalias do SDK PHP, são manipulados pelo SDK e passados como uma única exceção – ZCRMException. Portanto, basta capturar essa exceção sozinha no código de aplicativo do cliente.