chi-teck/zoho-crm-connector

Zoho CRM connector

1.0.0-alpha1 2022-10-03 06:32 UTC

This package is auto-updated.

Last update: 2024-04-07 16:44:18 UTC


README

A simple connector to Zoho CRM API v3.

Unlike official Zoho SDK this connector does not provide helpers for each API endpoint. Essentially this is just a thin wrapper around Guzzle HTTP client that authorizes requests to Zoho API. Note that you need to handle connection errors yourself.

System Requirements

PHP 8.1 or later

Installation

composer require chi-teck/zoho-api-connector

Register your application in Zoho Developer Console. The way you obtain auth token (grant code) depends on the application type. Refer to Authorization Request guide for details.

Usage

<?php declare(strict_types = 1);

use GuzzleHttp\Client;
use ZohoCrmConnector\Config;
use ZohoCrmConnector\Connector;
use ZohoCrmConnector\Auth\Storage\FileStorage;
use ZohoCrmConnector\Auth\AccessTokenProvider;

require __DIR__ . '/../vendor/autoload.php';

// Configuring the connector.
$config = new Config(
  domain: 'https://accounts.zoho.com',
  clientId: '•••••••••••••••••••••••••••••••••••',
  clientSecret: '••••••••••••••••••••••••••••••••••••••••••',
  authToken: '•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••',
);

$storage = new FileStorage(__DIR__ . '/path/to/zoho-token');
$token_provider = new AccessTokenProvider($config, $storage, new Client());

$connector = new Connector($token_provider);

// Retrieving data.
$response = $connector->get('Leads?fields=Last_Name&per_page=5');
print_r($response->decode());

// Posting data.
$data = [
    [
      "First_Name" => "Mickey",
      "Last_Name" => "Mouse",
    ],
];
$response = $connector->post('Leads', ['data' => $data]);
print_r($response->decode());

License

GNU General Public License, version 2 or later.