PHPackages                             millancore/alegra - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. millancore/alegra

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

millancore/alegra
=================

Alegra SDK

v0.0.4(5y ago)4181MITPHPPHP &gt;=7.2CI failing

Since Apr 29Pushed 5y ago1 watchersCompare

[ Source](https://github.com/millancore/alegra)[ Packagist](https://packagist.org/packages/millancore/alegra)[ RSS](/packages/millancore-alegra/feed)WikiDiscussions master Synced 6d ago

READMEChangelog (4)Dependencies (6)Versions (6)Used By (0)

[![](https://camo.githubusercontent.com/b7e0172ed3847a08b3c3f3e2b57c4a8ff8f5933d1ebbdbd102a4666abdd84cfc/68747470733a2f2f63646e322e616c656772612e636f6d2f776562736974652f4c6f676f735f416c656772612f4c6f676f7469706f2d416c656772612e706e67)](https://camo.githubusercontent.com/b7e0172ed3847a08b3c3f3e2b57c4a8ff8f5933d1ebbdbd102a4666abdd84cfc/68747470733a2f2f63646e322e616c656772612e636f6d2f776562736974652f4c6f676f735f416c656772612f4c6f676f7469706f2d416c656772612e706e67)

[![Build Status](https://camo.githubusercontent.com/2f72c5ae4c4667e76860e79e8fc94ae81f0ff26f9eea8ac08ee4ac82b8dfd974/68747470733a2f2f7472617669732d63692e6f72672f6d696c6c616e636f72652f616c656772612e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/millancore/alegra?branch=master)[![](https://camo.githubusercontent.com/8ce1bfeb44d85bddf283860b8cffded9abf766170292b792e8b6ac74dcf20867/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f31303637346532343865393038616564633765342f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/millancore/alegra/maintainability)[![](https://camo.githubusercontent.com/65d8f5fd5f72c71ca81be01a2b347238bba7c42577765fddb2f642e521d1030e/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f31303637346532343865393038616564633765342f746573745f636f766572616765)](https://codeclimate.com/github/millancore/alegra/test_coverage)

**Importante!!** Este SDK solo cuenta con metodos para administrar **Inventario** a traves de la API de Alegra, si usted necesita usar otros endpoints, este SDK fue creado modularmente lo que le permitira usarlo como marco de trabajo facilitandole la integracion.

Alegra SDK
----------

[](#alegra-sdk)

Este es un SDK para para la API de [alegra.com](https://alegra.com) que busca simplificar la integracion con proyectos en PHP.

Instalacion
-----------

[](#instalacion)

**PHP 7.2 o superior**

```
composer require millancore/alegra
```

Configuracion
-------------

[](#configuracion)

```
use Alegra\Alegra;
use Alegra\Support\Country;

$alegra = Alegra::setCredentials([
    'email' => 'alegrauser@email.com',
    'token' => 'tokenAuthApiAccess',
    'country' => Country::COL
]);
```

#### Logger (Opcional)

[](#logger-opcional)

Es posible que se desee tener logs de la interacion con la API, para ello puede setear un Logger que cumpla con PSR-3. (Monolog, Laravel, Symfony etc)

```
$alegra->setLogger($PSRLogger);
```

#### Eventos (Opcional)

[](#eventos-opcional)

Los procesos mas criticos dentro de este SDK \[Request, Error, Response\] lanzan eventos, usted puede agregar un Listener para estos eventos de una manera sencilla permitiendole tomar deciciones en cada caso. (notificaciones, stats, error tracking etc.)

Para crear un clase Listener solo debe implementar `Alegra\Contract\ListenerInterface` y agregar el listener a la instancia de Alegra.

```
$alegra->addListener($myListener);
```

Cada evento despachado cuenta con dos metodos pricipales para acceder al contenido del evento `$event->getName()` y `$event->getParams()`.

Uso
---

[](#uso)

Alegra cuenta con una variedad de endpoints, lo mas probable es que necesite hacer uso de estos desde diferentes puntos, en este SDK hemos pensando en facilitar esta tarea implementando **Facades** para cada grupo.

Asi que para traer un producto por Id es tan simple como esto.

```
use Alegra\Support\Facade\Item;

$product = Item::get(12);
```

Aqui una lista de los Facades disponibles, cada uno cuenta con la lista de metodos asi como ejemplos sencillos de uso.

- Productos y Servicios [Item](https://github.com/millancore/alegra/blob/master/examples/Item.md)
- Categorias [Category](https://github.com/millancore/alegra/blob/master/examples/Category.md)
- Bodegas [Warehouse](https://github.com/millancore/alegra/blob/master/examples/Warehouse.md)
- Lista de Precios [PriceList](https://github.com/millancore/alegra/blob/master/examples/PriceList.md)

### Entidades

[](#entidades)

Cuando hacemos llamadas a la API de Alegra a traves de este SDK obtenemos entidades, podemos acceder a las propiedades de cada entidad de la siguiente manera.

```
$product = Item::get(12);

$product->id
$product->name
$product->...
```

Siguendo el mismo esquema de nombres que esta presente en la [documentacion](https://developer.alegra.com/docs/productos-o-servicios) de la API.

Las entidades tambien cuenta con metodos que nos permiten manejar sus datos de diferentes maneras.

Array

```
$arrayProduct = $product->toArray();
```

Json

```
$jsonProduct = json_encode($product);
```

### Colecciones

[](#colecciones)

Algunas propiedades del las entidades son colecciones de otras, las colecciones son objetos iterables que nos permiten recorrerlos para hacer uso de las entidades almacenadas.

Iterar

```
foreach($product->price as $price) {
    #Price Entity
}
```

Contar

```
$product->price->count();
```

Array

```
$arrayPriceList = $product->price->toArray();
```

Json

```
$jsonPriceList = json_encode($product->price);
```

Manejo de Excepciones
---------------------

[](#manejo-de-excepciones)

Este SDK maneja una serie de excepciones segun diferentes posibles casos de error o validacion, sin embargo todas extienden de `Alegra\Exception\AlegraException` lo que simplifica el manejo de excepciones.

```
use Alegra\Support\Facade\Item;
use Alegra\Exception\AlegraException;

try {
    $product = Item::get(12);
} catch (AlegraException $exception) {
    #....
}
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~14 days

Total

4

Last Release

2168d ago

PHP version history (2 changes)v0.0.1PHP &gt;=7.1

v0.0.3PHP &gt;=7.2

### Community

Maintainers

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

---

Top Contributors

[![millancore](https://avatars.githubusercontent.com/u/1243194?v=4)](https://github.com/millancore "millancore (24 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/millancore-alegra/health.svg)

```
[![Health](https://phpackages.com/badges/millancore-alegra/health.svg)](https://phpackages.com/packages/millancore-alegra)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

22.8k69.3k](/packages/grumpydictator-firefly-iii)[phpbench/phpbench

PHP Benchmarking Framework

2.0k13.0M627](/packages/phpbench-phpbench)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[wallabag/wallabag

open source self hostable read-it-later web application

12.6k2.2k](/packages/wallabag-wallabag)

PHPackages © 2026

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