ChileCompra Concurso API Mercado Público : The Global Stage for Innovation : CES

api-mercadopublico-cl-chilecompras-Desarrolla-aplicaciones-innovadoras-cesActualización: Por suerte se extendió el plazo(hasta el 30 de Octubre ) para participar en el Concurso de la API de Mercado Público.( Fuente: ChileCompra.cl )

Concurso de ChileCompra: “Desarrolla aplicaciones innovadoras con la información de ChileCompra”  , plazo para participar (Inscripción) hasta el 24 de Octubre de 2014, después viene la Reunión de Inicio, el martes 4 de Noviembre de 2014 , el Desarrollo de las aplicaciones, desde el 5 al 28 de Noviembre de 2014, selección de finalistas, el 2 de Diciembre de 2014, asesoría a finalistas y votación pública(Redes sociales) desde el 3 al 10 de Diciembre de 2014 , y Finalmente la presentación de los finalistas al Jurado y Selección de los Ganadores: “12 de Diciembre de 2014″ . No desesperen, hay 4 categorías, y cada equipo( 1 a 3 max) recibirá un Premio con Viaje , con todo Pagado(PERO SOLO a 1 del Equipo) al Evento CES : “The Global Stage for Innovation” que se realizará en las Vegas , Nevada, EEUU , entre los días 6 y 8 de Enero de 2015.  Lo malo podría ser, que por que solo para 1 del Equipo?, si la idea no es que ganen las ideas?. En fin, todo esto se lanzo el 07 de Octubre de 2014 , eso si, uno recién viene a enterarse en la tarde del 9 de Octubre de 2014, y por pura casualidad.

Hay 4 categorías :

  1.  Solución de negocios APP – Móvil
  2.  Solución de negocios para visualización de información
  3.  Solución ciudadana APP Móvil
  4.  Solución ciudadana para visualización de información

La información Completa, Oficial, detallada etc, esta en : http://www.chilecompra.cl

LA API para acceder a los datos sobre Licitaciones y Ordenes de compra es : http://api.mercadopublico.cl/

Viene en formato JSON y en XML.

Por ejemplo, en la API de Licitaciones si tomamos el por codigo de licitación, cambiandole la extensión de JSON a XML, solo por jugar:


http://api.mercadopublico.cl/servicios/v1/publico/licitaciones.xml?codigo=1509-5-L114&ticket=F8537A18-6766-4DEF-9E59-426B4FEE2844

Lo bajamos con Curl por ejemplo:

apichilecompra@edreams.cl%] curl "http://api.mercadopublico.cl/servicios/v1/publico/licitaciones.xml?fecha=02022014&estado=adjudicada&ticket=F8537A18-6766-4DEF-9E59-426B4FEE2844" > licitacion1.xml

Creamos una Cascada de estilo y además un XSLT para generar el .html (html5)

el licitacion1.xsl sería:


<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="2.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="html"
              doctype-system="about:legacy-compat"
              encoding="UTF-8"
              indent="yes" />

  <xsl:template match="/">
    <html>
      <head>
        <title>API Edreams.cl ChileCompra</title>

        <link rel="stylesheet" href="licitacion1.css" />
      </head>
      <body>
        <table class="licitacion1">
          <thead>
            <tr>
              <th>CodigoExterno</th>
              <th>Nombre</th>
              <th>Codigo de Estado</th>
              <th>Fecha de Cierre</th>
            </tr>
          </thead>
          <tbody>
            <xsl:for-each select="Licitaciones/Listado/Licitacion">
            <tr>
              <td><xsl:value-of select="CodigoExterno"/></td>
              <td><xsl:value-of select="Nombre"/></td>
              <td><xsl:value-of select="CodigoEstado"/></td>
              <td><xsl:value-of select="FechaCierre"/></td>
            </tr>
            </xsl:for-each>
          </tbody>
        </table>
      </body>
    </html>
  </xsl:template>

</xsl:stylesheet>

La cascada de estilo o CSS , licitación1.css sería:

table.licitacion1 {
  background-color: #CDCDCD;
  font-family: arial;
  margin: 10px 0pt 15px;
  font-size: 8pt;
  width: 100%;
  text-align: left;
}

table.licitacion1 thead tr th {
  background-color: #E6EEEE;
  border: 1px solid #FFF;
  font-size: 8pt;
  padding: 10px;
}

table.licitacion1 tbody tr td {
  background-color: #FFF;
  color: #3D3D3D;
  vertical-align: top;
  padding: 10px;
}

Utilizamos el parser de SAXONICA para generar al vuelo el HTML

Y en General, si quieren saber un poco más de XSLT, XML Schema, Xquery, XML, XPATH etc, lean el libro : XSLT 2.0 and XPath 2.0 Programmer’s Reference, 4th Edition de Michael Kay .

