Este módulo permite establecer conexión a los servicios API por medio de la interface PXYS.
La instalación se realiza:
npm -install occ-pxys-request --save
Es necesario contar con un archivo de configuración (default.js) que permita establecer los parámetros necesarios para establecer la conexión al PXYS. La ubicación del archivo deberá estar dentro de la siguiente estructura:
./
../config
default.json
Dentro del archivo de configuración, se requiere que cuente con un objeto llamado Proxy con las siguientes propiedades:
{
{
//Otras configuraciones
},
"Proxy": {
"settings": {
"host": "http://servidor_proxy.com/",
"timeout": 2000000,
"appKey" : "appKey_proporcionada",
"secretKey" : "secretKey_proporcionada"
}
}
}
Después de la instalación del paquete, se requiere hacer referencia:
var pxyService = require('occ-pxys-request');
Se requiere hacer referencia al archivo de configuración:
var config = require('./config/default.json');
Se instancia el objeto que contiene los valores utilizados en la llamada API:
var reqObj = new Object();
A continuación se establecen las propiedades necesarias para establecer la conexión:
reqObj.service = "api_service";
reqObj.version = "api_version";
reqObj.method = "verbose";
reqObj.resource = "any_resource";
Se realiza la petición por medio de una funcion callback:
var response = pxyService.pxysRequest(function(error, res) {
if (error === null) {
// hacer algo con la respuesta recibida
console.log("ok ",JSON.stringify(res));
} else {
// manejar el error devuelto por la API
console.log("error", JSON.stringify(error));
}
}, reqObj);
Algunos ejemplos adicionales llamadas con diferentes variantes:
- Llamada con recurso e instancia:
...
reqObj.resource = "any_resource";
reqObj.instance = "any_instance";
- Llamada con recurso, instancia y parametros:
...
reqObj.resource = "any_resource";
reqObj.instance = "any_instance";
reqObj.parameters = '{"param1":"value1"}';
- Llamada con recurso, parametros y body:
...
reqObj.resource = "any_resource";
reqObj.instance = "any_instance";
reqObj.parameters = '{"param1":"value1"}';
reqObj.body = '{"body-param1":"value1"}';
- Llamada con recurso y body:
...
reqObj.resource = "any_resource";
reqObj.body = '{"body-param1":"value1"}';
- Llamada con instancia y subrecurso:
...
reqObj.resource = "any_resource";
reqObj.instance = "any_instance";
reqObj.subResource = "any_subResource";
reqObj.subInstance = "any_subInstance";
- Llamada con recurso e instancia a 3er. nivel:
...
reqObj.resource = "any_resource";
reqObj.instance = "any_instance";
reqObj.subResource = "any_subResource";
reqObj.subInstance = "any_subInstance";
reqObj.sub3rdResource = "any_sub3rdResource";
reqObj.sub3rdInstance = "any_sub3rdInstance";
Un ejemplo completo de llamada:
// referencias a módulo y a configuracion
var pxyService = require('occ-pxys-request');
var config = require('./config/default.json');
// instancia de objeto de llamada
var reqObj = new Object();
// parametros de la llamada
reqObj.service = "api_service";
reqObj.version = "api_version";
reqObj.method = "verbose";
reqObj.resource = "any_resource";
reqObj.instance = "";
reqObj.parameters = '{"param1":"value1"}';
// llamada por medio de función callback
var response = pxyService.pxysRequest(function(error, res) {
if (error === null) {
// hacer algo con la respuesta recibida
console.log("ok ",JSON.stringify(res));
} else {
// manejar el error devuelto por la API
console.log("error", JSON.stringify(error));
}
}, reqObj);