API FG v2.0

¿Cómo conectarse?

Para consumir la cuenta propietaria es necesario dar de alta una aplicación. La aplicación puede darse de alta en la siguiente ubicación, es necesario estar autentificado en la cuenta para poder llegar a la configuración de las aplicaciones.

 "Mis aplicaciones" en la cuenta de FG

Una vez dada de alta, su aplicación debe lucir de la siguiente manera:

Es importante que note que para consumir la API v2, debe enviar en las peticiones su ApiKey. A través de este dato la plataforma sabrá de qué aplicación y qué usuario esta consultado la información o realizando operaciones

¿Qué pasa si quiero que mi aplicación conecte con varias cuentas?

En caso de necesitarlo, puede enviar la en los headers el usuario y contraseña base64 en la llave 'Authorization', de esta manera sabremos que desea consultar otra cuenta y los datos que se entregarán serán los de la cuenta que se accede con las credenciales que esta proporcionado

 Es muy importante que tome en cuenta que si hace la petición solo con el ApiKey, se le entregarán datos, siempre y cuando su API Key sea válido. Debe tomar en cuenta si va a consultar varias cuentas con su aplicación, debe asegurarse de enviar los dos valores en los encabezados de la petición.

Para probar sus peticiones, le recomendamos utilizas Postman.

 Obtener postman

Así en caso de necesitar apoyo podríamos referirnos a elementos en común. De cualquier manera en el siguiente enlace puede encontrar un archivo con ejemplos a nuestra cuenta de pruebas. El zip contiene el archivo del entorno con variables y la colección de postman para que puedan probar con nuestra cuenta de pruebas

 Archivo con ejemplos para importar en postman

Direcciones de la API

Es muy recomendable que comience haciendo su integración a la API de pruebas

https://test.facturagorila.com/v2/api

La documentación de los métodos disponibles, tipos de datos de la petición o los tipos de datos de las respuestas están disponibles en http://test.facturagorila.com/v2

Todas las operaciones que realice en la API de pruebas no tendrán ninguna validez, así que puede generar los documentos que necesite, o realizar cuanta operación considere apropiado realizar.


Una vez que este listo para trabajar en producción, dirija su aplicación al ambiente productivo

https://app.facturagorila.com/v2/api

En caso de tener dudas o sugerencias no dude en contactarse con nosotros, estamos a sus ordenes, puede contactarnos directamente en soporte@facturagorila.com, al enviar el correo alguien de nuestro equipo de soporte se pondrá en contacto con usted.


 Es de vital importancia que utilice https para hacer sus peticiones

Ya que en caso de no hacerlo, las peticiones POST o PUT regresarán un "Recurso no disponible"


Generalidades

Hemos hecho modificaciones para que las respuestas a las peticiones de operación retornen el objeto de interés, y solamente si hay un error, obtenemos un objeto OperationResult con detalles sobre aquello que fue mal. Ej.

Status: 400 Bad Request
    {
      "Content": null,
      "ErrorCode": 1,
      "ErrorCodeName": "LOGIC_ERROR",
      "Messages": [
        "No se ha encontrado el documento"
      ],
      "SingleLineErrors": "No se ha encontrado el documento",
      "Success": false
    }
Nuevo Hemos cambiado el valor de ErrorCode a un enumerado con el propósito de mejorar la comparación del valor en nuestro código. La descripción de los valores del enumerado esta disponible en este enlace




Orientación en PHP

Uno de nuestros usuarios amablemente nos compartió este fragmento de código para facilitar la implementación en PHP, esperamos que les sirva

class fkGor {  
    private $curl;  
    public $httpCode = '';
    private $apiFkGo = 'https://test.facturagorila.com/v2/Api/'; // Api v2 - Factura Gorila 
    private $headers = array( 
                                'Content-Type: text/json; charset=utf-8', 
                                'ApiKey: Aqui va la ApiKey',
                                'Authorization: Aqui la la Authorization'
                            );

    /** 
     * Inicializa el objeto curl con las opciones por defecto. 
     * Si es null se crea 
     */  
    public function __construct() {
        // var_dump($this->headers);
        $this->curl = curl_init();  

        // curl_setopt($this->curl, CURLOPT_USERAGENT, $this->userAgent);  
        curl_setopt($this->curl, CURLOPT_HTTPHEADER, $this->headers ); 
        curl_setopt($this->curl, CURLOPT_RETURNTRANSFER,true);  
        curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 5);  
        curl_setopt($this->curl, CURLOPT_TIMEOUT, 60);  
    }  
 
    /** 
     * Envía una petición POST a la URL especificada 
     * @param string $url 
     * @param array $post_elements 
     * @return string Respuesta generada por el servidor 
     */  
    public function post($url, $post_elements) {  
        $url_completa = $this->apiFkGo.$url;
        curl_setopt($this->curl, CURLOPT_URL, $url_completa );  
        curl_setopt($this->curl, CURLOPT_CUSTOMREQUEST, "POST"); 
        curl_setopt($this->curl, CURLOPT_POST,true);  
        curl_setopt($this->curl, CURLOPT_POSTFIELDS, $post_elements);  
        $result = curl_exec ($this->curl);  
        $this->_close();  
        return $result;  
    }  

    /** 
     * Cierra la conexión 
     */  
    private function _close() {  
        $this->httpCode = curl_getinfo($this->curl, CURLINFO_HTTP_CODE);
        curl_close($this->curl);  
    }  

}

En caso de que quiera hacer un aporte para facilitar la implementación de nuestra API, por favor comúniquese con nosotros para ver la posibilidad de publicar su aporte a soporte@facturagorila.com