Code Monkey home page Code Monkey logo

api_hacienda's Introduction

Sobre CRLibre

Somos una comunidad de individuos y organizaciones que voluntariamente unimos esfuerzos para colaborar y compartir conocimiento, crear software libre para resolver problemas que enfrentamos en nuestra realidad en Costa Rica.

En este repositorio estamos creando un API abierto y componentes de software para simplificar el proceso de la Factura Electrónica requerido por el Ministerio de Hacienda de Costa Rica.

En repositorios adicionales estaremos colaborando con elementos similares

Conversemos

Cómo colaborar

Ver archivo CONTRIBUTING.md para más información

Sobre este API

Trabajo en proceso lo estamos creando en conjunto

Esta es un API en PHP, la idea de esto es poder realizar módulos sobre una base que maneja ya diferentes aspectos como la conexión a bases de datos y usuarios.

Se encuentran 2 carpetas, una que se llama api y otra que se llama www

La que se llama api la idea es ubicarla en un lugar en donde no sea accesible, o bien, que no sea en el public_html

La que se llama www contiene un archivo de configuración, en donde se modifican aspectos como la conexión a base de datos, nombre del sitio y muy importante, la ubicación de en donde se encontrará el resto de cosas o bien, la carpeta api.

Necesitas mas informacion? Visita el Wiki del API


Para hacer módulos, se realizan en la carpeta api/contrib/mi-modulo

Hay uno de ejemplo que se llama 'ejemplo'

Dentro de la carpeta del módulo, tiene que haber un archivo que se llame module.php, en este se define la estructura de nuestro módulo, la funcion function ejemplo_init() hace referencia a la siguiente estructura MODULO_init(), si el modulo se llama GetDate la funcion init debe tener el nombre GetDate_init().

En esta hay 2 llamadas diferentes a modo de ejemplo, la primera no requere ningún valor y nos devuelve un "hola"

Este es un ejemplo de cómo se haría la llamada a la primera función

http://localhost/api.php?w=ejemplo&r=hola

En donde w = módulo al que ocupamos / r = cual función ocupamos En este caso ocupamos w=ejemplo y r=hola

La respuesta debería ser similar a esto:

{"resp":"hola :)"}

http://localhost/api.php?w=ejemplo&r=un_usuario&nombre=Juan&apellido=Perez

En la segunda llamada ya es necesario que se envíen 2 parámetros que serán utilizados por la función. Estos están declarados en el menú del módulo cómo mandatorios.

El resultado debería dar algo similar a:

{"resp":"Juan, Perez"}


Todos los resultados están contenidos bajo la variable resp y todos son en json.

Cada bloque del menú del módulo, está compuesto por una estructura similar a esta

array( 'r' => 'un_usuario', 'action' => 'unUsuario', 'access' => 'users_openAccess', 'access_params' => 'accessName', 'params' => array( array("key" => "nombre", "def" => "", "req" => true), array("key" => "apellido", "def" => "", "req" => true) ), 'file' => 'ejemplo.php' )

-En donde el primero es el nombre de request que vamos a usar -Función en php que se va a ejecutar -El tipo de acceso con el que se cuenta -Si se va a acceder por medio del mobre de la función (este no se toca) -Los parámetros que son necesarios recibir -La ubicación de la función a llamar

De tal manera, nuestro múdulo puede estar conformadio por diferentes archivos en PHP, y estas direcciones se definen en el menú. De esta manera solamente se incluirán los módulos necesarios para cada ejecución y se omiten el resto.

api_hacienda's People

Contributors

alejosv avatar eliastorres avatar enzofjh avatar fdelapena avatar imrlopez avatar jsubiros1 avatar schweini avatar walner1borbon avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.