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
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
Para probar sus peticiones, le recomendamos utilizas 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
Es muy recomendable que comience haciendo su integración a la API de pruebas
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
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.
Ya que en caso de no hacerlo, las peticiones POST o PUT regresarán un "Recurso no disponible"
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.
{ "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
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