PHPackages                             andreshg112/datos-abiertos - 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. andreshg112/datos-abiertos

AbandonedArchivedLibrary[API Development](/categories/api)

andreshg112/datos-abiertos
==========================

Consulta la API de Datos Abiertos del Gobierno de Colombia en la plataforma https://www.datos.gov.co

1.0.1(7y ago)8383MITPHPPHP ^7.1

Since Mar 25Pushed 7y ago1 watchersCompare

[ Source](https://github.com/andreshg112/datos-abiertos)[ Packagist](https://packagist.org/packages/andreshg112/datos-abiertos)[ Docs](https://github.com/andreshg112/datos-abiertos)[ RSS](/packages/andreshg112-datos-abiertos/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)Dependencies (6)Versions (3)Used By (0)

[Datos Abiertos de Colombia](https://www.datos.gov.co) para Laravel
===================================================================

[](#datos-abiertos-de-colombia-para-laravel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/1bf2bb379e731c94a9c5397bf1295ad2b6ced93ffbf799029072a9026a7a39c0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f616e6472657368673131322f6461746f732d6162696572746f732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/andreshg112/datos-abiertos)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/0addbcb0ccf01710f987da945a5161832eb1d318768eca0c05645025ec1d8709/68747470733a2f2f7472617669732d63692e636f6d2f616e6472657368673131322f6461746f732d6162696572746f732e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/andreshg112/datos-abiertos)[![StyleCI](https://camo.githubusercontent.com/9c7c93f793c5509d6d52431a3afdec844dca496ef5340239513bfe8d330470a1/68747470733a2f2f7374796c6563692e696f2f7265706f732f3137373438383636332f736869656c64)](https://styleci.io/repos/177488663)[![Quality Score](https://camo.githubusercontent.com/798997efafea6cd49fd3e2a984c1a745c07a4006457ab886880cdcf797c39f27/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f616e6472657368673131322f6461746f732d6162696572746f732e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/andreshg112/datos-abiertos)[![Code Coverage](https://camo.githubusercontent.com/757cf6938ecbda59124cb23d7399487a4293677015c5d3c427b34ca1d2cfc156/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f616e6472657368673131322f6461746f732d6162696572746f732f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/andreshg112/datos-abiertos/?branch=master)[![Total Downloads](https://camo.githubusercontent.com/537c173d47016ae3d39d3c2a7a435cf151842dbf02d90cb093d3c5d74a04ec19/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f616e6472657368673131322f6461746f732d6162696572746f732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/andreshg112/datos-abiertos)

Este paquete encapsula las consultas a la API de [Datos Abiertos del Gobierno de Colombia](https://www.datos.gov.co).

Recursos implementados
----------------------

[](#recursos-implementados)

- [ESTABLECIMIENTOS EDUCATIVOS DE PREESCOLAR, BÁSICA](https://www.datos.gov.co/Educaci-n/ESTABLECIMIENTOS-EDUCATIVOS-DE-PREESCOLAR-B-SICA/ea56-rtcx/data) (`\Andreshg112\DatosAbiertos\Facades\Colegios`).
- [Códigos de la Divisón Político-Administrativa del país](https://www.datos.gov.co/Mapas-Nacionales/DIVIPOLA-Codigos-municipios/gdxc-w37w) (`\Andreshg112\DatosAbiertos\Facades\Divipola`).
- [Organismos de Tránsito](https://www.datos.gov.co/Transporte/ORGANISMO-DE-TR-NSITO/88yh-mmbj) (`\Andreshg112\DatosAbiertos\Facades\OrganismosTransito`).

> Si deseas que desarrolle una consulta a otro recurso de datos.gov.co, puedes realizar la petición en los [Issues](../../issues).

Requisitos
----------

[](#requisitos)

- Laravel &gt;= 5.5
- PHP &gt;= 7.1.x

> Si quieres soporte para una versión inferior a las especificadas, por favor deja la petición en los [Issues](../../issues) y veré qué puedo hacer.

Instalación
-----------

[](#instalación)

Puedes instalar el paquete a través de composer:

```
composer require andreshg112/datos-abiertos
```

Este paquete usa [Laravel Package Discovery](https://laravel.com/docs/5.5/packages#package-discovery) por lo que, si usas Laravel 5.5 o superior, no debes preocuparte agregar `\Andreshg112\DatosAbiertos\DatosAbiertosServiceProvider` al listado de `providers` en el archivo `config/app.php`.

Uso
---

[](#uso)

### Uso básico

[](#uso-básico)

Cada recurso hereda de `\Andreshg112\DatosAbiertos\Datasets\BaseDataset`, el cual tiene el método `getData($filterOrSoqlQuery = '')` que permite consultar todos los registros del recurso o [filtrar](#uso-de-filtros) de acuerdo a los parámetros.

Por ejemplo:

```
use Andreshg112\DatosAbiertos\Facades\Divipola;

// Listado total de municipios:
$data = Divipola::getData();
```

### Uso de filtros

[](#uso-de-filtros)

> En la [definición de la API de Divipola](https://dev.socrata.com/foundry/www.datos.gov.co/gdxc-w37w) puedes encontrar los detalles del recurso y el uso de filtros.

> Advertencia: La API de datos.gov.co distingue mayúsculas y minúsculas. Por lo tanto si buscas, por ejemplo, `nom_mpio=valledupar` no aparecerá porque debe tener la `V` mayúscula.

```
use Andreshg112\DatosAbiertos\Facades\Divipola;

// Para filtrar por código de departamento puedes hacer cualquiera de las siguientes formas:

$filterOrSoqlQuery = 'cod_depto=20'; // esta

$filterOrSoqlQuery = ['cod_depto' => '20']; // o esta

$data = Divipola::getData($filterOrSoqlQuery);
```

> Este paquete usa [allejo/php-soda](https://github.com/allejo/PhpSoda) para realizar las peticiones a los recursos de datos.gov.co usando Socrata Open Data API (SODA), por lo tanto `$filterOrSoqlQuery` puede ser cualquiera de los parámetros aceptados por la función `\allejo\Socrata\SodaDataset::getData(filterOrSoqlQuery)`. Para usar filtros avanzados, dirígete a su [documentación](https://github.com/allejo/PhpSoda/wiki/Simple-Filters) (en inglés).

Extender la funcionalidad
-------------------------

[](#extender-la-funcionalidad)

### Macroable

[](#macroable)

La clase padre `\Andreshg112\DatosAbiertos\Datasets\BaseDataset` de los recursos (datasets) usa el trait `\Spatie\Macroable\Macroable` de [spatie/macroable](https://github.com/spatie/macroable), por lo que puedes extender la funcionalidad de cada recurso de la siguiente manera:

```
// En el archivo app/Providers/AppServiceProvider.php:

use Andreshg112\DatosAbiertos\Facades\OrganismosTransito;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        OrganismosTransito::macro('whereEstadoLimit', function($estado, $limit){
            $filter = [
                '$where' => "estado = '$estado'", // https://dev.socrata.com/docs/queries
                '$limit' => $limit, // 1, 2, 3, etc.
            ];

            return $this->getData($filter);
        });
    }
}

// Y luego, en cualquier otra parte:
$data = OrganismosTransito::whereEstadoLimit('ACTIVO', 3);
```

Para más información, dirígete a su [documentación](https://github.com/spatie/macroable).

### Crear tu propio recurso

[](#crear-tu-propio-recurso)

Puedes crear tu propio dataset que herede de `\Andreshg112\DatosAbiertos\Datasets\BaseDataset` de la siguiente manera:

> Este recurso será implementado en el paquete, solo se coloca de ejemplo.

```
