PHPackages                             xur/zoho-crm-php-wrapper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. xur/zoho-crm-php-wrapper

ActiveLibrary[API Development](/categories/api)

xur/zoho-crm-php-wrapper
========================

A PHP wrapper library for Zoho CRM API.

148HTML

Since May 27Pushed 7y ago1 watchersCompare

[ Source](https://github.com/pechanxur/zoho-crm-php-wrapper)[ Packagist](https://packagist.org/packages/xur/zoho-crm-php-wrapper)[ RSS](/packages/xur-zoho-crm-php-wrapper/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Zoho CRM API wrapper library (PHP)
==================================

[](#zoho-crm-api-wrapper-library-php)

This is an API wrapper library for Zoho CRM, written in PHP.

It aims to cover the whole API (every module and method), while providing a great abstraction and very easy-to-use methods.

Requirements
------------

[](#requirements)

- PHP : `5.5+`
- PHP cURL extension enabled

Get started
-----------

[](#get-started)

This package is currently at an early development stage. Full documentation will come when it is stable enough.

### A quick example

[](#a-quick-example)

```
// Create a Zoho client
$zoho = new Zoho\CRM\Client('MY_ZOHO_AUTH_TOKEN');

// Use its supported modules to make easy requests...
$one_lead = $zoho->leads->getById('1212717324723478324');
$many_leads = $zoho->leads->getByIds(['8734873457834574028', '3274736297894375750']);
$admins = $zoho->users->getAdmins();

// ...or build them manually
$response = $zoho->request('Module', 'method', ['a_parameter' => 'blablebloblu']);
```

Summary
-------

[](#summary)

- [Generate Auth Token](#user-content-generate-auth-token)
- [Response Objects](#user-content-response-objects)
- [API Usage](#user-content-api-usage)
- [Unit Tests](#user-content-unit-tests)

Generate Auth Token
-------------------

[](#generate-auth-token)

\[Source\] [https://www.zoho.com/crm/help/api/using-authentication-token.html#Generate\_Auth\_Token](https://www.zoho.com/crm/help/api/using-authentication-token.html#Generate_Auth_Token)

- Connect to
- Send request to

```
https://accounts.zoho.com/apiauthtoken/nb/create?SCOPE=ZohoCRM/crmapi&EMAIL_ID=[Username/EmailID]&PASSWORD=[Password]&DISPLAY_NAME=[ApplicationName]

```

- Expected response

```
#
#Mon Apr 23 07:36:42 PDT 2018
AUTHTOKEN=8c40d6720636c6bb2eadace2d2243ed1
RESULT=TRUE

```

Response Objects
----------------

[](#response-objects)

### RequestPaginator

[](#requestpaginator)

MethodsCommentsResponsefetchexecute query for the next page available[Response](#user-content-response) ObjectfetchAllexecute queries for all pages availableArray of [Response](#user-content-response)getResponsesall responses fetchedArray of [Response](#user-content-response)getNumberOfPagesFetchedamount of pages fetchedInteger### Response

[](#response)

MethodsCommentsResponsegetContentget JSON parsed responseObjectgetRawDataget raw responseObjectAPI Usage
---------

[](#api-usage)

### Available modules

[](#available-modules)

By default, some modules are enabled in `src/Client.php`

- Info
- Users
- Leads
- Potentials
- Calls
- Contacts
- Products

### Available methods

[](#available-methods)

Every modules (except Users) have the following methods (`src/Api/Modules/AbstractRecordsModule.php`):

- getAll
- getById
- getMine
- search
- getBy
- getRelatedById
- exists
- insert
- insertMany
- update
- updateMany
- delete
- deleteMany
- getDeletedIds

### Get all records

[](#get-all-records)

- **Method:** `getAll`
- **Data Params**
- **Code sample**

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

// Create a Zoho client
$zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670');

/**
 * @var $many_leads \Zoho\CRM\Api\RequestPaginator
 */
$leads = $zoho->leads->getAll();

echo '';
print_r($leads->fetch()->getContent());
echo '';
```

- **Response**

[RequestPaginator](#user-content-requestpaginator) Object

### Get one specific record

[](#get-one-specific-record)

- **Method:** `getById`
- **Data Params**Record ID
- **Code sample**

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

// Create a Zoho client
$zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670');

$lead = $zoho->leads->getById('3211639000000152457');

echo '';
print_r($lead->getContent());
echo '';
```

- **Response**

[Response](#user-content-response) Object

### Insert one record

[](#insert-one-record)

- **Method:** `insert`
- **Data Params**Array
- **Code sample**

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

// Create a Zoho client
$zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670');

$zoho->leads->insert([
    'Company' => 'TEST',
    'Last Name' => 'TEST'
]);
```

- **Response**

[Response](#user-content-response) Object

### Delete one record

[](#delete-one-record)

- **Method:** `delete`
- **Data Params**Record ID
- **Code sample**

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

// Create a Zoho client
$zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670');

$zoho->leads->delete('3211639000000152457');
```

- **Response**

[Response](#user-content-response) Object

### Delete multiple records

[](#delete-multiple-records)

- **Method:** `deleteMany`
- **Data Params**Array
- **Code sample**

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

// Create a Zoho client
$zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670');

$leads = $zoho->leads->deleteMany(['3211639000000152553', '3211639000000152560']);

echo '';
print_r($leads);
echo '';
```

- **Response**

[Response](#user-content-response) Object

```
{"result":{"code":"5000","message":"Record Id(s) : 3211639000000152553;3211639000000152560,Record(s) deleted successfully"}
```

### Search by Criteria

[](#search-by-criteria)

- **Method:** `search`
- **Data Params**String
- **Code sample**

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

// Create a Zoho client
$zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670');

$leads = $zoho->leads->search('((Company:TEST)OR(Last Name:TEST))');

echo '';
print_r($leads->fetch()->getContent());
echo '';
```

- **Response**

[RequestPaginator](#user-content-requestpaginator) Object

### Search by one specific Criteria

[](#search-by-one-specific-criteria)

- **Method:** `getBy`
- **Data Params**String, String
- **Code sample**

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

// Create a Zoho client
$zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670');

$leads = $zoho->leads->getBy('Company', 'TEST');

echo '';
print_r($leads->fetch()->getContent());
echo '';
```

- **Response**

[RequestPaginator](#user-content-requestpaginator) Object

### Update one record

[](#update-one-record)

- **Method:** `update`
- **Data Params**ID, Data
- **Code sample**

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

// Create a Zoho client
$zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670');

$lead = $zoho->leads->update('3211639000000155006', [
    'Company' => 'TEST99'
]);

echo '';
print_r($lead->getContent());
echo '';
```

- **Response**

[Response](#user-content-response) Object

### Update multiple records

[](#update-multiple-records)

- **Method:** `updateMany`
- **Data Params**Data
- **Code sample**

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

// Create a Zoho client
$zoho = new Zoho\CRM\Client('0c85ee5db4119df7ad21bb9581d08670');

$leads = $zoho->leads->updateMany([
    [
        'Id' => '3211639000000158001',
        'Company' => 'Company modified'
    ],
    [
        'Id' => '3211639000000155013',
        'Company' => 'Company modified 2'
    ]
]);

echo '';
print_r($leads->getRawData());
echo '';
```

- **Response**

[Response](#user-content-response) Object

Unit Tests
----------

[](#unit-tests)

- Set AUTH\_TOKEN in `phpunit.xml`
- Run by executing `./vendor/bin/phpunit` command

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/37c2d5350d8695c929c3d8607e28df236f0a8812c17c5931b2c3269ca629b6c1?d=identicon)[xur](/maintainers/xur)

---

Top Contributors

[![tristanjahier](https://avatars.githubusercontent.com/u/1117304?v=4)](https://github.com/tristanjahier "tristanjahier (119 commits)")[![philippekhau](https://avatars.githubusercontent.com/u/22618234?v=4)](https://github.com/philippekhau "philippekhau (4 commits)")

### Embed Badge

![Health badge](/badges/xur-zoho-crm-php-wrapper/health.svg)

```
[![Health](https://phpackages.com/badges/xur-zoho-crm-php-wrapper/health.svg)](https://phpackages.com/packages/xur-zoho-crm-php-wrapper)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M475](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M270](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M186](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M33](/packages/facebook-php-business-sdk)[microsoft/microsoft-graph

The Microsoft Graph SDK for PHP

65723.5M95](/packages/microsoft-microsoft-graph)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
