JAS IA API es una REST. Nuestra API acepta form-encoded request bodies, y devuelve respuestas del tipo JSON-encoded, y usa codigos de respuesta especiales.
Podes utilizar JAS IA API en modo TEST, sin afectar el balance de la cuenta real, siguiendo los pasos indicados en el correspondiente apartado. El endpoint utilizado determina el modo de conexion.
Para conectar a la API segui los siguientes pasos:
Para cuentas de prueba/test:Las rutas dependen del ambiente al que se quiere apuntar, y la version que se este utilizando de la API:
*) Los resellers deben indicar en este parametro el valor del id de su cliente.
Dependiendo del servicio se pueden realizar distintos tipos de consulta:
Servicio:$version = "v1/"; $end_point = "{your_endpoint}"; $enviroment_url = "{enviroment_url}"; $url = $enviroment_url.$version.$end_point; $request = new Http_Request2($url); $this->request = $request; $this->token = "{your_token}"; $this->idOrg = "{your_idOrg_number}"; $this->url = $this->request->getUrl($url); $this->headers = array( // Request headers ); $this->request->setHeader($this->headers); $this->parameters = array( 'token' => $this->token, 'idOrg' => $this->idOrg, //... Other params depending on type of request ); $this->url->setQueryVariables($this->parameters); $this->request->setMethod(HTTP_Request2::METHOD_GET); $this->request->setBody(json_encode($data)); try { $response = $this->request->send(); $result = $response->getBody(''); $status = $response->getStatus(); $responseBody = $response->getHeader(); $result = json_decode(($result), true); } catch (HttpException $e) { $result = json_decode($e); }
import json import time from requests import get, post # Endpoint URL enviroment = r"{enviroment}" version = r"{version}" endpoint = r"{endpoint}" api_token = "{token}" idOrg = "{idOrg}" post_url = enviroment + version + endpoint headers = { #Request Headers } params = { "token": api_token, "idOrg": idOrg, # Other params depending on type of request } with open(source, "rb") as f: data_bytes = f.read() try: resp = post(url = post_url, data = data_bytes, headers = headers, params = params) if resp.status_code != 202: print("POST analyze failed:\n%s" % resp.text) quit() print("POST analyze succeeded:\n%s" % resp.headers) get_url = resp.body except Exception as e: print("POST analyze failed:\n%s" % str(e)) quit()
#No disponible
#No disponible
#No disponible
#No disponible
{ "status":"200", "cantidad_files":1, "mensaje":"1 files procesados", "response":[ {"status":"5", "fileName":"{Nombre_archivo_uploaded}", "descDoc":"Factura de Compra", "idEntidad":"688", "datos":{ "keyValues":{ "PuntoDeVenta":"00003", "CompNro":"00007084", "FechaDeEmision":"10\/01\/2020", "RazonSocial":"{Razon_social_emisor}", "CUIT":"{CUIT_emisor}", "DomicilioComercial":"{Domicilio_emisor}", "IngresosBrutos":"{IIBB_emisor}", "FechaDeInicioDeActividades":"01\/09\/2002", "CondicionFrenteAlIVA":"IVA Responsable Inscripto", "FechaDeVtoParaElPago":"10\/01\/2020", "PeriodoFacturadoDesde":"10\/01\/2020", "Hasta":"10\/01\/2020", "ApellidoYNombreRazonSocial":"{Cliente_del_documento}", "Subtotal":"{Subtotal_del_documento}", "ImporteTotal":"{Importe_total}", "FechaDeVtoDeCAE":"{Vencimiento_CAE}", "IVA21%":"{Monto_IVA_21}", "IVA10,5%":"{Monto_IVA_10_5}", "CAENo":"{CAE}"}, "tables":{ "status":"ok", "productos":[ [ {"value":"{descripcion_concepto}","key":"Producto \/ Servicio"}, {"value":"{cantidad_item}","key":"Cantidad"}, {"value":"{descripcion_u_m}","key":"U. medida"}, {"value":"{precio_unitario_item}","key":"Precio Unit."}, {"value":"0,00","key":"% Bonif"}, {"value":"{subtotal_item}","key":"Subtotal"}, {"value":"{Alicuota_IVA_item}","key":"Alicuota IVA"}, {"value":"{Monto_subtotal_c_IVA}","key":"Subtotal c\/IVA"} ] ], "cantidad": "{Cantidad_items}" } } } ] }
A continuacion se listan los códigos de respuesta y su significado.