Michael Kay es buena onda, al igual que O’Neil Delpratt, si les escribes siempre te contestan . Realmente uno recomienda el libro y el parser por supuesto de Saxonica, incluso oXygen viene con el parser, aunque no EE , el EE lo pueden comprar en Saxonica. Muy buen soporte en ambos.

java  -classpath SaxonEE9-5-1-1J/saxon9ee.jar  net.sf.saxon.Transform -t -s:licitacion1.xml   -xsl:licitacion1.xsl -o:licitacion1.html

Del Resultado de esta llamada, podemos crear el XML SCHEMA con oXygen XML Editor

chilecompra-cl-api-mercadopublico-licitaciones-esquema-xml

Si ven, pueden ir Generando todos los XML Schema que deseen, después le pueden pasar uno de Alto Nivel(el Data Binding) como JAXB o XMLBeans o en C Sharp(xsd /xsd2code) para generar las clases desde el Schema. Aunque si ponderamos JAXB con XMLBean, uno preferiría solo JAXB, pues son solo POJOS y con anotaciones los puedes manejar.

Ahora, le puede agregar BootStrap o lo que gusten(aunque en lo que se muestra abajo no se hizo por fines de claridad conceptual), así queda bonito para una página. En fin, el resultado sería el de abajo:

grafico-licitaciones-chilecompra

¿Qué se puede hacer con esta API?

La Respuesta no la se, pero hay que dejar volar la imaginación. Por ejemplo, uno de los puntos que el Jurado de ChileCompra ponderará( aparte de GeoLocación, Moviles, y otros) :

  1. DESARROLLAR NIVELES DE PROBIDAD Y TRANSPARENCIA EN EL MERCADO DE LAS COMPRAS PÚBLICAS.
  2. PROMOVER UN MERCADO DE COMPRAS PÚBLICAS INCLUSIVO, COMPETITIVO Y QUE FACILITE EL ACCESO.
  3. ENTREGAR UN MEJOR SERVICIO A LOS USUARIOS (FORTALECIMIENTO DE LA INSTITUCION).

En el punto (1) como son Dineros del Estado, la Contraloria General de la República ( CGR ) tiene la obligación de Fiscalizar, para eso cuentan aparte de Equipos de Fiscalizadores para distintos ámbitos y equipos especiales, cuentan con Tecnología para detectar Fraudes, como ACL (este no es de los Cisco u otros), es un SOftware para Auditar y administrar el riesgo. Es bastante Interesante pues toma Vistas de los Datos, en cualquier formato que vengan, sin tener el peligro de estropear los datos fuentes, pues es una Vista. Se hacen criterios varios de filtros, se grafica, se sacan las muestras, aplican la Ley de BendFord y siguen con un poco de Estadísticas, la Distribución de Poisson etc etc etc, y si no usan ese, hacen el Sistema por Muestro en Excel que viene con unos macros listos, y ahi aplican Distribución de Gauss..y etc etc etc…. eso es lo automático, sacan indicadores y después los revisan….Eso si también hay al azar o se audita por Petición Publica de los Interesados.

En fin, como el tema también compete a la Transparencia y Probidad de las Compras Publicas, se podrían hacer Cluster de Proveedores Clientes, revisando los que ganen Licitaciones y tengan a su vez otras empresas que estén ganando Licitaciones, revisar si hay se forma un cierre Triadico ahí o un Grupo Especial, y de ahí analizar el comportamiento, Se pueden crear Grafos(Teoría de Grafos) para analizar como están organizados los Nodos, Y teniendo eso claro, y si es necesario se trata de aplicar Teo de Juegos para ver los Comportamientos entre los Nodos. Aunque suena muy bien lo de el Concurso y la VINCULACIÓN CON EL MEDIO, esto podría tener su segunda Derivada con algunas Universidades que tengan Matemáticos y otros Especialistas para hacerlo más útil para Chile.

“api.mercadopublico.cl. permite consumir información de Licitaciones y Órdenes de Compra, organizada de distintas formas, para cubrir diversas necesidades.”

Trabajar con Licitaciones

La siguiente información está disponible para ser usada:

Listar Licitaciones diarias
Listar Licitaciones por código
Listar Licitaciones diarias por estado
Listar Licitaciones por día
Listar Licitaciones por estado y día

Ver detalle sobre cómo usar información de licitaciones

Trabajar con Órdenes de Compra

La siguiente información está disponible para ser usada:

Listar Órdenes de Compra diarias
Listar Órdenes de Compra por código
Listar Órdenes de Compra diarias por estado
Listar Órdenes de Compra por día
Listar Órdenes de Compra por estado y día

Ver detalle sobre cómo usar información de órdenes de compra

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *