PHPackages                             fundacion-ciudad-del-saber/ivvy-sdk-php - 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. fundacion-ciudad-del-saber/ivvy-sdk-php

ActiveLibrary[API Development](/categories/api)

fundacion-ciudad-del-saber/ivvy-sdk-php
=======================================

A PHP 7.1 compatible, PSR-4 and PSR-2 compliant SDK to work with iVvy's API 1.0

0.2.7(8y ago)02031MITPHP

Since Aug 30Pushed 8y ago3 watchersCompare

[ Source](https://github.com/fundacion-ciudad-del-saber/ivvy-sdk-php)[ Packagist](https://packagist.org/packages/fundacion-ciudad-del-saber/ivvy-sdk-php)[ RSS](/packages/fundacion-ciudad-del-saber-ivvy-sdk-php/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (10)Dependencies (4)Versions (14)Used By (0)

ivvy-sdk-php [![Build Status](https://camo.githubusercontent.com/b3ed13276b936b38d3f7f34ac7540019d6b46f97237b34b00afcbea52339f326/68747470733a2f2f7472617669732d63692e6f72672f66756e646163696f6e2d6369756461642d64656c2d73616265722f697676792d73646b2d7068702e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/fundacion-ciudad-del-saber/ivvy-sdk-php)
=================================================================================================================================================================================================================================================================================================================================================================

[](#ivvy-sdk-php-)

A PSR-4 compilant SDK to work with iVvy's API 1.0

Installation
------------

[](#installation)

Install through composer.

```
$ composer require fundacion-ciudad-del-saber/ivvy-sdk-php:^0.1
```

How to use?
-----------

[](#how-to-use)

This package exposes 2 high level APIs through the classes `Ivvy` and `JobFactory`. It is important that you understand this, as **this package is designed for you to work mainly these 2 classes** and the entities inside the `Fcds\Ivvy\Model` namespace.

The `Ivvy` class is your client class to communicate with iVvy. It exposes endpoints that directly map to a namespace's action (as per iVvys API 1.0 docs).

```
$ivvy = (new Fcds\Ivvy\IvvyFactory)->newInstance($apiKey, $apiSecret);

$companies = $ivvy->getCompanyList();
```

The `JobFactory` class is a special class that is supposed to work with iVvy's asynchronous job queue on the `batch` namespace, specifically with the `run` action. It basically abstracts the creation of jobs to be sent. By the release `0.1.0`, there is no factory or "easy" way to instantiate this class, so we just pass all the concrete dependencies.

```
$jobFactory = new Fcds\Ivvy\JobFactory(
    new Fcds\Ivvy\Model\Validator\AddCompanyValidator,
    new Fcds\Ivvy\Model\Validator\UpdateCompanyValidator,
    new Fcds\Ivvy\Model\Validator\AddContactValidator,
    new Fcds\Ivvy\Model\Validator\UpdateContactValidator
);

$companyToBeAdded = new Fcds\Ivvy\Model\Company([ ... ]);
$companyToBeUpdated = new Fcds\Ivvy\Model\Company([ ... ]);

$addJob = $jobFactory->newAddCompanyJob($companyToBeAdded);
$updateJob = $jobFactory->newUpdateCompanyJob($companyToBeUpdated);

$asyncId = $ivvy->run([$addJob, $updateJob]);
```

In the particular case of jobs that are for adding or updating entities, JobFactory will call the validation methods on those entities, passing the corresponding specification. In simple words, it will throw a `BusinessRuleException` whenever you're trying to create a job using an entity that doesn't holds the appropriate values for said job. (I.E: you try to update a company, but the company object has no ID set).

```
try {
    $companyWithInvalidValues = new Fcds\Ivvy\Model\Company([ ... ]);

    $jobFactory->newAddCompanyJob($companyWithInvalidValues);
} catch (Fcds\Ivvy\Model\BusinessRuleException $e) {
    error_log($e->getMessage()); // An exception will be thrown here
}
```

Testing
-------

[](#testing)

##### Run test suite

[](#run-test-suite)

```
$ vendor/bin/phpunit
```

##### Run test suit with coverage

[](#run-test-suit-with-coverage)

```
$ vendor/bin/phpunit --testdox --coverage-text
```

##### Run linting

[](#run-linting)

```
$ vendor/bin/phpcs
```

##### Fix Linting

[](#fix-linting)

```
$ vendor/bin/phpcbf
```

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 94.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.

###  Release Activity

Cadence

Every ~12 days

Recently: every ~6 days

Total

10

Last Release

3072d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/44b04fc71952837cda566603e00288d8799ea8d527f5038524fc47617622d2f3?d=identicon)[lepaliscot](/maintainers/lepaliscot)

![](https://www.gravatar.com/avatar/e718f19ae979aff8966bacdedec0f6c64793a75861bb7ee825f0a2886b03091d?d=identicon)[jrangel4](/maintainers/jrangel4)

---

Top Contributors

[![jrangel4](https://avatars.githubusercontent.com/u/4332279?v=4)](https://github.com/jrangel4 "jrangel4 (18 commits)")[![Chris-FA](https://avatars.githubusercontent.com/u/205596952?v=4)](https://github.com/Chris-FA "Chris-FA (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/fundacion-ciudad-del-saber-ivvy-sdk-php/health.svg)

```
[![Health](https://phpackages.com/badges/fundacion-ciudad-del-saber-ivvy-sdk-php/health.svg)](https://phpackages.com/packages/fundacion-ciudad-del-saber-ivvy-sdk-php)
```

###  Alternatives

[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[convertkit/convertkitapi

Kit PHP SDK for the Kit API

2167.1k1](/packages/convertkit-convertkitapi)[mapado/rest-client-sdk

Rest Client SDK for hydra API

1125.9k2](/packages/mapado-rest-client-sdk)

PHPackages © 2026

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