GpsApi javascript & Framework css
Este libro contiene todo lo necesario para que mediante nuestro framework y librerías puedas tu mismo crear un plataforma de internet de las cosas.
- Introducción
- Primeros pasos
- Crear mi plataforma
- Instala y ejecuta gpsApi
- Ejemplo de plataforma
- Recibe notificaciones, alertas o eventos
- Crear listados
- Crear Formularios
- Cargar contenido externo
- Manejo de mapa y marcadores
- GpsApi V2
- Introducción
- getAssets()
- getSensor()
- getDrivers()
- createDriver(JSON dataDriver)
- updateDriver(JSON dataDriver)
- deleteDriver(JSON dataDriver)
- setModuleToUser(JSON dataModule)
- getModulesByUser()
- getRoutes()
- getScheduledRoutes()
- deleteRoute(JSON dataRoute)
- getPlaces()
- deletePlace( JSON dataPlace)
- updatePlace(JSON dataPlace)
- createPlace(JSON dataPlace)
- getGeofences()
- getAlerts(JSON dataAlert)
- deleteGeofence(JSON dataGeofence)
- updateGeofence(JSON dataGeofence)
- createGeofence(JSON dataGeofence)
- getOdometer(JSON dataOdometer)
- getHistory(JSON dataHistory)
- getAllAssets()
- vehicleGetAll()
- getAssetsLastReport()
- loginByToken(String token)
- reconnect(String user, String password, String apiKey)
- connect(String user, String password, String apiKey)
- getAllAssetsOndelivery()
- getAllProducts()
- createProduct(JSON dataProduct)
- editProduct(JSON dataProduct)
- checkProductAvailability(JSON dataProduct)
- getAllWareHouse()
- createWareHouse(JSON dataWareHouse)
- editWareHouse(JSON dataWareHouse)
- getAllZones()
- getAllInventories()
- getInventoryMovements(JSON dataInventoryMov)
- createInventory(JSON dataInventory)
- editInventory(JSON dataInventory)
- getAllClient()
- createClient(JSON dataClient)
- editClient(JSON dataJSON)
- createContactClient(JSON dataContact)
- editContactClient(JSON dataContact)
- getInfoContact(JSON dataContact)
- getInfoAddress(JSON dataAddress)
- getAllAddressClient(JSON dataAddress)
- getAllAddress()
- createAddressClient(JSON dataAddress)
- editAddressClient(JSON dataAddress)
- getOptionsVehicle(JSON dataVehicle)
- createOptionsVehicle(JSON dataVehicle)
- editOptionsVehicle(JSON dataVehicle)
- getPedidos(JSON dataPedidos)
- createOrder(JSON dataOrder)
- changeOrderStatus(JSON dataOrder)
- deleteOrder(JSON dataOrder)
- getStatuses()
- getOrderDetail(JSON dataOrder)
- getDashboardData(JSON dataDash)
- getInventoryByWarehouse(JSON dataInventory)
- getStatusOrder(JSON dataStatus)
- getSystemElements()
- setSystemElements()
- elementExists()
- setAttribute()
- setAttributes()
- Librería de Iconos y CSS
- Custom platform
Introducción
El objetivo de la creación de estas herramientas y librería es que ustedes como clientes, tengan las herramientas necesarias para poder crear sus propios desarrollos personalizados sobre nuestra plataforma y también puedan crear sus propias plataformas.
Nuestras herramientas, buscan ayudarte a que estos cambios o desarrollos serán los mas rápidos y eficientes posibles, utilizando este conjunto de de herramientas, librería CSS y librería de botones e iconos.
Te invitamos a realizar los primeros pasos para que vea lo simple que puede ser crear una plataforma propia y exclusiva para tus clientes.
Primeros pasos
En esta sección se te explicará los pasos a seguir para que puedas crear desde cero tu propia plataforma 100% personalizada.
Esta API javascript, se creó con la intención de que cualquier cliente de nuestra plataforma pueda generar sus propias soluciones de forma ágil y rápida. Estas mismas herramientas que les compartimos son las que utilizamos nosotros en nuestros desarrollos y por lo mismo las queremos compartir con ustedes para que puedan lograr, personalizaciones propias y lograr exclusividad en su producto.
Crear mi plataforma
Acceso a "Mis Plataformas"
1: Para crear su propia plataforma, debe ingresar a la plataforma "Partners" y en la opción superior debe dar clic en "Opciones" y entrar en la sección "personalización de plataformas"
Una vez dentro de "personalización de plataformas", debe dar clic a la opción "Mis Plataformas", para mostrar un listado de las plataformas que se han creado.
Entre las acciones que se tienen disponibles en el listado de plataformas son:
Acceder : Con esa opción podrá acceder a la plataforma creada.
Editar: Con esta opción se podrán editar los parámetros iniciales de la plataforma.
Eliminar: Con opción podrá eliminar de forma lógica una plataforma.
2: Debe dar clic sobre el botón "crear" para mostrar el formulario con el cual se registrara una nueva plataforma.
Los campos del formulario son:
Nombre Plataforma: Es el nombre con el que se identificara a la nueva plataforma.
URL Destino: URL hacia donde apuntará la plataforma.
Clase del Icono : Para esta opción, se debe escribir la clase del icono que se mostrara referente a su plataforma, acceda a la librería de iconos y css con la siguiente URL http://library.service24gps.com/
Subir icono: Esta opción es para subir un icono personalizado, ppuede ser PNG, JPG o ZVG
Instala y ejecuta gpsApi
A continuación les explicamos 2 formas de utilizar el GpsApiV2.
1. Ingresar y autenticar al usuario de forma directa luego de haber creado una plataforma personalizada.
Su creaste anteriormente la plataforma desde la plataforma de partners y se le asignó el permiso al cliente que utilizará la misma, podrás autenticar utilizando el link del menú de múltiples plataformas.
Al acceder a este icono de la plataforma que crearon anteriormente el sistema abrirá la URL destino que definieron y a la misma le agregará un TOKEN, el cual se encuentra en la URL y este mismo sirve para autenticar al usuario en su plataforma personalizada.
En este caso usted solo debe incluir estas lineas de código en la URL de destino y de forma automática nuestra librería realizará la autenticación del usuario y por medio de javascript usted podrá acceder a todos los elementos o permisos que tenga el usuario.
AQUI EL CODIGO DE EJEMPLO DE JSAPI |
Te recomendamos que para crear tu primer plataforma utilices el ejemplo que aparece en el siguiente capitulo de este libro llamado "Ejemplo de plataforma" ya que ahí encontrará un ejemplo completo de como crear tu plataforma con solo copiar y pegar el código.
2. Utilizar el API de forma manual.
En el caso que quieras utilizar el API de forma manual, deberán en su plataforma o desarrollo propio, crear un formulario de autenticación o dejar esta información de forma fija en el código.
Cuanto utilizamos el API manualmente, esta misma requiere algunos datos para poder autenticar:
Usuario y contraseña: estos son los datos que utiliza el usuario diariamente para ingresar a la plataforma.
API key: esta llave, es generada desde la plataforma OnPartners, en el caso que usted no tenga acceso a la misma, puede solicitar al administrador de la plataforma que le genere el APIKEY para su cliente.
Un a vez teniendo estos datos de autenticación, podemos utilizar el siguiente ejemplo para realizar el ingreso y autenticación
al api por medio de javascript.
<h4>Code example for use <strong>gpsApiv2</strong></h4>
<script src="https://qa.service24gps.com/commons/js/axios.min.js"></script>
<script src="https://qa.service24gps.com/commons/js/gpsApiv2.js"></script>
<script>
setTimeout(function() {
_gpsApiv2.setRegenerateToken = true;
gpsApiv2.connect('USERNAME', 'PASSWORD', gpsApiv2.apikey)
.then(code => {
if (code == 200) {
console.log('OK, token=', _gpsApiv2.token);
} else {
console.info(`Error #${ code }`);
}
})
.catch(console.error);
}, 1000);
</script>
Ejemplo de plataforma
En esta sección del libro, les mostraremos un ejemplo para poder crear una plataforma personalizada en el cual ahorrarán varios pasos en el proceso y podrán comenzar a trabajar las necesidades de sus clientes.
1. Ejemplo de plataforma sin mapa.
Para crear tu primer plataforma solo debes copiar y pegar este código HTML y JS dentro de tu servidor donde se encuentra la URL destino que configuraste al crear la plataforma y solo haciendo esto, nuestro código se encargará de autenticar al usuario por medio del token y ademas ya tendrás algunos elementos en Javascript listo para utilizar.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://gpsresources.sfo3.cdn.digitaloceanspaces.com/js/jquery-1.11.3.min.js"></script>
<script src="https://qa.service24gps.com/commons/js/axios.min.js"></script>
<script src="https://qa.service24gps.com/commons/js/commons_new.js?22"></script>
<title>my platform</title>
</head>
<body class="customPlatform">
<!--Header nuevo-->
<header class="header-custom fix-t" id="header-platform"></header>
<!---->
<section class="wrap-base wc40-60">
<div class="wb-aside">
<div id="listado_generico" class="dt-new-style"></div>
</div>
<div class="wb-content">
<div id="div-map"></div>
</div>
</section>
<script type="text/javascript">
menu_elements = [
{ name: "Activos", icon: "i-vehicle", function: "_gpsApiv2.getAssets"},
{ name: "Conductores", icon: "i-driver", function: "showDrivers" },
{ name: "Lugares", icon: "i-place", function: "showPlaces" },
{ name: "Google", "href":"http://www.google.com"}
];
platform_logo = "https://library.service24gps.com/img/library_icon.svg";
_createComponents.createMenu(menu_elements,platform_logo);
/* Para cargar elementos dentro del systemElements
si no requiere alguno, solo elimina la linea
*/
$(document).ready(function() {
setTimeout(() => {
_gpsApiv2.getAssets()
_gpsApiv2.getPlaces()
_gpsApiv2.getDrivers()
}, 3000);
});
function showDrivers() {
_createComponents.loading();
const data = _gpsApiv2.getSystemElements({ element: 'drivers' });
const columns = {
'nombre' : 'Nombre',
'apellido' : 'Apellido',
'licencia' : 'Licencia',
'nombrevehiculo': 'Vehiculo'
};
let action_buttons = [];
action_buttons.push({
class: "bt xs ico agregar",
icon : 'i-plus',
attr : {
id : 'new_element',
title : "Crear"._t(),
onclick: "_createComponents.showForm('driver');"
}
});
let extra_buttons = []
extra_buttons.push(
{
name: 'Editar'._t(),
icon: 'i-edit',
function: 'editDriver',
class: 'bt xs edit ico',
campos: [ 'id' ],
title: 'Editar'
},
{
name: 'Eliminar'._t(),
icon: 'i-delete',
function: 'deleteDriver',
class: 'bt xs eliminar ico',
campos: [ 'id' ],
title: 'Eliminar'._t()
}
);
if (data !== null && Object.entries(data).length > 0) {
_createComponents.createList({ data, columns, action_buttons, extra_buttons });
} else {
_gpsApiv2.getDrivers({})
.then(data => _createComponents.createList({ data, columns, action_buttons, extra_buttons }))
.catch(console.error);
}
}
function showPlaces() {
_createComponents.loading();
const map_exists = typeof google !== 'undefined';
const data = _gpsApiv2.getSystemElements({ element: 'places' });
const columns = {
'nombre' : 'Nombre',
'grupo' : 'Grupo',
'direccion': 'Direccion'
};
const extra_buttons = [{
name: 'Centrar'._t(),
icon: 'i-place',
function: 'centerPlace',
class: 'bt xs edit ico',
campos: [ 'idLugar' ],
title: 'Centrar'._t()
}];
if (data !== null && Object.entries(data).length > 0) {
_createComponents.createList({ data, columns, action_buttons: [], extra_buttons });
if (map_exists) {
principal.addPlaceMarkers({ data, divId: 'div-map' });
}
} else {
_gpsApiv2.getPlaces({})
.then(data => {
_createComponents.createList({ data, columns, action_buttons: [], extra_buttons });
if (map_exists) {
principal.addPlaceMarkers({ data, divId: 'div-map' });
}
})
.catch(console.error);
}
}
function centerPlace(id) {
const place = _gpsApiv2.getSystemElements({ element: 'places', key: id });
if (place === null) {
return false;
}
const { marker = null } = place;
if (marker !== null) {
principal.centerMap({ marker });
}
}
</script>
</body>
</html>
Un vez autenticado en tu plataforma, puedes acceder a información del usuario que ingresó por medio de javascript ya que debes contar con el siguiente Objeto de datos el cual, esta listo para que lo consumas.
//its defined a global object SYSTEMELEMENTS
console.log(systemElements);
//result {assets: {…}, places: {…}, drivers: {…}}
//This onject have elements as "assets, places, drivers" and shi have all elements atributtes
assets:
uid_element: {Address: '', Alto_icono: 50, Ancho_icono: 50, DatosJson: {…}, Equipo: 'uid_element', …}
uid_element: {Address: '', Alto_icono: 50, Ancho_icono: 50, DatosJson: {…}, Equipo: 'uid_element', …}
uid_element: {Address: '', Alto_icono: 50, Ancho_icono: 50, DatosJson: {…}, Equipo: 'uid_element', …}
drivers:
uid: {id: 'uid', numero: '', alias: '', nombre: 'name', apellido: 'lastname', …}
uid: {id: 'uis', numero: '', alias: '', nombre: 'name', apellido: 'lastname', …}
places:
place_uid: {idLugar: 'place_uid', nombre: 'place_name', direccion: '', latitud: '18.98', longitud: '-98.08', …}
place_uid: {idLugar: 'place_uid', nombre: 'place_name', direccion: '', latitud: '19.34', longitud: '-97.78', …}
Como se ve en el ejemplo anterior, en el objeto de systemElements, tendrás a la mano los elementos de la plataforma que el usuario tiene permisos para poder utilizarlos en tu desarrollo.
Así se verá la plataforma utilizando el código que se definió anteriormente en el ejemplo.
La plataforma puede o no contener un mapa, dependiendo de cómo lo definieron en la creación de la misma.
En el ejemplo anterior, definimos la creación de módulo o menús, dentro de la barra de navegación. Es importante que sepas que tu puedes crear todos los módulos o menús que necesites, siguiendo los ejemplos de herramientas que siguen a continuación en este mismos libro.
2. Ejemplo de plataforma con mapa.
A la hora de crear una plataforma con mapa, tenemos la opción de agregar el TOKEN del API de google dentro de la plataforma que creamos desde el menú de la plataforma OnPartners.
Un vez ingresada esta llave en tu plataforma personalizada, puedes utilizar el siguiente código de ejemplo para que inicies con tu plataforma la cual contendrá un mapa de google.
Recibe notificaciones, alertas o eventos
Una vez iniciada tu plataforma personalizada, nuestra librería se conecta de forma automática a un tópico de MQTT y la finalidad principal de este es que de forma automática el usuario que ingresó a la plataforma comience a recibir los mensajes de alertas o eventos que corresponden a los activos que el tenga asignados.
Los mensajes de eventos o alertas, los debes poder visualizar como en el siguiente imagen.
Estas notificaciones, aparecen por defecto en la parte inferior derecha de la pantalla de la plataforma.
En el caso que tu requieras generar desde un proceso propio notificaciones para tus usuarios, ya sea en tu plataforma o en cualquiera de nuestras plataformas, lo puedes hacer utilizando el siguiente ejemplo de código.
codigo para poder enviar un mensaje por MQTT A un usuario o a un cliente.
Documentación aún no disponible.
Con el ejemplo anterior, podrás encolar mensajes los cuales, serán recibidos por un usuario o por todos los usuarios de un cliente.
Crear listados
Dentro de las herramientas que incluye el GpsApiV2, tenemos una clase de javascript que es utilizada para maquetar elementos dentro de tu plataforma.
Dentro de estos elementos, tenemos la opción que desde un objeto javascript de datos podamos crear un listado tipo datatable como los que actualmente se utilizan dentro de nuestra plataforma.
Detalle de la función _createComponents.createList()
la clase que utilizaremos para crear elementos dentro de la plataforma es llamada "_createComponents" les dejamos un ejemplo de cómo utilizar la misma con la función "createList" que nos ofrece crear un listado de datos desde un objeto javascript.
//Create datateble list from javascritp data object
//example of data object
let list_data = [
{ id: '01', name: 'name1', lastname: 'lastname1', age: '11', phone: '99887766' },
{ id: '02', name: 'name2', lastname: 'lastname2', age: '11', phone: '99887766' },
{ id: '03', name: 'name3', lastname: 'lastname3', age: '11', phone: '99887766' },
{ id: '04', name: 'name4', lastname: 'lastname4', age: '11', phone: '99887766' },
];
//table options
var list_options = {
target_id : 'listado_generico',
data : list_data,
columns : { 'name': 'name', 'id': 'id', 'age': 'age', 'lastname': 'lastname'},
action_buttons : [],
extra_buttons : [],
table_height : null,
}
//execute createList function
_createComponents.createList( list_options );
Este ejemplo que se muestra en el código anterior, genera un listado como el que se ve en la siguiente imagen.
tu puedes utilizar esta función para crear todo tipo de listados dentro de tu plataforma personalizada.
Crear Formularios
Dentro de las herramientas disponibles de nuestra clase javascript tenemos una para poder crear formularios desde un objeto javascript.
Con esta función de la clase podrás crear formularios con un estándar tanto estético como funcional y con ello ahorrar bastante tiempo en los desarrollos.
A continuación mostramos un ejemplo de cómo utilizar este método o función.
//this object declare all forms fields, container, actions and title
var fields = {
"fields": [
{
id: 'idgrupo',
name: 'idgrupo',
visible: true,
type: 'combobox',
required: false,
fieldClass: '',
},
{
id: 'observaciones',
name: 'observaciones',
visible: true,
type: 'textarea',
required: false,
fieldClass: '',
},
{
id: 'numero',
name: 'Número',
visible: true,
type: 'text',
required: false,
fieldClass: '',
valueDefault: '00000001'
},
{
id: 'nombre',
name: 'Nombre',
visible: true,
type: 'text',
required: true,
fieldClass: ''
},
{
id: 'apellido',
name: 'Apellido',
visible: true,
type: 'text',
required: true,
fieldClass: ''
},
{
id: 'cancelForm',
name: 'cancelForm',
visible: true,
type: 'boton',
text: "Cancelar",
icon: "i-clear",
clases: "sm white",
functionClick: "$('#showFormsGeneric').modal('toggle')",
showLabel: false
},
{
id: 'saveDriver',
name: 'saveDriver',
visible: true,
type: 'boton',
text: "Guardar",
icon: "i-save",
clases: "sm save",
functionClick: "_createComponents.saveFormData(this, 'createDriver')",
showLabel: false
}
],
"conteiner": "showFormsGeneric",
"title": "Crear conductor"
}
//fhis function, create form into DOM
_createComponents.showCustomForm(fields)
Dentro de las opciones que se definen en el formulario, podrás definir a que función javascript se llamará para que esta guarde los datos del mismo en tu base de datos o donde la requieras.
Cargar contenido externo
Aquí se muestra un ejemplo de cómo podemos cargar un contenido externo dentro de nuestra plataforma. Este contenido puede ser de otra base de datos y de otro sistema.
Próximamente
Manejo de mapa y marcadores
Próximamente
GpsApi V2
En esta sección se describe el uso completo de nueva API javascript con cada una de las funciones que están incluidas en la misma.
Introducción
Con esta librería tendrá acceso a las funciones y herramientas disponibles para poder diseñar y crear su propia plataforma.
Esta versión fue realizada en base a promesas "Promise" , lo que conlleva a:
- Mayor eficiencia en las respuestas de las solicitudes.
- No requiere de callaback.
- Mayor efectividad manejo de flujos de datos asíncronos.
Todas las funciones que requieran de paso de 1 a N parámetros, deberán ser incluidos dentro de una estructura JSON como se muestra en el siguiente ejemplo:
Ejemplo de json:
let dataContact = {
'idcontacto':481
}
Ejemplo de solicitud:
try {
const contact = await _gpsApiv2.getInfoContact(dataContact);
} catch (error) {
console.error(error);
}
Es recomendable que cada solicitud que se realice, esta se coloque dentro de un try - catch, para que en caso que la solicitud falle, se verifique cual es el error devuelto.
En los siguientes artículos se encuentra la información detallada de cada una de las funciones disponibles en GPSApi V2, va desde la definición de cada uno de los campos requeridos en el Json que se requiere en cada método hasta ejemplos de solicitud y respuesta devueltos.
getAssets()
Se recuperan todos los activos del usuario con sus atributos correspondientes.
Ejemplo de solicitud en JS:
try {
const assets = await _gpsApiv2.getAssets();
} catch (error) {
console.error(error);
}
Definición de atributos de la respuesta:
Atributos | Definición |
---|---|
anio | Año del Activo |
color | Color del Activo |
conductor | Nombre del Conductor del Activo |
file_foto | Dirección donde se aloja la imagen del activo |
gatewayip | ? |
grupo | Grupo al que pertenece el Activo |
icono_vehiculo | Icono que identifica al Activo |
id | ID que hace referencia al Activo en el sistema |
idconductor | ID que hace referencia al Conductor en el sistema |
idequipo_gps | ID que hace referencia al Equipo GPS en el sistema |
idgps | ID que hace referencia al GPS en el sistema |
idgrupo_vehiculo | ID que hace referencia al Grupo que pertenece el Activo en el sistema |
idmarca_vehiculo | ID que hace referencia a la Marca del Activo en el sistema |
idtipo_vehiculo | ID que hace referencia al Tipo de Activo en el sistema |
ignorar_equipo | ? |
marca | Nombre de la Marca del Activo |
modelo | Nombre del Modelo del Activo |
nombre | Nombre del Activo |
num_economico | Identificador Interno de la empresa del cliente |
numero_serie | N° Serie del Activo |
patente | código de la patente/placa |
tipo_vehiculo |
Tipo del Activo |
Respuesta de ejemplo:
[0:{
anio:'2015'
color:''
conductor:''
file_foto:''
gatewayip:null
grupo:null
icono_vehiculo:'./Iconos/Vehiculos/CarIcon.png'
id:'13953'
idconductor:'0'
idequipo_gps:'0'
idgps:null
idgrupo_vehiculo:'0'
idmarca_vehiculo:'0'
idtipo_vehiculo:'0'
ignorar_equipo:null
marca:null
modelo:'Lancer'
nombre:'Lancer'
num_economico:'rd23'
numero_serie:'1234567890'
patente:'POP-1234'
tipo_vehiculo:null
}
1: {...}]
getSensor()
Al invocar este método, se obtiene el listado de todos los sensores disponibles en RedGps.
Definición de atributos:
- 1: Índice para obtener el nombre del sensor
Ejemplo de solicitud en JS
try {
const sensors = await _gpsApiv2.getSensors();
} catch (error) {
console.error(error);
}
Respuesta de ejemplo:
{
1:'Ignición ON / OFF'
2:'Desconexión de Batería Principal'
3:'Botón de Pánico'
...
}
getDrivers()
Al invocar este método, se recuperan todos los conductores en formato JSON
try {
const drivers = await _gpsApiv2.getDrivers();
} catch (error) {
console.error(error);
}
Definición de atributos de la respuesta:
Atributos | Definición |
---|---|
alias | Alias del Conductor |
apellido | Apellido del Conductor |
cedula | Cédula del conductor |
direccion | Dirección del conductor |
Correo del conductor | |
fecha_alta | Fecha de alta del conductor |
id | ID del conductor |
identificador | String con el identificador que se asocia al conductor |
idgrupo | ID del grupo |
idgrupo_conductor | ID del grupo al que pertenece el conductor |
idvehiculo | ID del activo |
licencia | Número de licencia |
nombre | Nombre del conductor |
nombregrupo | Nombre del Grupo |
nombrevehiculo | Nombre del activo |
numero | ? |
observaciones | Observaciones del conductor |
patente | Código de la patente/placa |
telefono | Teléfono del conductor |
vigencia | Vigencia del conductor |
Respuesta de ejemplo:
{1960:{
alias:''
apellidos:'BRAM'
cedula:''
direccion:'KENEDDY'
email:''
fecha_alta:'2017-04-08'
id:'1960'
identificador:'1960'
idgrupo:'0'
idgrupo_conductor:'0'
idvehiculo:'87093'
licencia:'324134'
nombre:'NELSON MAURICION'
nombregrupo:''
nombrevehiculo:'Mazda Amarillo'
numero:''
observaciones:''
patente:'MZD-222'
telefono:'2135937845'
vigencia:'2017-04-08'
}
... : {...}]
createDriver(JSON dataDriver)
Al invocar este método, se esta registrando en base de datos un nuevo conductor, el cual estará disponible para ser asignado a un activo.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
idvehiculo | ID del activo con el que se identifica en el sistema y va a estar asociado el conductor |
idgrupo_conductor |
ID del grupo al que pertenece el conductor |
alias | String del Alias con el que se va a identificar al conductor |
nombre | Nombre del conductor |
apellido | Apellido del conductor |
Correo del conductor | |
telefono | Teléfono del conductor |
licencia | Número de licencia |
direccion | Dirección del conductor |
identificador | String con el identificador que se asocia al conductor |
vigencia | Fecha de vigencia del conductor |
numero |
? |
cedula | Cédula del conductor |
observaciones | Observaciones del conductor |
idgrupo | ID del grupo al que pertenece el conductor |
let dataDriver = {
'idvehiculo':'122903',
'idgrupo_conductor':'143',
'alias':'Alias Conductor test',
'nombre':'Nombre conductor test',
'apellido':'Apellido conductor test',
'email':'correo@server.com',
'telefono':'1111111111',
'licencia':'123456789',
'direccion':'Puebla, Puebla, México',
'identificador':'Prueba Identificador Concductor',
'vigencia':'2025-05-14',
'numero':'0',
'cedula':'0',
'observaciones':'',
'idgrupo':'143'
}
try {
const driver = await _gpsApiv2.createDriver(dataDriver);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:''
status:'200'
}
updateDriver(JSON dataDriver)
Al invocar este método, se esta actualizando la información en base de datos del conductor.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
idvehiculo | ID del activo con el que se identifica en el sistema y va a estar asociado el conductor |
idgrupo_conductor |
ID del grupo al que pertenece el conductor |
alias | String del Alias con el que se va a identificar al conductor |
nombre | Nombre del conductor |
apellido | Apellido del conductor |
Correo del conductor | |
telefono | Teléfono del conductor |
licencia | Número de licencia |
direccion | Dirección del conductor |
identificador | String con el identificador que se asocia al conductor |
vigencia | Fecha de vigencia del conductor |
numero |
? |
cedula | Cédula del conductor |
observaciones | Observaciones del conductor |
idgrupo | ID del grupo al que pertenece el conductor |
let dataDriver = {
'idvehiculo':'122903',
'idgrupo_conductor':'143',
'alias':'Alias Conductor test',
'nombre':'Nombre conductor test',
'apellido':'Apellido conductor test',
'email':'correo@server.com',
'telefono':'1111111111',
'licencia':'123456789',
'direccion':'Puebla, Puebla, México',
'identificador':'Prueba Identificador Concductor',
'vigencia':'2025-05-14',
'numero':'0',
'cedula':'0',
'observaciones':'',
'idgrupo':'143'
}
try {
const driver = await _gpsApiv2.updateDriver(dataDriver);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:''
status:'200'
}
deleteDriver(JSON dataDriver)
Al invocar este método, se esta eliminando un conductor por medio de su ID.
Esta función recibe como parámetro un objeto JSON, en el cual solo se debe llevar el siguiente atributo:
- idCondutor: ID del conductor con el que se identifica en el sistema
let dataDriver = {
'idConductor':'31729'
}
try {
const driver = await _gpsApiv2.deleteDriver(dataDriver);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
setModuleToUser(JSON dataModule)
Al invocar este método, se puede agregar o quitar un módulo a un usuario
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
direccion | Dirección del conductor |
userId
|
Identificador único del usuario en el sistema |
modeuloId
|
Identificador único del módulo dentro del sistema |
active
|
Indica si el módulo está o no disponible para el usuario. Default='1' |
let dataModule = {
'userId':'4220',
'modeuloId':'143',
'active':'1,
}
try {
const module = await _gpsApiv2.setModuleToUser(dataModule);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
getModulesByUser()
Al invocar este método, se obtienen los Módulos asignados a nivel cliente y los Módulos asignados a nivel usuario.
try {
const module = await _gpsApiv2.getModulesByUser();
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- modulesByClient: Módulos asignados a nivel de cliente
- modulesByUser: Módulos asignados a nivel de usuario
Respuesta de ejemplo:
{
modulesByClient:[
{
id:'26'
nombre:'Ruteo'
},{...}
],
modulesByUser:[
{
id:'26'
nombre:'Ruteo'
},{...}
]
}
getRoutes()
Al invocar este método, se obtienen todas las rutas del cliente en formato JSON.
try {
const routes = await _gpsApiv2.getRoutes(dataDriver);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
id | Identificador único de la ruta en el sistema |
nombre |
Nombre con el que se identifica la ruta en el sistema |
distancia | Distancia en metros para considerar que se llegó a un lugar, éste valor aplica para los lugares distLleg=0 |
lugares | Información de los lugares que conforman la ruta |
waypoints | Puntos de referencia entre lugares de la ruta |
puntos | Rutas calculadas a través de la API de Google |
rutas | Geocercas de tipo ruta |
sinoGarmin |
Indica si el dispositivo GPS tiene integrado un sistema con pantalla Garmin |
useRoutePlaces |
Indica si debe usar los puntos de la ruta original o de la ruta programada |
Respuesta de ejemplo:
[0:{
distancia:'50'
id:'12625'
lugares:[
0:{
completado:'0'
distLleg:0
dist_pa:0
fEstimada:''
id:'35028360481231212'
latLng:'19.053808699103097,-98.22219810023466'
nombre:'Mr. Pampas'
orden:'1'
orientacion:'1'
timeBetween:''
tipo:0
tolerancia:0
}, .. : {..}
], .. : [..]
nombre:'Ruta Juárez'
puntos:[
p1-p2:{
0:{lat:19.0537, lng: -98.22231}
1:{lat:19.0537, lng: -98.22231}
2:{lat:19.0537, lng: -98.22231}
.. : {..}
}, p2-p3 : [..], ... , px-py : [..]
],
rutas:[]
sinoGarmin:'./Iconos/Vehiculos/CarIcon.png'
useRoutePlaces:'13953'
waypoints:[
p1-p2:[]
p1-p2:[]
...
px-py:[]
]
}
1: {...}]
getScheduledRoutes()
Al invocar este método, se obtienen todas las rutas programadas que se encuentran en proceso o iniciadas en formato JSON.
try {
const routes = await _gpsApiv2.getScheduledRoutes();
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
id | Identificador único de la ruta de la cual se tomaron los puntos |
idruta |
Identificador único de la ruta de la cual se tomaron los puntos |
equipo | Equipo GPS asignado al activo |
idactivo | Identificador único del activo que está realizando la ruta |
activo | Nombre del activo que está realizando la ruta |
placa | Placa / Patente correspondiente al activo |
icono | Icono asignado al activo para identificarlo en el sistema |
nombre |
Nombre asignado a la ruta programada |
definicion |
Definición de los lugares que conforman la ruta |
fecha_inicio |
Fecha programada de inicio de la ruta |
hora_inicio |
Hora programada de inicio de la ruta |
fecha_fin |
Fecha programada para finalizar la ruta |
hora_fin |
Hora programada para finalizar la ruta |
fecha_completado |
Fecha que se finalizó la ruta |
hora_completado |
Hora en que se finalizó la ruta |
sino_creacion_manual |
1 si se creo de forma manual la ruta y 0 si se creo automaticamente |
Respuesta de ejemplo:
[0:{
activo:'Other Android Device'
comentario:''
definicion:{
distancia:50
lugares:[
0:{
completado:1
conductor:'0'
diferencia:-1
distLleg:50
dist_pa:0
fEstimada:''
id:'35028360481231212'
ignicion:'0'
latLng:'19.053808699103097','-98.22219810023466'
llegada:'2020-12-14 20:20:11'
nombre:'Mr. Pampas'
oclock:1
orden:'1'
orientacion:''
salida:'2020-12-14 20:21:24'
timeBetween:0
tipo:0
tolerancia:0
}
1:{..}
]
puntos:[]
rutas:[]
sinoGarmin:0
useRoutePlaces:0
waypoints:[]
}
equipo:'867050041689974'
estado:'Finalizada'
fecha_completado:'2020-12-14'
fecha_fin:'2020-12-14'
fecha_inicio:'2020-12-14'
hora_completado:'20:27:42'
hora_fin:'21:00:00'
hora_inicio:'20:20:00'
icono:'/commons/svg/iconPersonalizado-12864.php'
id:'1575200'
idactivo:'86966'
idruta:'1575208'
nombre:'Prueba IV'
placa:'XTX-123'
sino_creacion_manual:'1'
1: {...}]
deleteRoute(JSON dataRoute)
Al invocar este método, se esta eliminando una ruta por medio de su ID.
Esta función recibe como parámetro un objeto JSON, en el cual solo se debe llevar el siguiente atributo:
-
idRuta: Identificador único de la ruta en el sistema
let dataRoute = {
'idRuta':'23467'
}
try {
const route = await _gpsApiv2.deleteRoute(dataRoute);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
getPlaces()
Al invocar este método, se obtiene el listado de todos los lugares que pertenecen al usuario o cliente en formato JSON.
try {
const places = await _gpsApiv2.getPlaces();
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
idLugar | Identificador único del lugar en el sistema |
nombre |
Nombre con el que se identificará el lugar en el sistema |
direccion | Dirección en la que se ubica en lugar |
latitud | Latitud correspondiente al lugar que se dará de alta |
longitud | Longitud correspondiente al lugar que se dará de alta |
descripcion | Comentario o descripción breve sobre el lugar |
telefono | Número telefónico o de contacto vinculado al lugar |
Dirección de correo electrónico vinculado al lugar |
|
solo_mi_usuario |
Indica si el lugar solo es visible para el usuario que la genero (1 = Mi usuario, 0 = Todos los usuarios) |
icono |
icono con el que se identificará el lugar en el sistema |
visible |
Indica si el lugar se debe o no mostrar |
Respuesta de ejemplo:
[0:{
descripcion:'',
direccion:'',
email:'',
grupoLugar:'0',
icono:'/images/Lugares/new_574_icono-operaciones-ba.png',
idLugar:'498737',
latitud:'19.0562',
longitud:'-98.230414',
nombre:'Inicio fin de ruta',
solo_mi_usuario:'0',
telefono:'',
visible:1
1: {...}]
deletePlace( JSON dataPlace)
Al invocar este método, se esta eliminando un lugar por medio de su ID.
Esta función recibe como parámetro un objeto JSON, en el cual solo se debe llevar el siguiente atributo:
-
idLugar: Identificador único del lugar en el sistema
let dataPlace = {
'idLugar':'43252'
}
try {
const place = await _gpsApiv2.deletePlace(dataPlace);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
updatePlace(JSON dataPlace)
Al invocar este método, se esta actualizando la información en base de datos de un lugar.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
idLugar
|
Identificador único del lugar en el sistema |
nombre
|
Nombre con el que se identificará el lugar en el sistema |
direccion
|
Dirección en la que se ubica en lugar |
latitud | Latitud correspondiente al lugar que se dará de alta |
longitud | Longitud correspondiente al lugar que se dará de alta |
descripcion | Comentario o descripción breve sobre el lugar |
telefono | Número telefónico o de contacto vinculado al lugar |
Dirección de correo electrónico vinculado al lugar |
|
solo_mi_usuario
|
Indica si el lugar solo es visible para el usuario que la genero (1 = Mi usuario, 0 = Todos los usuarios) |
icono |
icono con el que se identificará el lugar en el sistema |
let dataPlace = {
idLugar:23456,
nombre:'Inicio fin de ruta',
direccion:'',
latitud:'19.0562',
longitud:'-98.230414',
descripcion:'',
telefono:'',
email:'',
solo_mi_usuario:'0',
icono:'/images/Lugares/new_574_icono-operaciones-ba.png',
}
try {
const place = await _gpsApiv2.updatePlace(dataPlace);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
createPlace(JSON dataPlace)
Al invocar este método, se esta registrando en base de datos un nuevo lugar.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
nombre
|
Nombre con el que se identificará el lugar en el sistema |
direccion
|
Dirección en la que se ubica en lugar |
latitud | Latitud correspondiente al lugar que se dará de alta |
longitud | Longitud correspondiente al lugar que se dará de alta |
descripcion | Comentario o descripción breve sobre el lugar |
telefono | Número telefónico o de contacto vinculado al lugar |
Dirección de correo electrónico vinculado al lugar |
|
solo_mi_usuario
|
Indica si el lugar solo es visible para el usuario que la genero (1 = Mi usuario, 0 = Todos los usuarios) |
icono |
icono con el que se identificará el lugar en el sistema |
let dataPlace = {
nombre:'Inicio fin de ruta',
direccion:'',
latitud:'19.0562',
longitud:'-98.230414',
descripcion:'',
telefono:'',
email:'',
solo_mi_usuario:'0',
icono:'/images/Lugares/new_574_icono-operaciones-ba.png',
}
try {
const place = await _gpsApiv2.createPlace(dataPlace);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
getGeofences()
Al invocar este método, se obtiene el listado de geocercas de tipo poligonal (dibujo), lineal (ruta) o circular en formato JSON
try {
const geofences = await _gpsApiv2.getGeofences();
} catch (error) {
console.error(error);
}
Definición de atributos de la respuesta:
Atributos | Definición |
---|---|
idCerca | Identificador único de la geocerca en el sistema |
tipo_cerca | Indica el tipo de geocerca a crear: 1 = Polígono, 2 = Circular, 3 = Lineal/Ruta |
nombre | Nombre con el que se identifica la geocerca dentro de la plataforma |
color | Color con el que se muestra e identifica la geocerca en la plataforma |
puntos | Punto o Puntos que conformarán la geocerca |
radio |
Radio en metros que abarca la geocerca circular |
limite_velocidad | Velocidad máxima (Km/h) permitida en la geocerca |
solo_mi_usuario | Indica si la geocerca solo es visible para el usuario que la generó (1 = mi usuario, 2 = todos los usuarios) |
visible | Indica si la geocerca se debe o no mostrar (1 = mostrar, 0 = ocultar) |
Respuesta de ejemplo:
[0:{
color:'#024769',
idCerca:'108784',
limite_velocidad:'10',
nombre:'Geocerca1',
puntos:[
0:{
lat:'19.12084',
lng:'-98.24436'
}
1:{..}
]
radio:'160',
solo_mi_usuario:0,
tipo_cerca:'2',
visible:'1',
1: {...}]
getAlerts(JSON dataAlert)
Al invocar este método, se obtiene las alertas generadas en la fecha indicada por un equipo o todos los equipos del usuario en formato JSON
Definición de atributos que deben ser incluidos en el objeto JSON que se recibe como parámetro al realizar la solicitud:
Atributos | Definición |
equipo
|
Equipo del cual se requieren las alertas |
fecha
|
FORMATO: aaaa-mm-dd -> Fecha de la cual se desean obtener las alertas |
let dataAlert = {
equipo : 19566,
fecha : '2021-01-12',
};
try {
const alert = await _gpsApiv2.getAlerts(dataAlert);
} catch (error) {
console.error(error);
}
Definición de atributos de la respuesta:
Atributos | Definición |
---|---|
Equipo | Equipo asignado al vehículo que ejecutó la alerta |
Fecha | Fecha en la que la alerta se ejecutó |
Hora | Hora de la alerta (se maneja en formato 24Hrs) |
Descripción | Texto descriptivo de la alerta |
Latitud | Latitud correspondiente al punto en que se originó la alerta |
Longitud | Longitud correspondiente al punto en que se originó la alerta |
Domicilio | Dirección correspondiente a la latitud y longitud reportada por el equipo |
Respuesta de ejemplo:
[0:{
Equipo:'19566'
Fecha:'2021-01-12'
Hora:'13:51:27'
Descripcion:'Unidad POP-1234 Genero EXCESO DE VEOLCIDAD (144 Km/h) el 2021/01/12 13:51:27'
Latitud:19.045996375951226
Longitud:'-98.22521173957284'
Domicilio:Avenida 25 Poniente 2902, Santa Cruz Los Angeles, 72400 Heróica Puebla de Zaragosa
}]
deleteGeofence(JSON dataGeofence)
Al invocar este método, se esta eliminando una Geocerca por medio de su ID.
Esta función recibe como parámetro un objeto JSON, en el cual solo se debe llevar el siguiente atributo:
-
idCerca: Identificador único de la ruta en el sistema
let dataGeofence = {
'idCerca':'23467'
}
try {
const geofence = await _gpsApiv2.deleteGeofence(dataGeofence);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
updateGeofence(JSON dataGeofence)
Al invocar este método, se esta actualizando la información en base de datos de una geocerca, ya sea: nombre, color, puntos, etc.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
idCerca
|
Identificador único de la geocerca en el sistema |
nombre
|
Nombre con el que se identifica la geocerca dentro de la plataforma |
puntos
|
JSON -> Punto o puntos que conformarán la geocerca |
color
|
Color con el que se muestra e identifica la geocerca en la plataforma (DEFAULT: '#dc3545') |
visible
|
Indica si la geocerca se debe o no mostrar (1 = mostrar [DEFAULT], 0 = ocultar) |
radio
|
Radio en metros que abarca la geocerca circular (DEFAULT: 80) |
limite_velocidad
|
Velocidad máxima (Km/h) permitida en la geocerca |
solo_mi_usuario
|
Indica si la geocerca solo es visible para el usuario que la generó (1 = mi usuario, 0 = todos los usuarios -> [DEFAULT]) |
let dataGeofence = {
idCerca:15148,
nombre:'prueba',
puntos:[
{
'lat':-12.087574155453476,
'lng':-77.0839606225490
}
,{..}
],
color:'#0000FF',
visible:'1',
radio:'0',
limite_velocidad:'50',
solo_mi_usuario:'0'
}
try {
const geofences = await _gpsApiv2.updateGeofences(dataGeofence);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
createGeofence(JSON dataGeofence)
Al invocar este método, se esta registrando en base de datos una nueva geocerca.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
nombre
|
Nombre con el que se identifica la geocerca dentro de la plataforma |
puntos
|
JSON -> Punto o puntos que conformarán la geocerca |
tipo_cerca
|
ID del tipo de la geocerca. |
color
|
Color con el que se muestra e identifica la geocerca en la plataforma (DEFAULT: '#dc3545') |
radio
|
Radio en metros que abarca la geocerca circular (DEFAULT: 80) |
limite_velocidad
|
Velocidad máxima (Km/h) permitida en la geocerca |
solo_mi_usuario
|
Indica si la geocerca solo es visible para el usuario que la generó (1 = mi usuario, 0 = todos los usuarios -> [DEFAULT]) |
let dataGeofence = {
nombre:'prueba',
puntos:[
{
'lat':-12.087574155453476,
'lng':-77.0839606225490
}
,{..}
],
tipo_cerca:'1',
color:'#0000FF',
visible:'1',
radio:'80',
limite_velocidad:'50',
solo_mi_usuario:'0'
}
try {
const geofences = await _gpsApiv2.createGeofences(dataGeofence);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
getOdometer(JSON dataOdometer)
Al invocar este método, se obtiene la información el odómetro de un activo en una fecha determinada.
Definición de atributos que deben ser incluidos en el objeto JSON que se recibe como parámetro al realizar la solicitud:
Atributos | Definición |
equipo
|
ID del equipo |
fecha
|
FORMATO: aaaa-mm-dd -> Fecha en la que se calculará el odómetro del activo |
odometro_gps
|
(1 ó 0) Indica si se debe devolver el odómetro reportado por el GPS o el calculado por la plataforma |
let dataOdometer = {
equipo : 19567,
fecha : '2021-01-12',
odometro_gps : '0',
};
try {
const odometer = await _gpsApiv2.getOdometer(dataOdometer);
} catch (error) {
console.error(error);
}
Definición de atributos de la respuesta:
Atributos | Definición |
---|---|
fecha | Fecha a la que pertenece el odómetro |
kilometros | Distancia recorrida por el activo en la fecha indicada |
odometro | Odómetro del activo a la fecha consultada |
horas | Horas de uso de motor correspondientes a la fecha |
Respuesta de ejemplo:
[0:{
19566:{
fecha:'2021-01-12'
kilometros:'79.89'
odometro:'70,235.98'
horas:'0.00
}
}]
getHistory(JSON dataHistory)
Al invocar este método, se obtiene el detalle completo de eventos históricos de un equipo dado, en un rango de fechas, la información se retorna en formato JSON
Definición de atributos que deben ser incluidos en el objeto JSON que se recibe como parámetro al realizar la solicitud:
Atributos | Definición |
equipo
|
IMEI o Identificador único del dispositivo configurado en la plataforma |
fechaIni
|
Fecha inicial de los datos: 'aaaa-mm-dd hh:mm:ss' |
fechaFin
|
Fecha final de los datos: 'aaaa-mm-dd hh:mm:ss' |
format
|
Formato de las fechas a pocesar, por default
'DateTime'
|
let dataAlert = {
equipo : '356486080930374',
fechaIni : '2021-01-12 00:00:00',
fechaFin : '2021-01-12 23:59:59',
format : 'DateTime',
};
try {
const history = await _gpsApiv2.getHistory(dataHistory);
} catch (error) {
console.error(error);
}
Definición de atributos de la respuesta:
Atributos | Definición |
---|---|
equipo | Número de serie o IMEI que permite identificar el dispositivo |
latitud | Latitud de la posición del vehículo |
longitud | Longitud de la posición del vehículo |
iporigen | IP de origen de reporte del equipo GPS |
puerto | Puerto de origen de reporte del equipo GPS |
idstatus | Status de la información que reportó el equipo: 1 = Información actual, 2 = Información a futuro |
gmt | Fecha hora de la posición del vehículo |
fecha_reporte | Fecha hora de la posición del vehículo |
idevento | Identificador del evento que reportó el equipo GPS |
nombre_evento | Nombre del evento que reportó el equipo GPS |
velocidad | Velocidad en km/h que detecta el equipo GPS |
orientacion | Orientación en grados en la que reportó el equipo GPS |
serial | Señal GSM del equipo GPS |
satelites | Cantidad de satélites |
inputs | Estados de cada entrada del equipo, 0 = D |
combustible | Porcentaje (%) del nivel de combustible del sensor 1 |
consumocomb | Litros (lts) del consumo anterior de combustible del sensor 1 |
listroscomb | Litros (lts) del nivel de combustible del sensor 1 |
combustible2 | Porcentaje (%) del nivel de combustible del sensor 2 |
consumocomb2 | Litros (lts) del consumo anterior de combustible del sensor 2 |
litroscomb2 | Litros (lts) del nivel de combustible del sensor 2. |
voltajecomb | Voltaje (v), que envía la entrada análoga del equipo GPS. |
cuadalimetro | Medición del caudal. |
odometro | Metros (mts) que ha recorrido el vehículo, detectado por el GPS. |
bateria_gps | Porcentaje o voltaje del nivel de la batería interna del GPS |
bateria_veh | Voltaje (v) de la batería del vehículo. |
temperatura | Grados (°) del primer sensor de temperatura |
temperatura2 | Grados (°) del segundo sensor de temperatura |
ignicion | Status Ignición: 0 = OFF, 1 = ON, 2 = Desconocida |
idConductor | Id del conductor autentificado |
de_buffer | Status del tipo de reporte |
contador_pasajeros | Cantidad de pasajeros, Sensor de contador de pasajeros. |
OBD_rpm_motor | Revoluciones por minuto del motor, OBDII. |
OBD_carga_motor | Porcentaje de la carga de motor, OBDII |
OBD_temperatura_anticong | Grados de la temperatura de anticongelante, OBDII. |
OBD_posicion_aclerador | Porcentaje de la posición del acelerador, OBDII. |
datos_extras | Valores que son obtenidos del protocolo OBDII |
grupo | Grupo al que pertenece el vehículo. |
conductor | Conductor asociado al vehículo. |
patente | Placa / patente del activo |
activo | Nombre con el que se identifica el vehículo dentro de la plataforma. |
Respuesta de ejemplo:
[0:{
'equipo':'356486080930374',
'latitud':'18.983685420160437',
'longitud':'-98.22891569128842',
'iporigen':'',
'puerto':'',
'idstatus':'1',
'gmt':'0',
'fecha_reporte':'20190612120236',
'idevento':'1',
'velocidad':'75',
'orientacion':'90',
'senal':'5',
'satelites':'1',
'inputs':'',
'combustible':'-1',
'consumocomb':'-1',
'litroscomb':'-1',
'combustible2':'-1',
'consumocomb2':'-1',
'litroscomb2':'-1',
'voltageomb':'-1',
'caudalietro':'-1',
'odometro':'-1',
'odometro_veh':'0',
'bateria_gps':'100',
'bateria_veh':'12',
'temperatura':'-1',
'temperatura2':'-1',
'ignicion':'2',
'idconductor':'0',
'domicilio':'Carretera Federal 190, Ampliación Arboledas de Loma Bella, Heróica Puebla deZaragoza, Pue., México',
'de_buffer':'0',
'contador_pasajeros':'-1',
'obd_rpm_motor':'481',
'obd_carga_motor':'29',
'obd_temperatura_anticong':'16',
'obd_posicion_acelerador':'70',
'datos_extras':'{
'obd_fuel_level':'58'
'obd_engine_speed':'677'
'obd_total_engine_hours':'559'
'obd_engine_temperatura':'434'
'obd_vehicle_speed':'79'
'obd_driving_time':'65'
'obd_engine_percent_load':'79'
'time_stamp_insert':'20190612170203'
}',
'grupo':'Reportes',
'conductor':'Pablo Calvo',
'patente':'POP-1234',
'activo':'Polo',
}]
getAllAssets()
Al invocar este método, se obtienen todos los activos del usuario con sus atributos correspondientes.
Ejemplo de solicitud en JS:
try {
const assets = await _gpsApiv2.getAllAssets();
} catch (error) {
console.error(error);
}
Definición de atributos de la respuesta:
Atributos | Definición |
---|---|
anio | Año del Activo |
color | Color del Activo |
conductor | Nombre del Conductor del Activo |
file_foto | Dirección donde se aloja la imagen del activo |
gatewayip | ? |
grupo | Grupo al que pertenece el Activo |
icono_vehiculo | Icono que identifica al Activo |
id | ID que hace referencia al Activo en el sistema |
idconductor | ID que hace referencia al Conductor en el sistema |
idequipo_gps | ID que hace referencia al Equipo GPS en el sistema |
idgps | ID que hace referencia al GPS en el sistema |
idgrupo_vehiculo | ID que hace referencia al Grupo que pertenece el Activo en el sistema |
idmarca_vehiculo | ID que hace referencia a la Marca del Activo en el sistema |
idtipo_vehiculo | ID que hace referencia al Tipo de Activo en el sistema |
ignorar_equipo | ? |
marca | Nombre de la Marca del Activo |
modelo | Nombre del Modelo del Activo |
nombre | Nombre del Activo |
num_economico | Identificador Interno de la empresa del cliente |
numero_serie | N° Serie del Activo |
patente | código de la patente/placa |
tipo_vehiculo |
Tipo del Activo |
Respuesta de ejemplo:
[0:{
anio:'2015'
color:''
conductor:''
file_foto:''
gatewayip:null
grupo:null
icono_vehiculo:'./Iconos/Vehiculos/CarIcon.png'
id:'13953'
idconductor:'0'
idequipo_gps:'0'
idgps:null
idgrupo_vehiculo:'0'
idmarca_vehiculo:'0'
idtipo_vehiculo:'0'
ignorar_equipo:null
marca:null
modelo:'Lancer'
nombre:'Lancer'
num_economico:'rd23'
numero_serie:'1234567890'
patente:'POP-1234'
tipo_vehiculo:null
}
1: {...}]
vehicleGetAll()
Se recuperan todos los activos del usuario con sus atributos correspondientes.
Ejemplo de solicitud en JS:
try {
const vehicles = await _gpsApiv2.vehicleGetAll({});
} catch (error) {
console.error(error);
}
Definición de atributos de la respuesta:
Atributos | Definición |
---|---|
anio | Año del Activo |
color | Color del Activo |
conductor | Nombre del Conductor del Activo |
file_foto | Dirección donde se aloja la imagen del activo |
gatewayip | ? |
grupo | Grupo al que pertenece el Activo |
icono_vehiculo | Icono que identifica al Activo |
id | ID que hace referencia al Activo en el sistema |
idconductor | ID que hace referencia al Conductor en el sistema |
idequipo_gps | ID que hace referencia al Equipo GPS en el sistema |
idgps | ID que hace referencia al GPS en el sistema |
idgrupo_vehiculo | ID que hace referencia al Grupo que pertenece el Activo en el sistema |
idmarca_vehiculo | ID que hace referencia a la Marca del Activo en el sistema |
idtipo_vehiculo | ID que hace referencia al Tipo de Activo en el sistema |
ignorar_equipo | ? |
marca | Nombre de la Marca del Activo |
modelo | Nombre del Modelo del Activo |
nombre | Nombre del Activo |
num_economico | Identificador Interno de la empresa del cliente |
numero_serie | N° Serie del Activo |
patente | código de la patente/placa |
tipo_vehiculo |
Tipo del Activo |
Respuesta de ejemplo:
[0:{
anio:'2015'
color:''
conductor:''
file_foto:''
gatewayip:null
grupo:null
icono_vehiculo:'./Iconos/Vehiculos/CarIcon.png'
id:'13953'
idconductor:'0'
idequipo_gps:'0'
idgps:null
idgrupo_vehiculo:'0'
idmarca_vehiculo:'0'
idtipo_vehiculo:'0'
ignorar_equipo:null
marca:null
modelo:'Lancer'
nombre:'Lancer'
num_economico:'rd23'
numero_serie:'1234567890'
patente:'POP-1234'
tipo_vehiculo:null
}
1: {...}]
getAssetsLastReport()
Este método devuelve un array de datos con la última información o reporte enviado por las unidades de rastreo asignadas al usuario autentificado
Ejemplo de solicitud en JS:
try {
const assets = await _gpsApiv2.getAssetsLastReport();
} catch (error) {
console.error(error);
}
Definición de atributos de la respuesta:
Atributos | Definición |
---|---|
UnitId | Valor por el que es identificada la unidad o vehículo |
UnitPlate | Se refiere a la placa/patente del vehículo |
GpsIdentif | Número de serie o IMEI que permite identificar el dispositivo de rastreo |
ReportDate | Fecha/hora de la posición |
Latitude | Latitud de la posición del vehículo |
Longitude | Longitud de la posición del vehículo |
Altitude | Altitud de la posición del vehículo |
GpsSpeed | Velocidad del vehículo |
Direction | Orientación del vehículo, Norte, Sur, Este, etc. |
Satellites | Número de satélites con Fix de la posición |
Ignition | Status Ignición: 0 = OFF, 1 = ON, 2 = Desconocida |
Odometer | Odómetro del vehículo en la posición |
Domicilio | Dirección correspondiente a la latitud y longitud reportada por el equipo. |
Puerto | Puerto de origen de reporte del equipo GPS |
IpOrigen | Ip de origen de reporte del equipo GPS |
BateriaGps | Nivel de voltaje o porcentaje del equipo GPS |
BateriaVeh | Nivel de voltaje de la fuente conectada al GPS. |
Inputs | Estados de cada entrada del equipo, 0 = Desactivada, 1 = Activada. |
Sensores | Json de datos de los sensores |
Grupo | Nombre del grupo al que pertenece el vehículo. |
Conductor |
Nombre del conductor asociado al vehículo. |
Respuesta de ejemplo:
[0:{
Altitude:0,
BateriaGps:'100',
BateriaVeh:'12',
Conductor:'',
Direction:'SE',
Domicilio:'Calle 25 sur 304, Puebal, Pue.',
GpsIdentif:'867050041689974',
GpsSpeed:'0',
Grupo:'Grupo Norte',
IdEvento:'4',
Ignition:'0',
Inputs:'0|0|0|0',
IpOrigen:'0.0.0.0',
Latitude:'19.051256805041916',
Longitude:'-98.21835322583925',
Odometer:0,
Puerto:'-1',
ReportDate:'2020-12-16 13:17:32',
Satellites:'9',
Sensores:'{
'82':{'Bateria_gps':{'nombre':'Bateria_gps','valor':'null','fecha':'2020-12-16 13:17:32','p':'100'}},
'83':{'Bateria_veh':{'nombre':'Bateria_veh','valor':'null','fecha':'2020-12-16 13:17:32','p':'12'}}
}'
UnitId:'Original Android',
UnitPLate:'XTX-123',
}]
loginByToken(String token)
Método de inicio de sesión con token.
Parámetro:
- token: si se posee el token se puede enviar como método de inicio de sesión y obtener el API KEY para uso del sistema
Ejemplo de solicitud en JS:
const dataLogin = _gpsApiv2.loginByToken(token);
Definición de atributos:
- data: Información de la Solicitud
- status: Código Status de la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:''
status:'200'
}
reconnect(String user, String password, String apiKey)
Función encargada de volver a logear al usuario en el sistema y obtener el token para poder realizar peticiones.
A continuación se describen los parámetros que se envían en la solicitud de la función:
Atributos | Definición |
---|---|
username | Un usuario autorizado para usar el servicio por parte del cliente y debe estar definido previamente en RedGPS. |
paswword |
Contraseña |
apikey | Llave de autorización para uso de los servicios web de RedGPS. |
Ejemplo de solicitud en JS:
const dataLogin = _gpsApiv2.reconnect(user,password,apiKey);
connect(String user, String password, String apiKey)
Para obtener acceso a las aplicaciones y herramientas, los clientes deben solicitar a través del servicio una llave (Token) de autenticación que le permitirá hacer uso de los servicios durante un periodo de tiempo, de forma dinámica cuando caduque ese token, se obtendrá uno nuevo permitiendo usuario seguir utilizando las herramientas.
Para que la regeneración del token sea de forma automática, se debe tener a la variable "regenerarToken" en valor "FALSE"
Nota: por daful en el construnctor de la clase el valor es "FALSE".
_gpsApiv2.regenerarToken = false;
Si se colocara el valor "TRUE", el token estará caducando cada tiempo determinado y este no se regenerara, lo cual conlleva a que el usuario no podrá hacer uso de las funciones de la api hasta obtener un nuevo token.
A continuación se describen los parámetros que se envían en la solicitud de la función:
Atributos | Definición |
---|---|
username | Un usuario autorizado para usar el servicio por parte del cliente y debe estar definido previamente en RedGPS. |
paswword |
Contraseña |
apikey | Llave de autorización para uso de los servicios web de RedGPS. |
Ejemplo de solicitud en JS:
_gpsApiv2.connect(user,password,apiKey);
getAllAssetsOndelivery()
Al invocar este método, se obtiene todos los activos de onDelivery con sus atributos correspondientes en formato JSON.
Ejemplo de solicitud en JS:
try {
const assets = await _gpsApiv2.getAllAssetsOndelivery({});
} catch (error) {
console.error(error);
}
Definición de atributos de la respuesta:
Atributos | Definición |
---|---|
anio | Año del Activo |
cantidad |
Cantidad del activo |
color | Color del Activo |
conductor | Nombre del Conductor del Activo |
file_foto | Dirección donde se aloja la imagen del activo |
gatewayip | ? |
grupo | Grupo al que pertenece el Activo |
icono_vehiculo | Icono que identifica al Activo |
id | ID que hace referencia al Activo en el sistema |
idconductor | ID que hace referencia al Conductor en el sistema |
idequipo_gps | ID que hace referencia al Equipo GPS en el sistema |
idgps | ID que hace referencia al GPS en el sistema |
idgrupo_vehiculo | ID que hace referencia al Grupo que pertenece el Activo en el sistema |
idmarca_vehiculo | ID que hace referencia a la Marca del Activo en el sistema |
idopciones |
ID de las opciones con las que cuenta el activo |
idtipo_vehiculo | ID que hace referencia al Tipo de Activo en el sistema |
ignorar_equipo | ? |
latitud_salida | coordenada del activo |
longitud_salida | coordenada del activo |
lugar_salida |
? |
marca | Nombre de la Marca del Activo |
modelo | Nombre del Modelo del Activo |
nombre | Nombre del Activo |
num_economico | Identificador Interno de la empresa del cliente |
numero_serie | N° Serie del Activo |
patente | código de la patente/placa |
peso_maximo | Peso máximode carga del activo |
tipo_lugar_salida | Tipo de ruta permitida |
tipo_vehiculo |
Tipo del Activo |
volumen_maximo | Volúmen maximo de capacidad del activo |
Respuesta de ejemplo:
[0:{
anio:'2015'
cantidad:null
color:''
conductor:'Juan Antonio Fuentes'
file_foto:'https://plataforma.service24gps.com/vehimages/15822/_xsFILE_Foto.jpg?1610658892'
gatewayip:'107.170.254.11'
grupo:'Grupo NOrte'
icono_vehiculo:'./Iconos/Vehiculos/CarIcon.png'
id:'13953'
idconductor:'0'
idequipo_gps:'0'
idgps:null
idgrupo_vehiculo:'0'
idmarca_vehiculo:'0'
idopciones:'3'
idtipo_vehiculo:'0'
ignorar_equipo:null
latitud_salida:''
longitud_salida:''
lugar_salida:'74494'
marca:'Volkswagen'
modelo:'Lancer'
nombre:'Lancer'
num_economico:'rd23'
numero_serie:'1234567890'
patente:'POP-1234'
peso_maximo:'99.99'
tipo_lugar_salida:'GEOCERCA'
tipo_vehiculo:''
volumen_maximo:'99.99'
},{...}]
getAllProducts()
Al invocar este método, se obtienen todos los productos de onDelivery en formato JSON.
try {
const products = await _gpsApiv2.getAllProducts();
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
codigo_producto | Código con el que se identifica el producto |
costo |
Costo del producto |
descripcion | Descripción del producto |
estado | Estatus en el que se encuentra el producto |
id | ID del producto con el que se identifica en el sistema |
idcliente_distribuidor | ID del distribuidor con el que se identifica en el sistema |
idcliente_sistema | ID del cliente con el que se identifica en el sistema |
idmoneda |
ID del tipo de moneda con el que se identifica en el sistema |
idtipo_activo_producto_od |
ID del activo con el que se identifica en el sistema |
impuesto |
Impuesto del producto |
nombre |
Nombre del producto |
nombre_moneda |
Acrónimo de la moneda utilizada para el producto |
peso |
Peso (unidad de masa) del producto |
unidad_peso |
Tipo de unidad del peso |
unidad_volumen |
Tipo de unidad del volumen |
valor_unidad_peso |
Valor de la unidad de peso |
valor_unidad_volumen |
Valor de la unidad de volumen |
volumen |
Volumen (unidad de medida) del producto |
Respuesta de ejemplo:
{
error_desc:undefined
status:'ok'
message:'['
0:{
codigo_producto:null
costo:'62'
descripcion:'Este es el primer producto'
estado:'1'
id:'1'
idcliente_distribuidor:'4220'
idcliente_sistema:'4221'
idmoneda:'4'
idtipo_activo_producto_od:null
impuesto:'9.92'
nombre:'Mi producto 1.1'
nombre_moneda:'COP'
peso:'99.99'
unidad_peso:'0'
unidad_volumen:'0'
valor_unidad_peso:null
valor_unidad_volumen:null
volumen:'30.00'
},{..}
]
}
createProduct(JSON dataProduct)
Al invocar este método, se esta registrando en base de datos un producto nuevo para uso de onDelivery.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
nombre | Nombre del producto |
descripcion |
Descripción del producto |
costo | Costo del producto |
peso | Peso del producto |
unidad_peso | ID que identifica la unidad de peso en el sistema |
volumen | Volumen del pedido |
unidad_volumen | ID que identifica la unidad de volumen en el sistema |
codigo_producto | String del codigo de barras para generarlo |
idtipo_activo_producto_od | ID de tipo de activo asociado al producto en onDelivery |
let dataProduct = {
'nombre':'Producto prueba 2',
'descripcion':'descripción de producto de prueba 2',
'costo':'200',
'peso':'10',
'unidad_peso':'166',
'volumen':'20',
'unidad_volumen':'155',
'codigo_producto':'aquivalosnumerosparaelcodbarras2',
'idtipo_activo_producto_od':'5'
}
try {
const product = await _gpsApiv2.createProduct(dataProduct);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
editProduct(JSON dataProduct)
Al invocar este método, se editan los atributos de un producto de onDelivery.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
nombre | Nombre del producto |
descripcion |
Descripción del producto |
costo | Costo del producto |
peso | Peso del producto |
unidad_peso | ID que identifica la unidad de peso en el sistema |
volumen | Volumen del pedido |
unidad_volumen | ID que identifica la unidad de volumen en el sistema |
codigo_producto | String del codigo de barras para generarlo |
idtipo_activo_producto_od | ID de tipo de activo asociado al producto en onDelivery |
idproducto | ID del producto seleccionado y con el que se identifica en el sistema |
let dataProduct = {
'nombre':'Producto prueba',
'descripcion':'descripción de producto de prueba',
'costo':'200',
'peso':'10',
'unidad_peso':'166',
'volumen':'20',
'unidad_volumen':'155',
'codigo_producto':'aquivalosnumerosparaelcodbarras2',
'idtipo_activo_producto_od':'5',
'idproducto':'49'
}
try {
const product = await _gpsApiv2.editProduct(dataProduct);
} catch (error) {
console.error(error);
}
Para eliminar un producto se usa esta misma función.
Se debe enviar un objeto JSON como parámetro con los siguientes atributos:
- estado: Es el estado en que se encuentra el producto, 0 es que esta inactivo y 1 activo .
- idproducto: ID del producto seleccionado y con el que se identifica en el sistema
let dataProduct = {
'estado':'0',
'idproducto':'49'
}
try {
const product = await _gpsApiv2.editProduct(dataProduct);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
checkProductAvailability(JSON dataProduct)
Al invocar este método, valida la disponibilidad de productos en inventario de onDelivery
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
products | JSON con los productos a consultar la disponibilidad |
idProducto_od |
ID del producto registrado en el sistema de OnDelivery |
cantidad | Cantidad de productos a consultar |
let dataProduct = {
products:
[
{
'idproducto_od':'1',
'cantidad':'1'
}
]
}
try {
const product = await _gpsApiv2.checkProductAvailability(dataProduct);
} catch (error) {
console.error(error);
}
Definición de los atributos de respuesta:
Atributos | Definición |
---|---|
existencia | Número de productos restantes en existencia |
faltan |
Número de equipos faltantes |
pasa | Bandera booleana indicando si sobrepasa las existencias |
solicitados |
Número de productos solicitados |
Respuesta de ejemplo:
{
status:'200',
data:'['
1:{
existencia:1,
faltan:0,
pasa:false,
solicitados:1,
},{..}
]
}
getAllWareHouse()
Al invocar este método, se obtienen todos los almacenes registrados para onDelivery en formato JSON.
try {
const wareHouse = await _gpsApiv2.getAllWareHouse();
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
calle | Calle de la ubicación del almacén |
ciudad |
Ciudad donde se encuentra el almacén |
cp | Código Postal de donde se encuentra el almacén |
descripcion | Descripción del almacén |
estado | Estatus del almacén en el sistema |
id | ID del almacén con el que se identifica en el sistema |
idcliente_distribuidor | ID del distribuidor con el que se identifica en el sistema |
idcliente_sistema |
ID del cliente con el que se identifica en el sistema |
idpais |
ID del país con el que se identifica en el sistema |
idprovincia |
ID de la provincia con el que se identifica en el sistema |
idvehiculo |
ID del activo con el que se identifica en el sistema |
latitud |
coordenada del almacén |
longitud |
coordenada del almacén |
nombre |
Nombre del almacén |
numero_ext |
Número exterior de donde se ubica el almacén |
numero_int |
Número interior de donde se ubica el almacén |
Respuesta de ejemplo:
{
error_desc:undefined
status:'ok'
message:'['
0:{
calle:'Av. Independencia'
ciudad:''
cp:'74270'
descripcion:'Camión refrigerado'
estado:'1'
id:'9'
idcliente_distribuidor:'4220'
idcliente_sistema:'4221'
idpais:'0'
idprovincia:'0'
idvehiculo:'15822'
latitud:''
longitud:''
nombre:'Original Android ... (XTX-123)'
numero_ext:'2109'
numero_int:''
},{..}
]
}
createWareHouse(JSON dataWareHouse)
Al invocar este método, se esta registrando en base de datos un nuevo almacén para uso de onDelivery, esta función tiene 2 usos, se puede usar para crear un Almacén normal ó crear un Almacén del tipo 'Activo'un producto nuevo para uso de onDelivery.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos |
Definición |
nombre | Nombre del almacén |
idvehiculo |
ID del activo con el que se va a asociar el nuevo almacén |
descripcion | Descripción del nuevo almacén |
latitud | Latitud de la ubicación del nuevo almacén |
longitud | Longitud de la ubicación del nuevo almacén |
idpais | ID del país con el que se identifica en el sistema |
idprovincia | ID que identifica la provincia en el sistema |
ciudad | Nombre de la ciudad asociada al nuevo almacén |
calle | Nombre de la calle asociada al nuevo almacén |
numero_ext |
Número exterior asociado a la ubicación del nuevo almacén |
numero_int | Número interior asociado a la ubicación del nuevo almacén |
cp | Código Postal asociado a la nueva ubicación del nuevo almacén |
let dataWareHouse = {
'nombre':'Prueba de creación de almacen'
'idvehiculo':''
'descripcion':'0'
'latitud':'19.043804'
'longitud':'-98.198031'
'idpais':'2'
'idprovincia':'21'
'ciudad':'Puebla'
'calle':'Reforma'
'numero_ext':'0'
'numero_int':''
'cp':'72000'
}
let dataWareHouse = {
'nombre':'Prueba de creación de almacen'
'idvehiculo':'122903'
'descripcion':'0'
'latitud':'19.043804'
'longitud':'-98.198031'
'idpais':'2'
'idprovincia':'21'
'ciudad':'Puebla'
'calle':'Reforma'
'numero_ext':'0'
'numero_int':''
'cp':'72000'
}
try {
const wareHouse = await _gpsApiv2.createWareHouse(dataWareHouse);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
editWareHouse(JSON dataWareHouse)
Al invocar este método, se editara un almacén en el sistema para uso de onDelivery.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos |
Definición |
nombre | Nombre del almacén |
idvehiculo |
ID del activo con el que se va a asociar el nuevo almacén |
descripcion | Descripción del nuevo almacén |
latitud | Latitud de la ubicación del nuevo almacén |
longitud | Longitud de la ubicación del nuevo almacén |
idpais | ID del país con el que se identifica en el sistema |
idprovincia | ID que identifica la provincia en el sistema |
ciudad | Nombre de la ciudad asociada al nuevo almacén |
calle | Nombre de la calle asociada al nuevo almacén |
numero_ext |
Número exterior asociado a la ubicación del nuevo almacén |
numero_int | Número interior asociado a la ubicación del nuevo almacén |
cp | Código Postal asociado a la nueva ubicación del nuevo almacén |
idalmacen |
ID del almacén seleccionado y con el que se identifica en el sistema |
let dataWareHouse = {
'nombre':'Prueba de creación de almacen'
'idvehiculo':''
'descripcion':'0'
'latitud':'19.043804'
'longitud':'-98.198031'
'idpais':'2'
'idprovincia':'21'
'ciudad':'Puebla'
'calle':'Reforma'
'numero_ext':'0'
'numero_int':''
'cp':'72000',
'idalmacen':'37'
}
let dataWareHouse = {
'nombre':'Prueba de creación de almacen'
'idvehiculo':'122903'
'descripcion':'0'
'latitud':'19.043804'
'longitud':'-98.198031'
'idpais':'2'
'idprovincia':'21'
'ciudad':'Puebla'
'calle':'Reforma'
'numero_ext':'0'
'numero_int':''
'cp':'72000',
'idalmacen':'37'
}
try {
const wareHouse = await _gpsApiv2.editWareHouse(dataWareHouse);
} catch (error) {
console.error(error);
}
Para eliminar un producto se usa esta misma función.
Se debe enviar un objeto JSON como parámetro con los siguientes atributos:
- estado: Es el estado en que se encuentra el producto, 0 es que esta inactivo y 1 activo .
- idproducto: ID del producto seleccionado y con el que se identifica en el sistema
let dataProduct = {
'estado':'0',
'idalmacen':'37'
}
try {
const wareHouse = await _gpsApiv2.editWareHouse(dataWareHouse);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
getAllZones()
Al invocar este método, se obtienen todas las zonas que se tienen registradas en el sistema para onDelivery en formato JSON.
try {
const zones = await _gpsApiv2.getAllZones();
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
almacen | Nombre del almacén |
descripcion |
Descripción del almacén |
id | ID con el que se identifica la zona en el sistema |
idalmacen | ID con el que se identifica el almacén en el sistema |
nombre | Nombre de la zona |
Respuesta de ejemplo:
{
error_desc:undefined
status:'ok'
message:'['
0:{
almacen:'Prueba almacén'
descripcion:'Abarrotes'
id:'8'
idalmacen:'8'
nombre:'A1'
},{..}
]
}
getAllInventories()
Al invocar este método, se obtienen todos todos los inventarios de cada zona en formato JSON.
try {
const inventories = await _gpsApiv2.getAllInventories();
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
cantidad | Cantidad de Productos en inventario |
estado |
Estatus del inventario en el sistema |
id | ID del inventario en el sistema |
idalmacen_od | ID del almacén en el sistema |
idcliente_distribuidor | ID del distribuidor en el sistema |
idcliente_sistema | ID del cliente en el sistema |
idmoneda | ID de la moneda en el sistema |
idproducto |
ID del producto en el sistema |
idproducto_od |
ID del producto OD en el sistema |
idzona_od |
ID de la zona OD en el sistema |
impuesto |
Total del impuesto del inventario |
nombre_almacen |
Nombre del almacén |
nombre_moneda |
Nombre del producto |
nombre_producto |
Nombre del almacén |
nombre_zona |
Nombre de la zona |
subtotal |
Subtotal de los productos en inventario |
timestamp |
Última fecha de modificación del inventario |
total |
Costo total de los productos en inventario |
Respuesta de ejemplo:
{
error_desc:undefined
status:'ok',
message:'['
0:{
cantidad:'297',
estado:'1',
id:'16',
idalmacen_od:'0',
idcliente_distribuidor:'4220',
idcliente_sistema:'4221',
idmoneda:'4',
idproducto:'3',
idproducto_od:'3',
idzona_od:'9',
impuesto:'9504',
nombre_almacen:null,
nombre_moneda:'COP',
nombre_producto:'Mi Producto 3',
nombre_zona:'Caja refrigerada',
subtotal:'59400',
timestamp:'2020-08-21 09:11:02',
total:'68904',
},{..}
]
}
getInventoryMovements(JSON dataInventoryMov)
Al invocar este método, se obtienen todos los todos los movimientos de un inventario en formato JSON.
- idinventario: ID del inventario con el que se identifica en el sistema
Ejemplo de JSON:
let dataInventoryMov = {
'idinventario':48
}
try {
const inventory = await _gpsApiv2.getInventoryMovements(dataInventoryMov);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
cantidad | Cantidad de productos en el inventario |
codigo_rastreo |
Código de rastreo del producto |
fecha_realizado | Fecha en que se realizo el inventario |
idpedido_od | ID del pedido asociado al sistema OnDelivery |
impuesto | Monto total del impuesto de todos los productos del inventario |
moneda | Acrónimo de la moneda utilizada para los productos |
numero_pedido | Número de pedido del producto |
producto |
Producto que existe en el inventario |
subtotal |
Subtotal de todos los productos en el inventario |
tipo_movimiento |
String del tipo de movimiento que se realizo al inventario |
total |
Total de todos los productos en el inventario |
usuario |
Usuario que realizo un movimiento en el inventario |
Respuesta de ejemplo:
{
status:'200'
data:'['
0:{
cantidad:'100000',
codigo_rastreo:'',
fecha_realizado:'2020-10-23 19:15:19',
idpedido_od:'0',
impuesto:'3200000',
moneda:'MXN',
numero_pedido:'',
producto:'Mi Prodducto 3',
subtotal:'20000000',
tipo_movimiento:'ENTRADA',
total:'23200000',
usuario:'DEMO Segura Co',
},{..}
]
}
createInventory(JSON dataInventory)
Al invocar este método, se esta registrando en base de datos un nuevo inventario para uso de onDelivery
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos |
Definición |
idzona_od | ID de la zona registrada para el inventario y con la que se identifica en el sistema de onDelivery |
idalmacen_od |
ID del almacén con el que se identifica en el sistema de onDelivery |
idproducto_od | ID del producto con el que se identifica en el sistema de onDelivery |
cantidad | Cantidad del producto en el inventario |
idmoneda | ID de la moneda con el que se identifica en el sistema |
let dataInventory = {
'idzona_od':'0',
'idalmacen_od':'38',
'idproducto_od':'1',
'cantidad':'0',
'idmoneda':'0'
}
try {
const inventory = await _gpsApiv2.createInventory(dataInventory);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- id_inventory:ID del nuevo inventario creado en onDelivery
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
status:'200',
data:''
}
editInventory(JSON dataInventory)
Al invocar este método, se se encarga de actualizar un inventario para uso de onDelivery
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos |
Definición |
idzona_od | ID de la zona registrada para el inventario y con la que se identifica en el sistema de onDelivery |
idalmacen_od |
ID del almacén con el que se identifica en el sistema de onDelivery |
idproducto_od | ID del producto con el que se identifica en el sistema de onDelivery |
cantidad | Cantidad del producto en el inventario |
idmoneda | ID de la moneda con el que se identifica en el sistema |
idinventario |
ID del inventario que se va a editar y con el que se identifica en el sistema |
let dataInventory = {
'idzona_od':'0',
'idalmacen_od':'38',
'idproducto_od':'1',
'cantidad':'0',
'idmoneda':'0',
'idinventario':'91'
}
try {
const inventory = await _gpsApiv2.createInventory(dataInventory);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
status:'200',
data:''
}
getAllClient()
Al invocar este método, se obtiene el listado de clientes registrados en onDelivery en formato JSON.
try {
const client = await _gpsApiv2.getAllClient();
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
address | Arreglo con la información del sistema y de la dirección física del cliente |
contacts |
Arreglo de los contactos registrados del cliente así como información del sistema del cliente |
id | ID del cliente registrado en el sistema |
identificador | Clave que identifica al cliente visualmente y/o en el sistema |
nombre | Nombre del cliente registrado en el sistema |
razon_social | Razón social que registro el cliente en el sistema |
Respuesta de ejemplo:
{
error_desc:undefined
status:'ok'
message:'['
0:{
address: [
0:{
calle:'Zapatera'
ciudad:'Cuautlancingo'
codigo_postal:'72710'
estado:'1'
id:'666'
idcliente_od:'721'
idcontacto_cliente_od:'210'
idpais:'2'
idprovincia:'21'
idtipo_domicilio:'2'
latitud:'19.1533637'
longitud:'-98.2427989'
nombre:'Casa'
numero_ext:'28'
numero_int:''
}
]
contacts: [
0:{
datos_contacto:'{'2':['2226402968'],'3':['2441156744'],'4':['osegura@redgps.com']}'
estado:'1'
id:'210'
idcliente_od:'721'
nombre:'David Segura'
notas:''
}
]
id:'16'
idcliente_od:'0'
nombre:'4220'
notas:'4221'
},{..}
]
}
createClient(JSON dataClient)
Al invocar este método, se esta registrando en base de datos un cliente para uso de onDelivery.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
nombre |
Nombre del nuevo cliente |
razon_social | Razón social del cliente |
identificador | Identificador del cliente para visualizarlo en plataforma |
let dataClient = {
'nombre':'Prueba Nombre Cliente',
'razon_social':'Prueba Razon Social',
'identificador':'Prueba Identificador'
}
try {
const client = await _gpsApiv2.createClient(dataClient);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- id_cliente: ID del nuevo cliente creado y con el que se identificara en el sistema.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
status:200
data:{
data:{
id_cliente:'1457'
}
status:'ok'
}
}
editClient(JSON dataJSON)
Al invocar este método, se editara un cliente para uso de onDelivery.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
nombre |
Nombre del nuevo cliente |
razon_social | Razón social del cliente |
identificador | Identificador del cliente para visualizarlo en plataforma |
let dataClient = {
'nombre':'Prueba Nombre Cliente',
'razon_social':'Prueba Razon Social',
'identificador':'Prueba Identificador'
}
try {
const client = await _gpsApiv2.editClient(dataClient);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
status:'200',
data:''
}
createContactClient(JSON dataContact)
Al invocar este método, se esta registrando en base de datos un contacto para un cliente en específico registrado en onDelivery .
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
nombre |
Nombre del contacto |
notas | Notas del cliente |
jsoncontacts | JSON con la información del número telefónico, númerocelular y correo electrónico del contacto |
idcliente |
Identificador del cliente para identificarlo en el sistema |
let dataContact = {
'nombre':'nombre Cliente',
'notas':'nota del cliente',
'jsoncontacts':{
'2':['1234567890'],
'3':'['1234567890']',
'4':'['correo@server.com']'
},
'idcliente:'1457'
}
try {
const contact = await _gpsApiv2.createContactClient(dataContact);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- acontact_id: ID del nuevo cliente creado y con el que se identificara en el sistema.
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
status:'200'
message:data: {
acontact_id:'481'
}
}
editContactClient(JSON dataContact)
Al invocar este método, se esta registrando en base de datos un contacto para un cliente en específico registrado en onDelivery .
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
nombre |
Nombre del contacto |
notas | Notas del cliente |
jsoncontacts | JSON con la información del número telefónico, númerocelular y correo electrónico del contacto |
idcontacto |
ID del contacto para identificarlo en el sistema |
let dataContact = {
'nombre':'nombre Cliente',
'notas':'nota del cliente',
'jsoncontacts':{
'2':['1234567890'],
'3':'['1234567890']',
'4':'['correo@server.com']'
},
'idcontacto:'481'
}
try {
const contact = await _gpsApiv2.editContactClient(dataContact);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- acontact_id: ID interno del sistema para identificar el contacto
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
status:'200'
message:data: {
acontact_id:'481'
}
}
getInfoContact(JSON dataContact)
Al invocar este método, se obtiene la información de un contacto registrado en onDelivery en formato JSON.
- idcontacto: ID del contacto con el que se identifica en el sistema
Ejemplo de JSON:
let dataContact = {
'idcontacto':481
}
try {
const contact = await _gpsApiv2.getInfoContact(dataContact);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
celular | Celular con el que se registro el contacto |
Email con el que se registro el contacto |
|
nombre | Nombre con el que se registro el contacto |
notas | Notas con las que se registro el contacto |
telefono | Teléfono con el que se registro el contacto |
Respuesta de ejemplo:
{
status:'200'
data:'['
0:{
cantidad:'100000',
codigo_rastreo:'',
fecha_realizado:'2020-10-23 19:15:19',
idpedido_od:'0',
impuesto:'3200000',
moneda:'MXN',
numero_pedido:'',
producto:'Mi Prodducto 3',
subtotal:'20000000',
tipo_movimiento:'ENTRADA',
total:'23200000',
usuario:'DEMO Segura Co',
},{..}
]
}
getInfoAddress(JSON dataAddress)
Al invocar este método, se encarga de traer la información de un domicilio en específico registrado en onDelivery en formato JSON.
- iddomicilio: ID del domicilio con el que se identifica en el sistema
Ejemplo de JSON:
let dataAddress = {
'iddomicilio':432
}
try {
const address = await _gpsApiv2.getInfoAddress(dataAddress);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
calle | Calle donde está ubicada la dirección |
ciudad |
Ciudad donde esta ubicada la dirección |
codigo_postal | Código Postal de la dirección |
estado |
Estado donde se ubica la dirección |
id | ID de la dirección para identificarlo en el sistema |
idcliente_od | ID del cliente para identificarlo en el sistema |
idcontacto_cliente_od | ID del contacto del cliente para identificarlo en el sistema |
idpais | ID del país para identificarlo en el sistema |
idprovincia | ID de la provincia para identificarlo en el sistema |
idtipo_domicilio | ID del tipo de domicilio para identificarlo en el sistema |
latitud | Latitud donde se encuentra la dirección |
longitud | Longitud donde se encuentra la dirección |
nombre | Nombre con el que se identifica la dirección en la plataforma |
numero_ext | Número exterior de la dirección |
numero_int | Número interior de la dirección |
pais | Nombre del país donde se ubica la dirección |
provincia | Nombre de la provincia a la que pertenece la dirección |
Respuesta de ejemplo:
{
status:'200'
message:'[
0:{
calle:'7 Poniente'
ciudad:'Aguascalientes'
codigo_postal:'97610'
estado:'1'
id:'432'
idcliente_od:'6'
idcontacto_cliente_od:'0'
idpais:'2'
idprovincia:'1'
idtipo_domicilio:'1'
latitud:'19.0459352'
longitud:'-98.2072629'
nombre:''
numero_ext:'1408'
numero_int:''
pais:'México'
provincia:'Aguascalientes'
}
'status':'ok'
]
}
getAllAddressClient(JSON dataAddress)
Al invocar este método, se obtienen todos los domicilios de un cliente registrado en onDelivery formato JSON.
- idcliente: ID del cliente con el que se identifica en el sistema
Ejemplo de JSON:
let dataAddress = {
'idcliente':1457
}
try {
const address = await _gpsApiv2.getAllAddressClient(dataAddress);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
calle | Nombre de la calle de la dirección |
celular_contacto |
Celular asignado a la dirección |
ciudad | Ciudad de la dirección |
codigo_postal | Código Postal de la dirección |
contacto | Nombre del contacto asociado a la dirección |
domicilio_completo | Domicilio completo de la dirección |
email_contacto | E-mail asociado a la dirección |
estado | Estatus de la dirección |
id | ID de la dirección con la que se identifica en el sistema |
idcliente_od | ID del cliente con el que se identifica en el sistema |
idcontacto_cliente_od | ID del contacto del cliente con el que se identifica en el sistema |
idpais | ID del país con el que se identifica en el sistema |
idprovincia |
ID de la provincia con el que se identifica en el sistema |
idtipo_domicilio | ID del tipo de domicilio con el que se identifica en el sistema |
latitud | Latitud de la dirección |
longitud | Longitud de la dirección |
nombre | Nombre con el que se identifica la dirección |
numero_ext | Número exterior de la dirección |
numero_int | Número interior de la dirección |
pais | Nombre del país donde se encuentra la dirección |
provincia | Nombre de la provincia donde pertenece la dirección |
telefono_contacto | Teléfono asociado a la dirección |
Respuesta de ejemplo:
{
status:'200'
data:{
message:[
0:{
calle:'Reforma'
celular_contacto:'2222222222'
ciudad:'Puebla'
codigo_postal:'72000'
contacto:'Nombre del contacto test'
domicilio_completo:'Reforma #0, Puebla, Puebla, México; C.P. 72000'
email_contacto:'algo@servidor.com'
estado:'1'
id:'1589'
idcliente_od:'1457'
idcontacto_cliente_od:'481'
idpais:'2'
idprovincia:'21'
idtipo_domicilio:'2'
latitud:'19.043804'
longitud:'-98.198031'
nombre:'Domicilio Cliente Test'
numero_ext:'0'
numero_int:''
pais:'México'
provincia:'Puebla'
telefono_contacto:'1111111111'
}, n:{...}
]
status:'ok'
}
}
getAllAddress()
Al invocar este método, se obtiene el listado de los domicilios de un cliente registrado en onDelivery en formato JSON.
try {
const address = await _gpsApiv2.getAllAddress();
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
calle | Nombre de la calle |
ciudad |
Ciudad de la dirección |
codigo_postal | Código Postal de la dirección |
estado | Estado de donde procede la dirección |
id | ID interno del sistema para identificar la dirección |
idcliente_od | ID interno del sistema para identificar al cliente |
idcontacto_cliente_od | ID interno del sistema del contacto del cliente |
idpais | ID interno del sistema del país donde se ubica la dirección |
idprovincia | ID interno del sistema de la provincia de donde se ubica la dirección |
idtipo_domicilio | ID interno del sistema para diferenciar el tipo de domicilio |
latitud | Latitud de la dirección |
longitud | Longitud de la dirección |
nombre | Nombre identificador de la dirección para visualizarlo en la plataforma |
numero_ext | Número exterior de la dirección |
numero_int | Número interior de la dirección |
Respuesta de ejemplo:
{
status:'200'
data:'{'
message:{
idInterno_direccion: [
0:{
calle:'Zapatera'
ciudad:'Cuautlancingo'
codigo_postal:'72710'
estado:'1'
id:'666'
idcliente_od:'721'
idcontacto_cliente_od:'210'
idpais:'2'
idprovincia:'21'
idtipo_domicilio:'2'
latitud:'19.1533637'
longitud:'-98.2427989'
nombre:'Casa'
numero_ext:'28'
numero_int:''
},{...}
], xx:[...]
}
}
}
createAddressClient(JSON dataAddress)
Al invocar este método, se esta registrando en base de datos una nueva dirección para el cliente en el sistema onDelivery .
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
nombre |
Nombre con el que se va a identificar el domicilio |
idcontacto_cliente_od | ID del contacto al que se va a relacionar el domicilio |
latitud | Latitud de la nueva dirección |
longitud | Longitud de la nueva dirección |
idpais | ID del país para que se identifique en el sistema |
idprovincia | ID de la provincia para que se identifique en el sistema |
ciudad | Nombre de la ciudad donde se encuentra la nueva dirección |
calle | Nombre de la calle de la nueva dirección |
numero_ext | Número exterior de la nueva dirección |
numero_int | Número interior de la nueva dirección |
codigo_postal | Código postal de la nueva dirección |
idtipo_domicilio | Nombre del contacto para la dirección nueva |
nombre_contacto | Nombre del contacto para la dirección nueva |
notas | Notas sobre la nueva dirección |
telefono | Teléfono relacionado a la nueva dirección |
celular | Celular relacionado a la nueva dirección |
E-mail relacionado a la nueva dirección | |
idcliente | ID del cliente con el que se identifica en el sistema que esta realizando la alta de la nueva dirección |
let dataAddress = {
'nombre':'domicilio test',
'idcontacto_cliente_od':'482',
'latitud':'19.043804',
'longitud':'-98.198031',
'idpais':'2',
'idprovincia':'21',
'ciudad':'Puebla',
'calle':'Reforma',
'numero_ext':'0',
'numero_int':'',
'codigo_postal':'72000',
'idtipo_domicilio':'2',
'nombre_contacto':'Nombre del contacto test 2',
'notas':'notas test 2',
'telefono':'3333333333',
'celular':'4444444444',
'email':'correo@server.com',
'idcliente':'1457',
}
try {
const address = await _gpsApiv2.createAddressClient(dataAddress);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- address_id: ID del nuevo cliente creado y con el que se identificara en el sistema.
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
status:'200',
data:{
'address_id':1590'
}
}
editAddressClient(JSON dataAddress)
Al invocar este método, se editara en base de datos una una dirección registrada en el sistema para uso de onDelivery.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
nombre |
Nombre con el que se va a identificar el domicilio |
idcontacto_cliente_od | ID del contacto al que se va a relacionar el domicilio |
latitud | Latitud de la nueva dirección |
longitud | Longitud de la nueva dirección |
idpais | ID del país para que se identifique en el sistema |
idprovincia | ID de la provincia para que se identifique en el sistema |
ciudad | Nombre de la ciudad donde se encuentra la nueva dirección |
calle | Nombre de la calle de la nueva dirección |
numero_ext | Número exterior de la nueva dirección |
numero_int | Número interior de la nueva dirección |
codigo_postal | Código postal de la nueva dirección |
idtipo_domicilio | Nombre del contacto para la dirección nueva |
nombre_contacto | Nombre del contacto para la dirección nueva |
notas | Notas sobre la nueva dirección |
telefono | Teléfono relacionado a la nueva dirección |
celular | Celular relacionado a la nueva dirección |
E-mail relacionado a la nueva dirección | |
iddireccion | ID de la dirección con el que se identifica en el sistema |
let dataAddress = {
'nombre':'domicilio test',
'idcontacto_cliente_od':'482',
'latitud':'19.043804',
'longitud':'-98.198031',
'idpais':'2',
'idprovincia':'21',
'ciudad':'Puebla',
'calle':'Reforma',
'numero_ext':'0',
'numero_int':'',
'codigo_postal':'72000',
'idtipo_domicilio':'2',
'nombre_contacto':'Nombre del contacto test 2',
'notas':'notas test 2',
'telefono':'3333333333',
'celular':'4444444444',
'email':'correo@server.com',
'iddireccion':'1457',
}
try {
const address = await _gpsApiv2.editAddressClient(dataAddress);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
status:'200',
data:''
}
getOptionsVehicle(JSON dataVehicle)
Al invocar este método, se obtienen las opciones asociadas a un activo en onDelivery en formato JSON.
- idvehiculo: ID del activo con el que se identifica en el sistema
Ejemplo de JSON:
let dataVehicle = {
'idvehiculo':122903
}
try {
const vehicle = await _gpsApiv2.getOptionsVehicle(dataVehicle);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
cantidad | Cantidad de paquetes admitidos en el activo |
datos_tipo_activo |
JSON de Datos extras asociados al tipo de activo |
fin_labores | Hora (HH:mm:ss) de fin de labores del activo |
id | ID asociado a las opciones del activo seleccionado |
idtipo_activo_producto_od | ID del tipo de producto asociado al activo registrado en onDelivery |
idvehiculo | ID del activo seleccionado con el que se identifica en el sistema |
inicio_labores | Hora (HH:mm:ss) de inicio de labores del activo |
lugar_salida | ID de la ubicación del lugar de salida registrado en onDelivery |
peso_maximo | Peso máximo que soporta el activo seleccionado |
tipo_lugar_salida | String del tipo de salida seleccionado |
unidad_peso | ID de la unidad de peso seleccionada y con el que se identifica en el sistema |
unidad_volumen | ID de la unidad de volumen seleccionada y con el que identifica en el sistema |
volumen_maximo | Volumen máximo que soporta el activo |
status | Código de respuesta de la petición |
Respuesta de ejemplo:
{
status:200
data:'['
message:'['
0:{
cantidad:'1'
datos_tipo_activo:'{}'
fin_labores:'17:00:00'
id:'63'
idtipo_activo_producto_od:null
idvehiculo:'122903'
inicio_labores:'08:00:00'
lugar_salida:'498739'
peso_maximo:'100.00'
tipo_lugar_salida:'LUGAR'
unidad_peso:'166'
unidad_volumen:'156'
volumen_maximo:'1000.00'
},{...}
status: 'ok'
]
]
}
createOptionsVehicle(JSON dataVehicle)
Al invocar este método, se encargada de asociar configuraciones al activo que se indique para uso de onDelivery.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
cantidad |
Cantidad de paquetes admitidos en el activo |
peso_maximo | Peso máximo que aguanta el activo |
unidad_peso | Unidad de medida de peso |
volumen_maximo | Volumen máximo que aguanta el activo |
unidad_volumen | Unidad de medida del volumen |
inicio_labores | Hora de inicio de recorrido del activo |
fin_labores | Hora de fin de recorrido del activo |
tipo_lugar_salida | ID del tipo de lugar de salida con el que se identifica en el sistema |
lugar_salida | ID de la ubicación del lugar de salida registrado en onDelivery |
idvehiculo | ID del activo seleccionado con el que se identifica en el sistema |
datos_tipo_activo | JSON de Datos extras asociados al tipo de activo |
let dataVehicle = {
'cantidad':'1',
'peso_maximo':'100',
'unidad_peso':'166',
'volumen_maximo':'1000',
'unidad_volumen':'156',
'inicio_labores':'08:00',
'fin_labores':'17:00',
'tipo_lugar_salida':'1',
'lugar_salida':'498739',
'idvehiculo':'122903',
'datos_tipo_activo':{}
}
try {
const options = await _gpsApiv2.createOptionsVehicle(dataVehicle);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
editOptionsVehicle(JSON dataVehicle)
Al invocar este método, se encargada de editar las opciones de un activo para uso de onDelivery.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
cantidad |
Cantidad de paquetes admitidos en el activo |
peso_maximo | Peso máximo que aguanta el activo |
unidad_peso | Unidad de medida de peso |
volumen_maximo | Volumen máximo que aguanta el activo |
unidad_volumen | Unidad de medida del volumen |
inicio_labores | Hora de inicio de recorrido del activo |
fin_labores | Hora de fin de recorrido del activo |
tipo_lugar_salida | ID del tipo de lugar de salida con el que se identifica en el sistema |
lugar_salida | ID de la ubicación del lugar de salida registrado en onDelivery |
idvehiculo | ID del activo seleccionado con el que se identifica en el sistema |
datos_tipo_activo | JSON de Datos extras asociados al tipo de activo |
idopcion |
ID de las opciones a editar |
let dataVehicle = {
'cantidad':'1',
'peso_maximo':'100',
'unidad_peso':'166',
'volumen_maximo':'1000',
'unidad_volumen':'156',
'inicio_labores':'08:00',
'fin_labores':'17:00',
'tipo_lugar_salida':'1',
'lugar_salida':'498739',
'idvehiculo':'122903',
'datos_tipo_activo':{},
'idopcion':'63'
}
try {
const options = await _gpsApiv2.editOptionsVehicle(dataVehicle);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
data:'',
status:'200'
}
getPedidos(JSON dataPedidos)
Al invocar este método, se obtienen todos los pedidos de un cliente en el sistema onDelivery.
- begin_date: Fecha Inicial de Búsqueda.
- end_date: Fecha Final de Búsqueda
NOTA: Si se mandan vacíos ('') los campos, entonces se traerán todos los pedidos del cliente desde el inicio de su registro
Ejemplo de JSON:
let dataPedidos = {
'begin_date':'',
'end_date':''
}
try {
const pedidos = await _gpsApiv2.getPedidos(dataPedidos);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
cantidad | Cantidad del pedido |
cliente |
Nombre del cliente |
codigo_rastreo | Código de rastreo del pedido |
comentarios | Comentarios sobre la entrega del pedido |
costo_total | Costo total del pedido |
horario_entrega | Día y rango de horas de entrega del pedido |
id | ID del pedido para identificarlo en el sistema |
idcliente_od | ID del cliente para identificarlo en el sistema |
iddomicilio_cliente_od | ID del domicilio del cliente para identificarlo en el sistema |
idmoneda |
ID de la moneda para identificarlo en el sistema |
idstatus_pedido_od | ID del estatus para identificarlo en el sistema |
impuesto | Impuesto del pedido |
moneda | Acrónimo de la moneda usada para el pedido |
num_factura | Número de factura asociado al pedido |
numero_pedido | Número del pedido registrado en el sistema |
peso_total | Peso total del pedido |
placa | Placa del activo asignado al pedido |
status | Estatus en el que se encuentra el pedido |
subtotal | SubTotal del pedido |
tiempo_servicio | ? |
timestamp_fin | Día y hora de finalización máxima de entrega del pedido |
timestamp_inicio | Día y hora de inicio de entrega del pedido |
vehiculo | Activo asignado para entregar el pedido |
Respuesta de ejemplo:
{
status:200
data:'['
0:{
cantidad:'0',
cliente:'super deux 1',
codigo_rastreo:'',
comentarios:'Llamar al cliente 5 minutos antes de llegar a su domicilio',
costo_total:'1132.16',
horario_entrega:'2020-08-21 08:00 - 20:00',
id:'124',
idcliente_od:'6',
iddomicilio_cliente_od:'432',
idmoneda:'4',
idstatus_pedido_od:'3',
impuesto:'156.16',
moneda:'COP',
num_factura:'0987654321',
numero_pedido:'0987964380986513324,
peso_total:'3082.00',
placa:'XTX-123',
status:'Entregado',
subtotal:'976',
tiempo_servicio:'15',
timestamp_fin:'2020-08-21 20:00:00',
timestamp_inicio:'2020-08-21 08:00:00',
vehiculo:'Original Android David...',
volumen_total:'832.00',
},{...}
]
}
createOrder(JSON dataOrder)
Al invocar este método, se encarga de crear un pedido para el cliente en la plataforma onDelivery
A continuación se describen los atributos que se reciben como respuesta del JSON:
Atributos | Definición |
---|---|
inicio | Hora de entrega / Inicio |
fin |
Hora de entrega / Final |
idcliente_od | ID del cliente con el que se identifica en el sistema |
idstatus_pedido_od | ID del estatus del pedido con el que se identifica en el sistema |
num_factura | Número de la factura del pedido |
comentario |
Comentario sobre el pedido |
tiempo_servicio | Tiempo que le deberá tomar al operador realizar la entrega en minutos |
numero_pedido | Número del pedido |
cantidad | Cantidad de productos en el pedido |
idalmacen_od | ID del almacén con el que se identifica en el sistema |
iddomicilio |
ID del domicilio con el que se identifica en el sistema |
afecta_inventario | ? |
detalle_productos | Bandera de si se uso (1) o no (0) la opción de detalle de pedido |
peso_total | Peso total del pedido (Puede ir vació si y solo si detalle_productos es '1') |
volumen_total | Volumen total del pedido (Puede ir vació si y solo si detalle_productos es '1') |
costo_total | Costo total del pedido |
detalle | Arreglo con los productos seleccionados para el pedido |
Ejemplo de JSON:
let dataOrder = {
'inicio':'2021-01-22 09:00:00',
'fin':'2021-01-22 18:00:00',
'idcliente_od':'1457',
'idstatus_pedido_od':'1',
'num_factura':'123',
'comentario':'comentarios del pedido',
'tiempo_servicio':'10',
'numero_pedido':'1',
'cantidad':'1',
'idalmacen_od':'0',
'iddomicilio':'1589',
'afecta_inventario':'1',
'detalle_productos':'0',
'peso_total':'5',
'volumen_total':'10',
'costo_total':'500',
'detalle':[]
}
try {
const order = await _gpsApiv2.createOrder(dataOrder);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
cantidad | Cantidad de productos en el pedido |
codigo_rastreo |
Código de rastreo del pedido |
comentarios | Comentarios sobre el pedido |
costo_total | Costo total del pedido |
estado | ID del estado en el que sen encuentra el pedido y con el que se identifica en el sistema |
id |
ID del pedido creado con el que se identifica en el sistema |
idalmacen_od | ID del almacén con el que se identifica en el sistema |
idcliente_distribuidor | ID del distribuidor con el que se identifica en el sistema |
idcliente_od | ID del cliente con el que se identifica en el sistema de onDelivery |
idcliente_sistema | ID del cliente con el que se identifica en el sistema |
iddomicilio_cliente_od |
ID del domicilio del cliente con el que se identifica en el sistema de onDelivery |
idmoneda | ID de la moneda con el que se identifica en el sistema |
idstatus_pedido_od | ID del estatus del pedido con el que se identifica en el sistema de onDelivery |
idusuario_sistema | ID del usuario que creo el pedido con el que se identifica en el sistema |
impuesto | Valor del impuesto sobre el total del pedido |
inventario_afectado | ? |
num_factura | Número de la factura del pedido |
numero_pedido | Número del pedido |
pagado | Bandera (true, false) que indica si el pedido ya fue pagado o no |
peso_total | Peso total del pedido |
subtotal | Subtotal del pedido |
tiempo_servicio | Tiempo que le deberá tomar al operador realizar la entrega (minutos) |
timestamp_fin | Hora de entrega / Final |
timestamp_inicio | Hora de entrega / Inicio |
volumen_total | Volumen total del pedido |
Respuesta de ejemplo:
{
status:'200'
data:'{'
idInterno_direccion: [
cantidad:'1'
codigo_rastreo:'0712041360994'
comentarios:'comentarios del pedido'
costo_total:'500'
estado:1
id:'1070'
idalmacen_od:'0'
idcliente_distribuidor:'4220'
idcliente_od:'1457'
idcliente_sistema:'4221'
iddomicilio_cliente_od:'1589'
idmoneda:'4'
idstatus_pedido_od:'1'
idusuario_sistema:'5163'
impuesto:'68.97'
inventario_afectado:'1'
num_factura:'123'
numero_pedido:'1'
pagado:false
peso_total:'5'
subtotal:'431.03'
tiempo_servicio:'10'
timestamp_fin:'2021-01-22 18:00:00'
timestamp_inicio:'2021-01-22 09:00:00'
volumen_total:'10'
]
}
}
changeOrderStatus(JSON dataOrder)
Al invocar este método, se encarga de actualizar el estatus de un pedido en la plataforma de onDelivery.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
- status_id: ID del nuevo estatus especificado al que va a cambiar el pedido.
- order_id: ID del pedido con el que se identifica en el sistema.
let dataOrder = {
'status_id':1,
'order_id':1432
}
try {
const osderStatus = await _gpsApiv2.changeOrderStatus(dataOrder);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- order_id: Devuelve el ID del pedido al que se le modifico el estatus
- status: Código Estatus que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
status:'200',
data:{
'order_id':1432
}
}
deleteOrder(JSON dataOrder)
Al invocar este método, se encarga de eliminar una orden del cliente en el sistema de onDelivery
Esta función recibe como parámetro un objeto JSON, en el cual solo se debe llevar el siguiente atributo:
-
order_id: ID del pedido con el que se identifica en el sistema
let dataOrder = {
'order_id':'1432'
}
try {
const order = await _gpsApiv2.deleteOrder(dataOrder);
} catch (error) {
console.error(error);
}
Los atributos de respuesta:
- data: Información devuelta dela solicitud.
- status: Código Status que devuelve la solicitud / 200->'OK' - OtherCode->'Error'
Respuesta de ejemplo:
{
status:'200',
data:{'message':'El pedido ha sido eliminado', 'status':'ok'}
}
getStatuses()
Al invocar este método, se listan todos los estatus que existen para el sistema onDelivery en formato JSON.
try {
const status = await _gpsApiv2.getStatuses();
} catch (error) {
console.error(error);
}
Definición de atributos de respuesta:
- id: ID del estatus en el sistema
- nombre: Nombre que identifica al estatus
Respuesta de ejemplo:
{
error_desc:undefined
status:'ok'
message:'['
0:{
id:'1'
nombre:'Pendiente'
},
1:{
id:'2'
nombre:'En transito'
},
2:{
id:'3'
nombre:'Entregado'
},
3:{
id:'4'
nombre:'Cancelado'
},
4:{
id:'5'
nombre:'Programado para entrega'
},
5:{
id:'6'
nombre:'Cliente no encontrado'
},
6:{
id:'7'
nombre:'Entregado y confirmado'
},
7:{
id:'8'
nombre:'En proceso de entrega'
},
]
}
getOrderDetail(JSON dataOrder)
Al invocar este método, se obtienen los detalles de un pedido en el sistema onDelivery en formato JSON.
- order_id: ID del pedido con el que se identifica en el sistema
Ejemplo de JSON:
let dataOrder = {
'order_id':124
}
try {
const order = await _gpsApiv2.getOrderDetail(dataOrder);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición | |
---|---|---|
cantidad | Cantidad de productos del pedido | |
cliente |
Nombre del cliente |
|
codigo_rastreo | Código del rastreo del pedido | |
comentarios | Comentario para la entrega del pedido | |
costo_total | Costo total del pedido | |
detalle | Detalle del pedido | |
cantidad | Hora (HH:mm:ss) de inicio de labores del activo | |
costo | Costo del producto | |
estado | Estatus en el que se encuentra el producto | |
id | ID del producto con el que se identifica en el sistema | |
idinventario | ID del inventario con el que se identifica en el sistema | |
idmoneda | ID de la moneda con el que se identifica en el sistema | |
idpedido | ID del pedido con el que se identifica en el sistema | |
idpedido_od | ID del pedido de onDelivery con el que se identifica en el sistema | |
idproducto_od | ID del producto de onDelivery con el que se identifica en el sistema | |
impuesto | Impuesto del producto | |
impuesto_producto | Impuesto del producto | |
moneda | Acrónimo de la moneda utilizada en el producto | |
peso | Peso del producto | |
precio_manual | Precio personalizado del producto | |
precio_unitario | Precio por pieza del producto | |
producto | Nombre del producto | |
subtotal | Subtotal del producto | |
total | Total del coste del producto | |
unidad_peso | Unidad de medición del peso | |
unidad_volumen | Unidad de medición del volumen | |
volumen | Volumen del producto | |
estado | Estatus en el que se encuentra el pedido | |
id | ID del pedido con el que se identifica en el sistema | |
idalmacen_od | ID del almacén con el que se identifica en el sistema | |
idcliente_distribuidor | ID del distribuidor con el que se identifica en el sistema | |
idcliente_od | ID del cliente en onDelivery con el que se identifica en el sistema | |
idcliente_sistema | ID del cliente con el que se identifica en el sistema | |
iddomicilio_cliente_od | ID del domicilio con el que se identifica en el sistema | |
idmoneda | ID de la moneda con el que se identifica en el sistema | |
idstatus_pedido_od | ID del estatus con el que se identifica en el sistema | |
idusuario_sistema | ID del usuario con el que se identifica en el sistema | |
idvehiculo_od |
ID del activo con el que se identifica en el sistema |
|
impuesto | Impuesto del pedido | |
inventario_afectado | ? | |
moneda | Moneda utilizada en el pedido | |
num_factura | Número de factura del pedido | |
numero_pedido | Número del pedido | |
pagado | Estatus del pago | |
peso_total | Peso total del pedido | |
status_pedido | Estatus del pedido | |
subtotal | Subtotal del pedido | |
tiempo_servicio | ? | |
timestamp_fin | Fecha y hora máxima de la entrega del pedido | |
timestamp_inicio | Fecha y hora inicial de la entrega del pedido | |
volumen_total | Volumen total del pedido |
Respuesta de ejemplo:
{
status:'200'
data:{
cantidad:'0'
cliente:'super deux 1'
codigo_rastreo:null
comentarios:'Llamar al cliente 5 minutos antes de llegar a su domicilio'
costo_total:'1132.16'
detalle:[
0:{
cantidad:'1'
costo:'62'
estado:'1'
id:'132'
idinventario:'0'
idmoneda:'4'
idpedido:'1'
idpedido_od:'124'
idproducto_od:'1'
impuesto:'9.92'
impuesto_producto:'9.92'
moneda:'COP'
peso:'500'
precio_manual:'0'
precio_unitario:'62'
producto:'Mi Prodducto 1.1'
subtotal:'62'
total:'71.92'
unidad_peso:null
unidad_volumen:null
volumen:'30'
}, n:{...}
]
estado:'1'
id:'124'
idalmacen_od:'0'
idcliente_distribuidor:'4220'
idcliente_od:'6'
idcliente_sistema:'4221'
iddomicilio_cliente_od:'432'
idmoneda:'4'
idstatus_pedido_od:'3'
idusuario_sistema:'5163'
idvehiculo_od:'5'
impuesto:'156.16'
inventario_afectado:'0'
moneda:'COP'
num_factura:'0987654321'
numero_pedido:null
pagado:'0'
peso_total:'3082.00'
status_pedido:'Entregado'
subtotal:'976'
tiempo_servicio:'15'
timestamp_fin:'2020-08-21 20:00:00'
timestamp_inicio:'2020-08-21 08:00:00'
volumen_total:'832.00'
}
}
getDashboardData(JSON dataDash)
Al invocar este método, se obtienen toda la información que se va a mostrar en el dashboard en formato JSON.
- current_date_ini: Fecha de Inicio de rango para obtener los datos en formato AAAA-MM-DD
- current_date_fin: Fecha de Fin de rango para obtener los datos en formato AAAA-MM-DD
Ejemplo de JSON:
let dataDash = {
'current_date_ini':'2021-01-11',
'current_date_fin':'2021-01-18',
}
try {
const dash = await _gpsApiv2.getDashboardData(dataDash);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
clients | Arreglo con los distintos estatus de los clientes |
deliveries |
Arreglo con los distintos estatus de los repartidores |
in_route | Arreglo con los distintos estatus de los pedidos en ruta |
orders | Arreglo con información de las ordenes |
vehicles | Arreglo con los vehículos asignados |
status | Nombre del estatus en el que se encuentra el elemento |
total | Total de elementos en cada sección |
Respuesta de ejemplo:
{
status:'200'
data: {
clients:[
0:{
status:'Con Pedido'
total:'0'
},
1:{
status:'Sin Pedido'
total:'20'
},
2:{
status:'Total'
total:'20'
},
]
deliveries:[
]
in_route:[
]
orders:[
]
vehicles:[
0:{
status:'Con Entregas'
total:'0'
},
1:{
status:'Sin Entregas'
total:'29'
},
2:{
status:'Total'
total:'29'
},
]
}
}
getInventoryByWarehouse(JSON dataInventory)
Al invocar este método, se obtienen el inventario de una bodega registrada en el sistema onDelivery en formato JSON.
- idalmacen: ID del almacén con el que se identifica en el sistema
Ejemplo de JSON:
let dataInventory = {
'idalmacen':2
}
try {
const inventory = await _gpsApiv2.getInventoryByWarehouse(dataInventory);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
almacen | Nombre del almacén |
cantidad |
Cantidad de productos en el almacén |
id | ID del almacén con el que se identifica en el sistema |
idproducto | ID del producto con el que se identifica en el sistema |
impuesto | Impuesto total del costo de los productos |
moneda | Acrónimo de la moneda asociada al pedido |
producto | Nombre del producto |
subtotal | Subtotal del coste de los productos |
total | Total del coste de los productos |
zona | Nombre de la zona referenciada al producto |
Respuesta de ejemplo:
{
status:'200'
data:[
0:{
almacen:'Almacen del centro'
cantidad:'100000'
id:'48'
idproducto:'3'
impuesto:'3200000'
moneda:'MXN'
producto:'Mi Prodducto 3'
subtotal:'20000000'
total:'23200000'
zona:'0'
}, n:{...}
status:'200'
]
}
getStatusOrder(JSON dataStatus)
Al invocar este método, se obtienen los estatus en los que han pasado un pedido en específico en la plataforma onDelivery
El campo requerido en el Json que se recibe como parámetro es:
- idpedido: ID del pedido con el que se identifica en el sistema
let dataStatus = {
'idpedido':124
}
try {
const status = await _gpsApiv2.getStatusOrder(dataStatus);
} catch (error) {
console.error(error);
}
A continuación se describen los atributos que se reciben como respuesta de la solicitud en JSON:
Atributos | Definición |
---|---|
cliente | ID del cliente para identificarlo en el sistema |
fechaHora |
Fecha y hora a la que se hizo el cambio de estatus |
status |
ID del estatus con el que se identifica en el sistema |
usuario | ID del usuario para identificarlo en el sistema |
Respuesta de ejemplo:
{
status:'200'
data:'['
0:{
cliente:'4221'
fechaHora:'2020-08-20 17:45:31'
status:1
usuario:'5163'
}, n:{...}
]
}
getSystemElements()
Esta función se encarga de obtener la información de la variable global "systemElements", ya sea obtener todos los elementos en conjunto o solo los detalles de un elemento por medio de su llave única.
Para consultar la información se hace por medio del identificador con las que se definieron los elementos en la función setSystemElements.
- element: Identificador con el que se definió el elemento a obtener.
- key: Identificador en el cual se puede obtener solo la información en especifico de un solo elemento
Ejemplo de solicitud en JS para obtener todos los elementos:
const element='asset';
const key='';
try {
const asset = _gpsApiv2.getSystemElements({ element, key });
} catch (error) {
console.error(error);
}
Ejemplo de solicitud en JS para obtener un elemento en especifico:
const element='asset';
const key='7B085DD85A0341CA93DAF3D629F456FB';
try {
const asset = _gpsApiv2.getSystemElements({ element, key });
} catch (error) {
console.error(error);
}
Definición de atributos de la respuesta general al obtener los activos (assets):
Atributos | Definición |
---|---|
Address | Dirección actual del activo |
Alto_icono | Tamaño del alto del icono del marcador |
Ancho_icono | Tamaño del ancho del icono del marcador |
DatosJson | Detalles en formato Json donde de tiene en tiempo de manejo, porcentaje de carga del motor, temperatura, etc. |
Equipo | identificador único del Activo |
FechaHora | Fecha y hora en la que se obtiene el activo |
Icono | Icono que identifica al Activo |
IdVehiculo | ID que hace referencia al Activo en el sistema |
Latitud | Latitud donde se encuentra actualmente el Activo |
Longitud | Longitud donde se encuentra el Activo |
Nombre | Nombre del Activo |
Placa | Placa que se le asigno al activo |
Velocidad | Velocidad actual del activo |
lat_lon | Latitud y longitud actual del activo |
marker | Objeto e los atributos del marcador del mapa |
Respuesta de ejemplo al obtener activos (assets):
[
7B085DD85A0341CA93DAF3D629F456FB:{
Address: ""
Alto_icono: 70
Ancho_icono: 70
DatosJson: {datos_extras: {…}}
Equipo: "7B085DD85A0341CA93DAF3D629F456FB"
FechaHora: "2022-06-28 13:43:11"
Icono: "https://plataforma.service24gps.com/commons/svg/3d_micro.php"
IdVehiculo: "109032"
Latitud: "19.037992503529857"
Longitud: "-98.26963806641288"
Nombre: "activo testing"
Placa: "DSM2507"
Velocidad: "76"
lat: "19.037992503529857"
lat_lon: "19.037992503529857,-98.26963806641288"
lng: "-98.26963806641288"
marker: _.Ig {__gm: {…}, gm_accessors_: {…}}
},
{...}]
setSystemElements()
Esta función se encarga de almacenar la información en la variable global "systemElements", esta variable es donde se almacena toda la información de los elementos disponibles ya sean activos (assets), conductores (drivers), etc.
- element: Cadena con la que se definió el elemento a obtener.
- key: Identificador en el cual se puede acceder a la información de los elementos.
- data: Es el json de toda la información a almacenar en la variable.
Para este ejemplo se almacenaran en la variable "SystemElements" los conductores disponibles, los cuales se obtienen utilizando la función "getDrivers()".
Ejemplo de solicitud en JS para almacenar conductores:
try {
const drivers = _gpsApiv2.getDrivers({});
if (drivers) {
_gpsApiv2.setSystemElements({ element: 'drivers', data: drivers, key: 'id' });
}
} catch (error) {
console.error(error);
}
elementExists()
Esta función se encarga de verificar sin un elemento existe en la variable global "systemElements".
- element: Cadena con la que se definió el elemento a obtener.
- key: Identificador en el cual se puede acceder a la información de los elementos.
Ejemplo de solicitud en JS para verificar si existe un activo (asset):
try {
var exist = _gpsApiv2.elementExists({ element: 'assets', key: '0aa30b6cd600c3a3OLD' });
} catch (error) {
console.error(error);
}
El resultado es tipo boleando:
- true: si existe el elemento en la variable "systemElements".
- false: si no existe ninguno elemento con los parámetros datos.
setAttribute()
Esta función se encarga de agregar un nuevo atributo a algún elemento que encuentre almacenado en la variable global "systemElements", ya sean activos (assets), conductores (drivers), etc.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
element
|
Cadena con la que se definió el elemento a obtener. |
key
|
Identificador en el cual se puede acceder a la información de los elementos. |
attribute
|
Nombre del nuevo atributo a agregar en el elemento |
value
|
Valor que sera asignado al atributo |
Para este ejemplo se agregara un nuevo atributo a un elemento de activos (assets) que se encuentra en la variable "systemElements".
Ejemplo de solicitud en JS para almacenar conductores:
try {
_gpsApiv2.setAttribute({ element: 'assets', key: '0aa30b6cd600c3a3OLD', attribute:'nuevo', value:'atributo' });
} catch (error) {
console.error(error);
}
Ejemplo de elemento "0aa30b6cd600c3a3OLD" antes de agregar un atributo:
{
Address: ""
Alto_icono: 60
Ancho_icono: 60
DatosJson: {datos_extras: {…}}
Equipo: "0aa30b6cd600c3a3OLD"
FechaHora: "2022-05-04 17:29:09"
Icono: "https://plataforma.service24gps.com/commons/svg/3d_camion_caja.php?c=f7f7f7&b=f40b0b&p=235&t=FF3637&f=F39C12"
IdVehiculo: "138584"
Latitud: "-15.34409226358717"
Longitud: "-75.1444648522207"
Nombre: "0aa30b6cd600c3a3"
Placa: "0aa30b6cd600c3a3"
Velocidad: "60"
lat: "-15.34409226358717"
lat_lon: "-15.34409226358717,-75.1444648522207"
lng: "-75.1444648522207"
marker: _.Ig {__gm: {…}, gm_accessors_: {…}, position: _.Ee, gm_bindings_: {…}, title: '', …}
[[Prototype]]: Object
}
Ejemplo de elemento "0aa30b6cd600c3a3OLD" después de agregar un atributo:
{
Address: ""
Alto_icono: 60
Ancho_icono: 60
DatosJson: {datos_extras: {…}}
Equipo: "0aa30b6cd600c3a3OLD"
FechaHora: "2022-05-04 17:29:09"
Icono: "https://plataforma.service24gps.com/commons/svg/3d_camion_caja.php?c=f7f7f7&b=f40b0b&p=235&t=FF3637&f=F39C12"
IdVehiculo: "138584"
Latitud: "-15.34409226358717"
Longitud: "-75.1444648522207"
Nombre: "0aa30b6cd600c3a3"
Placa: "0aa30b6cd600c3a3"
Velocidad: "60"
lat: "-15.34409226358717"
lat_lon: "-15.34409226358717,-75.1444648522207"
lng: "-75.1444648522207"
marker: _.Ig {__gm: {…}, gm_accessors_: {…}, position: _.Ee, gm_bindings_: {…}, title: '', …}
nuevo: "atributo"
[[Prototype]]: Object
}
setAttributes()
Esta función se encarga de agregar un múltiples atributos a algún elemento que encuentre almacenado en la variable global "systemElements", ya sean activos (assets), conductores (drivers), etc.
Esta función recibe como parámetro un objeto JSON con los siguientes atributos:
Atributos | Definición |
---|---|
element
|
Cadena con la que se definió el elemento a obtener. |
key
|
Identificador en el cual se puede acceder a la información de los elementos. |
attributes
|
Es el json donde se agregan los atributos y sus valores |
Para este ejemplo se agregaran varios atributos a un elemento de activos (assets) que se encuentra en la variable "systemElements".
Ejemplo de solicitud en JS para almacenar conductores:
try {
_gpsApiv2.setAttributes({ element: 'assets', key: '0aa30b6cd600c3a3OLD', attributes:{atributo: 1,atributotwo:'2',atributotree:'3'} });
} catch (error) {
console.error(error);
}
Ejemplo de elemento "0aa30b6cd600c3a3OLD" antes de agregar los atributos:
{
Address: ""
Alto_icono: 60
Ancho_icono: 60
DatosJson: {datos_extras: {…}}
Equipo: "0aa30b6cd600c3a3OLD"
FechaHora: "2022-05-04 17:29:09"
Icono: "https://plataforma.service24gps.com/commons/svg/3d_camion_caja.php?c=f7f7f7&b=f40b0b&p=235&t=FF3637&f=F39C12"
IdVehiculo: "138584"
Latitud: "-15.34409226358717"
Longitud: "-75.1444648522207"
Nombre: "0aa30b6cd600c3a3"
Placa: "0aa30b6cd600c3a3"
Velocidad: "60"
lat: "-15.34409226358717"
lat_lon: "-15.34409226358717,-75.1444648522207"
lng: "-75.1444648522207"
marker: _.Ig {__gm: {…}, gm_accessors_: {…}, position: _.Ee, gm_bindings_: {…}, title: '', …}
[[Prototype]]: Object
}
Ejemplo de elemento "0aa30b6cd600c3a3OLD" después de agregar varios atributos:
{
Address: ""
Alto_icono: 60
Ancho_icono: 60
DatosJson: {datos_extras: {…}}
Equipo: "0aa30b6cd600c3a3OLD"
FechaHora: "2022-05-04 17:29:09"
Icono: "https://plataforma.service24gps.com/commons/svg/3d_camion_caja.php?c=f7f7f7&b=f40b0b&p=235&t=FF3637&f=F39C12"
IdVehiculo: "138584"
Latitud: "-15.34409226358717"
Longitud: "-75.1444648522207"
Nombre: "0aa30b6cd600c3a3"
Placa: "0aa30b6cd600c3a3"
Velocidad: "60"
atributo: "1"
atributotree: "3"
atributotwo: "2"
lat: "-15.34409226358717"
lat_lon: "-15.34409226358717,-75.1444648522207"
lng: "-75.1444648522207"
marker: _.Ig {__gm: {…}, gm_accessors_: {…}, position: _.Ee, gm_bindings_: {…}, title: '', …}
[[Prototype]]: Object
}
Librería de Iconos y CSS
Esta librería contiene todos los elementos que puedes necesitar para generar tu propia plataforma de internet de las cosas. En el siguiente link podrás encontrar toda la documentación de HTML, estilos e iconos para personalizar y crear tu plataforma exclusiva.
Accede a la documentación con la siguiente URL http://library.service24gps.com/
Custom platform
tableAddAction()
Botones y acciones personalizadas en listados
Dentro de la plataforma, usted encontrará listados de tipo tabla, scroll y a ellos se le puede agregar botones personalizados cuyas acciones usted mismo podrá definir.
Ejemplo de los tipos de tabla donde se puede aplicar la personalización
Nota: estos botones personalizados solo se podrán agregar dentro las plataformas siempre y cuando el listado / tabla donde quieran utilizarlo, este utilizando los data tables tipo scroll. No se puede usar para el listado de activos de la plataforma. Para poder utilizar estas funciones deben tener conocimiento de lenguaje javascript. Recomendamos primero probar su código en la consola del navegador y para luego subir este código javascript a su plataforma.
Ejemplo paso a paso
1. Definimos primero el objeto del botón.
var btn = {
campos: ["id"], //object atribute send to function
class: "bt xs green ico", //button class
function: "test_function", //function to execute, its your new function
icon: "i-radio-check", //icon defined on out library
id: "fun1-", //its added to button id atrributte
title: "func1" //its a title of button
}
2. Luego que tenemos el botón definido debemos agregarlo a la tabla. en el ejemplo de abajo lo agregamos a la tabla de lugares.
customPlaform.tableAddAction( '#tbl-lugares', 'addButton', btn );
customPlaform.tables_loaded
4. Debemos ahora crear la función que ejecutará el botón
function test_function( idelement ){
alert('My test_function [idelement:'+idelement+']');
}
Aquí les dejamos el ejemplo de código completo. Para probarlo solo lo deben pegar en la consola y luego ir al listado de lugares donde verán un nuevo botón color verde.
var btn = {
campos: ["id"], //object atribute send to function
class: "bt xs green ico", //button class
function: "test_function", //function to execute
icon: "i-radio-check", //icono de la librería
id: "fun1-", //Nombres + id de elemento.
title: "func1"}
customPlaform.tableAddAction( '#tbl-lugares', 'addButton', btn );
function test_function( idelement ){
alert('My test_function [idelement:'+idelement+']');
}
Así se verá el nuevo botón de color verde que se agregó al listado de lugares de la plataforma.
loadExternalAjax()
La función que se describe a continuación le será útil para poder realizar peticiones a sus servidores o a sitios externos que lo permitan y poder obtener la información necesaria e implementarla.
Esta función puede ser implementada en los JavaScript personalizados que se implementaron en la personalización de plataformas para que de forma automática pueda ser invocada la solicitud y manipular los datos de la plataforma con lo obtenido.
Existen 2 formas de mostrar la información obtenida mediante la función; ya sea de forma flotante mediante: 'Modal' o mostrarlo en la barra lateral de la plataforma: 'Sidebar'
Ejemplo del modal donde se mostrara el resultado de la petición AJAX externa
Observaciones: El recuadro ROJO marca el título del modal, el recuadro AZUL indica el 'body' del modal donde se puede insertar HTML que llegue de la petición o que se indique en los argumentos al llamar la función, el recuadro NARANJA indica el 'footer' del modal que puede ser editado y modificado mediante la información que se traiga con la petición
Observaciones: El recuadro AZUL indica el 'body' del sidebar donde se puede insertar HTML que llegue de la petición o que se indique en los argumentos al llamar la función, el recuadro NARANJA indica el 'footer' del sidebar que puede ser editado y modificado mediante la información que se traiga con la petición
Forma de invocar la función loadExternalAjax()
Para poder invocar la función debe mandar a llamar la variable global que ya se encuentra habilitada 'customPlaform' y enseguida acceder a su atributo/función 'loadExternalAjax', la cual recibe como argumentos ciertos parámetros para su correcto. funcionamiento.
NOTA: Esta función es asíncrona y posee una promesa de retorno por lo que es posible usar '.then(function(response){})' para poder realizar la manipulación del DOM tanto del 'modal' como del 'sidebar' en base a los datos que se obtengan de esta petición.
OBSERVACIÓN: Tanto el 'modal' como el 'sidebar' comparten el mismo DOM que puede ser personalizado y que su estructura es la que se muestra a continuación; para ingresar datos en cada sección simplemente apunte a los 'ID' de cada elemento genérico.
ADVERTENCIA: Para realizar peticiones a sitios externos debe tener habilitado el CORS 'Access-Control-Allow-Origin' en su servidor, de lo contrario, serán rechazadas las solicitudes y no se mostrará ninguna información.
<div id="bodyResult">
</div>
<div id="footerResult">
</div>
Ejemplo paso a paso
1. Definimos primero el objeto con los argumentos necesarios para la petición.
NOTA: Si se coloca el 'dataType' recuerde que debe tratar el 'response' según el formato especificado y conforme configuro la respuesta en su servidor; si por el contrario, no se coloca ninguno y se omite, el response siempre llegara en formato 'Texto', por lo que deberá tratar esa cadena posteriormente según sus necesidades
let argumentos = {
url: 'https://plataforma.service24gps.com/loadExternalAjaxHTML.php', // URL a la que se va a solicitar la petición (OBLIGATORIO)
type: 'GET', // Tipo de petición: GET / POST (OBLIGATORIO)
dataType: 'JSON', //Tipo de dato de retorno de la petición por DEFAULT es 'JSON'(opcional). Ej.: 'html','JSON', etc.
data: {}, // OBJETO con datos necesarios para la petición, Ej.: {'apiKey':123456789,'token':AbcDeF123456789}; por DEFAULT es {} (opcional)
target: 'sidebar', // String de como se quiere mostrar la data, ya sea en 'modal' ó 'sidebar', son las únicas opciones; por DEFAULT es 'modal' (opcional)
async: false, // booleano que iníca si la petición AJAX va a ser asíncrona o no; por DEFAULT es false (opcional)
title: 'Título de la Ventana del Modal', // Título del Modal que quiera que aparezca, no aplica para 'sidebar', sino pone ninguno por DEFAULT es 'Visualizador'
innerHtml: '<b>PRUEBA HTML</b>', //HTML que se debe cargar primero en el 'body' tanto en el 'modal' como en el 'sidebar'; esto es útil si tiene su propio HTML que quiere manipular una vez se complete la petición y entre en el apartado del 'THEN()'; por default no se inserta ningún HTML (opcional)
heigthModal: '570', //Alto del 'modal' en pixeles, no aplica para el 'sidebar'; por DEFAULT es '570' (opcional)
widthModal: '60%', //Ancho del 'modal' en porcentaje, no aplica para el 'sidebar'; por DEFAULT es '60%' (opcional)
}
2. Mandar a llamar la función:
customPlaform.loadExternalAjax(argumentos).then(function (response) {
// AQUI VA EL CÓDIGO A EJECUTAR DESPUES DE LA PETICIÓN
})
3. Dentro del apartado del 'then()', se puede poner cualquier código js para manipular el DOM del 'modal' o 'sidebar' con la información recibida en 'response'
customPlaform.loadExternalAjax(argumentos).then(function (response) {
$('#bodyResult').append('<div id="divTest">Prueba: ' + response.atributo + '</div>');
})
4. Por último, una vez ya armada la función, la puede implementar en 'Plataformas Personalizadas', en el apartado de 'Cliente' en 'JavaScript Personalizado' para que se ejecute automáticamente cada vez que inicie la plataforma
Aquí les dejamos el ejemplo de código completo. Para probarlo solo lo deben pegar en la consola.
NOTA: En este ejemplo contiene un setTimeout para evitar que al cargar la plataforma lo 'sobre escriba'.
//EJEMPLOS
//HTML
setTimeout(() => {
let argumentos = {
url: 'https://plataforma.service24gps.com/loadExternalAjaxHTML.php',
type: 'GET',
data: {},
target: 'modal',
async: false,
title: 'Título de la Ventana del Modal',
innerHtml: '<b>PRUEBA HTML</b>',
heigthModal: '570',
widthModal: '60%',
}
customPlaform.loadExternalAjax(argumentos).then(function (res) {
$('#bodyResult').append(res);//EN ESTE CASO COMO EL SERVIDOR DEVUELVE TODA LA CADENA DEL HTML, NO ES NECESARIO ACCEDER A UN ELEMENTO, POR LO QUE DIRECTAMENTE SE INSERTA LA RESPUESTA AL DOM
})
}, 5000);
//JSON
setTimeout(() => {
let argumentos = {
url: 'https://plataforma.service24gps.com/loadExternalAjaxJSON.php',
type: 'GET',
dataType: 'JSON',//SE ESPECIFICA QUE LO QUE ESPERA RECIBIR COMO RESPUESTA DEL SERVIDOR ES UN JSON PARA AUTO TRASNFORMAR EL TIPO DE DATO
data: {},
target: 'modal',
async: false,
title: 'Título de la Ventana del Modal',
innerHtml: '<b>PRUEBA HTML</b>',
heigthModal: '570',
widthModal: '60%',
}
customPlaform.loadExternalAjax(argumentos).then(function (res) {
$('#bodyResult').append(res.msg);//EN ESTE CASO COMO EL SERVIDOR DEVUELVE UN OBJETO CON LA LLAVE 'msg' DONDE VIENE EL HTML COMO CADENA, SE PROCEDE A ACCEDER A ELLA PARA INSERTARLA EN EL DOM
})
}, 5000);
Así se agregaría el código en la implementación del Javascript personalizado en la personalización de plataformas.
Ejemplo de un archivo PHP para ser configurado en su servidor y acepte peticiones externas
Recuerde que estos encabezados son importantes que se configuren para poder realizar las peticiones a su servidor correctamente
//EJEMPLO
<?php
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
header("Access-Control-Allow-Methods: GET, POST");
header("Allow: GET, POST");
$method = $_SERVER['REQUEST_METHOD'];
if($method == "OPTIONS") {
die();
}
?>
<html>
<body>
<div>
Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno estándar de las industrias desde el año 1500, cuando un impresor (N. del T. persona que se dedica a la imprenta) desconocido usó una galería de textos y los mezcló de tal manera que logró hacer un libro de textos especimen. No sólo sobrevivió 500 años, sino que tambien ingresó como texto de relleno en documentos electrónicos, quedando esencialmente igual al original. Fue popularizado en los 60s con la creación de las hojas "Letraset", las cuales contenian pasajes de Lorem Ipsum, y más recientemente con software de autoedición, como por ejemplo Aldus PageMaker, el cual incluye versiones de Lorem Ipsum.
</div>
</body>
</html>
addNavbarButton()
La función que se describe a continuación le será útil para poder agregar botones en el navbar de la en la plataforma.
Esta función se encuentra disponible para que se puedan configurar botones desde la personalización de plataformas.
Hay dos opciones de botones que se pueden agregar en la barra: Icono y Botón en el menú principal
Ejemplo de donde se agrega el botón tipo icono en la barra
Observaciones: Los nuevos iconos serán agregados en la parte izquierda de los iconos que se tiene por default en la plataforma.
Botón en menú principal:
Ejemplo de donde se agrega el botón en el menú principal
Observaciones: Los nuevos botones, se insertarán en el menú principal de la plataforma, o en su defecto si se tienen configurados bastantes botones, el nuevo botón se agregara al menú desplegable "más opciones"
Forma de invocar la función addNavbarButton()
En primer lugar, debe ingresar a la plataforma "Partners", una vez dentro, en la opción superior debe dar clic en "Opciones" y entrar en la sección "personalización de plataformas"
Una vez dentro de "personalización de plataformas", debe ingresar a Cliente->Javascript personalizado, una vez dentro se mostrará un text area, donde podrá agregar código JS personalizado.
Para utilizar las funciones de esta herramienta, se debe mandar a llamar a la variable global '_addButton' y enseguida acceder a su atributo/función 'addNavbarButton', la cual recibe como argumentos un objeto con los parámetros requeridos para la creación del botón y la carga correcta de la información.
NOTA: Por cada nuevo botón se debe de llamar a la función "_addButton.addNavbarButton(botonEjemplo)" con el objeto a crear como se mostrara más adelante.
ADVERTENCIA: Para realizar peticiones a sitios externos debe tener habilitado el CORS 'Access-Control-Allow-Origin' en su servidor, de lo contrario, serán rechazadas las solicitudes y no se mostrará ninguna información
Observaciones Generales
Los siguientes obligatorios en cualquier botón que se quiera configurar:
1- load_in_modal
2- target_position
En el caso de usar un Modal, los siguientes atributos son obligatorios:
1- load_in_modal
2- modal_url (En caso de cargar contenido externo)
Todas las opciones de botones, se pueden configurar como tipo "icono" o tipo "menu", dependiendo el caso se deben agregar los atributos y configuración necesarios
Ejemplos de los tipos de botones
1. Botón tipo icono
Definimos primero el objeto con los argumentos necesarios.
ADVERTENCIA: En este caso es obligatorio definir el atributo "target_position" con el valor "icon".
ADVERTENCIA: En este caso es obligatorio definir el atributo "icon_class" con algún valor del catálogo de iconos disponibles en la url http://library.service24gps.com/iconos.html.
OBSERVACIÓN: El siguiente objeto es un ejemplo de un botón tipo "Icono", con el cual se carga un modal con contenido externo.
var myButton = {}; //Debe declarar una variable tipo object para agregar los atributos necesarios
myButton.btn_name = 'Botón Icono'; // String que se mostrara como tooltip (en el caso de botón icono) (OBLIGATORIO)
myButton.load_in_modal = true; // Para que se muestre el contenido en el modal, se debe colocar true (OBLIGATORIO)
myButton.modal_title = 'Contenido Externo De Prueba';// Este es el título que se muestra en la cabecera del modal
myButton.modal_url = 'https://plataforma.service24gps.com/loadExternalAjaxHTML.php',// URL a la que se va a solicitar la petición (OBLIGATORIO)
myButton.modal_width = '30%';// Se define el tamaño del ancho del modal
myButton.modal_height = '50%';// Se define el tamaño de la altura del modal
myButton.css_class = 'myClass';// En caso de querer agregar un estilo personalizado al botón, se puede hacer especificando el nombre de la clase
myButton.target_position = 'icon';// Para definir un botón de tipo icono se debe especificar este campo como "icon" (OBLIGATORIO)
myButton.icon_class = 'i-cog';// Se debe especificar un icono del catálogo de iconos disponibles en http://library.service24gps.com/iconos.html
_addButton.addNavbarButton(myButton); // Cada vez que se cree un nuevo botón se debe de invocar a la variable _addButton y se debe llamar a la función .addNabvarButton(); a la cual se le debe enviar como parámetro el objeto creado
var myButton = {}; //Debe declarar una variable tipo object para agregar los atributos necesarios
myButton.btn_name = 'Botón Icono'; // String que se mostrara como tooltip (en el caso de botón icono) (OBLIGATORIO)
myButton.load_in_modal = true; // Para que se muestre el contenido en el modal, se debe colocar true (OBLIGATORIO)
myButton.modal_title = 'Contenido Externo De Prueba';// Este es el título que se muestra en la cabecera del modal
myButton.modal_url = 'https://plataforma.service24gps.com/loadExternalAjaxHTML.php',// URL a la que se va a solicitar la petición (OBLIGATORIO)
myButton.modal_width = '30%';// Se define el tamaño del ancho del modal
myButton.modal_height = '50%';// Se define el tamaño de la altura del modal
myButton.css_class = 'myClass';// En caso de querer agregar un estilo personalizado al botón, se puede hacer especificando el nombre de la clase
myButton.target_position = 'icon';// Para definir un botón de tipo icono se debe especificar este campo como "icon" (OBLIGATORIO)
myButton.icon_class = 'i-cog';// Se debe especificar un icono del catálogo de iconos disponibles en http://library.service24gps.com/iconos.html
_addButton.addNavbarButton(myButton); // Cada vez que se cree un nuevo botón se debe de invocar a la variable _addButton y se debe llamar a la función .addNabvarButton(); a la cual se le debe enviar como parámetro el objeto creado
En este caso, al ser un botón de tipo Icono, el elemento se agrega a lado izquierdo de los botones que se tienen por default
Se puede configurar un botón de tipo icono con las demás funcionalidades, como:
1- Cargar contenido externo en un modal
2- Cargar contenido externo JSON en un modal
3- Llamar una función de JS
4- Cargar contenido en una nueva ventana.
2. Botón en el menú principal
Definimos primero el objeto con los argumentos necesarios.
ADVERTENCIA: En este caso es obligatorio definir el atributo "target_position" con el valor "menu".
OBSERVACIÓN: El siguiente objeto es un ejemplo de un botón tipo "menu", con el cual se carga un modal con contenido externo JSON.
var myButton = {};
myButton.btn_name = 'Botón Menu';// String que se mostrara como label del botón (OBLIGATORIO)
myButton.load_in_modal = true;
myButton.modal_title = 'Contenido Externo De Prueba';
myButton.modal_url = 'https://plataforma.service24gps.com/loadExternalAjaxJSON.php',//URL a la que se va a solicitar la petición (OBLIGATORIO)
myButton.modal_width = '30%';
myButton.modal_height = '50%';
myButton.css_class = 'myClass';
myButton.target_position = 'menu';// Para definir un botón de tipo menú se debe especificar este campo como "menu" (OBLIGATORIO)
_addButton.addNavbarButton(myButton);
var myButton = {};
myButton.btn_name = 'Botón Menu';// String que se mostrara como label del botón (OBLIGATORIO)
myButton.load_in_modal = true;
myButton.modal_title = 'Contenido Externo De Prueba';
myButton.modal_url = 'https://plataforma.service24gps.com/loadExternalAjaxJSON.php',//URL a la que se va a solicitar la petición (OBLIGATORIO)
myButton.modal_width = '30%';
myButton.modal_height = '50%';
myButton.css_class = 'myClass';
myButton.target_position = 'menu';// Para definir un botón de tipo menú se debe especificar este campo como "menu" (OBLIGATORIO)
_addButton.addNavbarButton(myButton);
En este caso, al ser un botón de tipo Menú, el botón se agrega al final de los elementos del menú pero, antes del botón, "salir"
NOTA: En el caso de contar con el submenú "Más opciones", el nuevo botón se agregará al final de los elementos del submenú
Se puede configurar un botón de tipo menú con las demás funcionalidades, como:
1- Cargar contenido externo en un modal
2- Cargar contenido externo JSON en un modal
3- Llamar una función de JS
4- Cargar contenido en una nueva ventana
3. Botón para cargar contenido externo en nueva ventana
Definimos primero el objeto con los argumentos necesarios.
ADVERTENCIA: Para esta opción es obligatorio configurar el atributo "href" con el URL de la página que se abrirá en una nueva vista.
ADVERTENCIA: Para esta opción es obligatorio configurar el atributo "href_target" con el parámetro "_blank".
OBSERVACIÓN: El siguiente objeto es un botón de tipo "menu" con el cual al dar clic abre la página https://www.google.com en una nueva ventana
var myButton = {};
myButton.btn_name = 'Cargar Nueva Ventana';
myButton.href = 'https://www.google.com'; // URL de la página que se va a cargar en una nueva ventana (OBLIGATORIO)
myButton.href_target = '_blank';// Se debe declarar de este atributo como '_blank' para abrir una nueva ventana, de no ser así se remplazara la página actual
myButton.css_class = 'myClass';
myButton.target_position = 'menu';
_addButton.addNavbarButton(myButton);
var myButton = {};
myButton.btn_name = 'Cargar Nueva Ventana';
myButton.href = 'https://www.google.com'; // URL de la página que se va a cargar en una nueva ventana (OBLIGATORIO)
myButton.href_target = '_blank';// Se debe declarar de este atributo como '_blank' para abrir una nueva ventana, de no ser así se remplazara la página actual
myButton.css_class = 'myClass';
myButton.target_position = 'menu';
_addButton.addNavbarButton(myButton);
OBSERVACIÓN: En este caso no se utilizan los atributos para un modal dado que se abrirá una ventana independiente del sitio.
4. Botón para ejecutar una función JavaScript
Definimos primero el objeto con los argumentos necesarios.
ADVERTENCIA: Para esta opción es necesario usar el atributo "onclick" y como parámetro se debe asignar la función que desee ejecutar.
OBSERVACIÓN: El siguiente objeto es un botón tipo "menu" con el cual al dar clic sobre el botón muestra un alert.
var myButton = {};
myButton.btn_name = 'Mostrar Alerta';
myButton.css_class = 'myClass';
myButton.onclick = 'alert('Alerta');'; // Se debe especificar la función que se va a ejecutar al dar clic sobre el botón (OBLIGATORIO)
myButton.target_position = 'menu';
_addButton.addNavbarButton(myButton);
var myButton = {};
myButton.btn_name = 'Mostrar Alerta';
myButton.css_class = 'myClass';
myButton.onclick = 'alert('Alerta');'; // Se debe especificar la función que se va a ejecutar al dar clic sobre el botón (OBLIGATORIO)
myButton.target_position = 'menu';
_addButton.addNavbarButton(myButton);
OBSERVACIÓN: En este caso puede o no utilizar los atributos para un modal, depende de si en alguna función se requiere imprimir contenido en el modal.
5. Botón para mostrar en un modal un punto en mapa de Open Streat Maps
Definimos primero el objeto con los argumentos necesarios.
ADVERTENCIA: Para esta opción es obligatorio configurar el atributo "tipo_mapa" con el parámetro "osm":
ADVERTENCIA: Para esta opción es obligatorio configurar el atributo "latitud" con la condenada del punto a mostrar en el mapa
ADVERTENCIA: Para esta opción es obligatorio configurar el atributo "longitud" con la condenada del punto a mostrar en el mapa
var myButton = {};
myButton.btn_name = 'Mapa OSM';
myButton.load_in_modal = true;
myButton.modal_title = 'Ejemplo Mapa OSM';
myButton.modal_width = '50%';
myButton.modal_height = '60%';
myButton.css_class = 'myClass';
myButton.target_position = 'icon';
myButton.icon_class = 'i-cog';
myButton.tipo_mapa = 'osm';// Para utilizar la cartografía de Open Street Maps, se debe especificar este campo como "osm"
myButton.latitud = '19.043806339673186';//Se debe de especificar la latitud del punto a mostrar en el mapa
myButton.longitud = '-98.19825315772778';//Se debe de especificar la longitud del punto a mostrar en el mapa
_addButton.addNavbarButton(myButton);
var myButton = {};
myButton.btn_name = 'Mapa OSM';
myButton.load_in_modal = true;
myButton.modal_title = 'Ejemplo Mapa OSM';
myButton.modal_width = '50%';
myButton.modal_height = '60%';
myButton.css_class = 'myClass';
myButton.target_position = 'icon';
myButton.icon_class = 'i-cog';
myButton.tipo_mapa = 'osm';// Para utilizar la cartografía de Open Street Maps, se debe especificar este campo como "osm"
myButton.latitud = '19.043806339673186';//Se debe de especificar la latitud del punto a mostrar en el mapa
myButton.longitud = '-98.19825315772778';//Se debe de especificar la longitud del punto a mostrar en el mapa
_addButton.addNavbarButton(myButton);
6. Botón para mostrar en un modal un punto en mapa de Google Maps
Definimos primero el objeto con los argumentos necesarios.
ADVERTENCIA: Para esta opción es obligatorio configurar el atributo "tipo_mapa" con el parámetro "google":
ADVERTENCIA: Para esta opción es obligatorio configurar el atributo "latitud" con la condenada del punto a mostrar en el mapa
ADVERTENCIA: Para esta opción es obligatorio configurar el atributo "longitud" con la condenada del punto a mostrar en el mapa
var myButton = {};
myButton.btn_name = 'Mapa Google';
myButton.load_in_modal = true;
myButton.modal_title = 'Ejemplo Mapa Google';
myButton.modal_width = '50%';
myButton.modal_height = '60%';
myButton.css_class = 'myClass';
myButton.target_position = 'icon';
myButton.icon_class = 'i-cog';
myButton.tipo_mapa = 'google';// Para utilizar la cartografía de Google Maps, se debe especificar este campo como "google"
myButton.latitud = '19.043806339673186';//Se debe de especificar la latitud del punto a mostrar en el mapa
myButton.longitud = '-98.19825315772778';//Se debe de especificar la longitud del punto a mostrar en el mapa
_addButton.addNavbarButton( myButton );
var myButton = {};
myButton.btn_name = 'Mapa Google';
myButton.load_in_modal = true;
myButton.modal_title = 'Ejemplo Mapa Google';
myButton.modal_width = '50%';
myButton.modal_height = '60%';
myButton.css_class = 'myClass';
myButton.target_position = 'icon';
myButton.icon_class = 'i-cog';
myButton.tipo_mapa = 'google';// Para utilizar la cartografía de Google Maps, se debe especificar este campo como "google"
myButton.latitud = '19.043806339673186';//Se debe de especificar la latitud del punto a mostrar en el mapa
myButton.longitud = '-98.19825315772778';//Se debe de especificar la longitud del punto a mostrar en el mapa
_addButton.addNavbarButton( myButton );
Ejemplo de un archivo PHP para ser configurado en su servidor y acepte peticiones externas
Recuerde que estos encabezados son importantes que se configuren para poder realizar las peticiones a su servidor correctamente.
<?php
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
header("Access-Control-Allow-Methods: GET, POST");
header("Allow: GET, POST");
$method = $_SERVER['REQUEST_METHOD'];
if($method == "OPTIONS") {
die();
}
?>
showInPoUp()
La función que se describe a continuación la podrás utilizar para generar una ventana tipo POPUP o Modal dentro de la plataforma y a la misma cargarle un contenido HTML.
Cargar contenido en una ventana tipo Modal.
Anteriormente vimos como poder conseguir contenido externo de otras plataformas. Ahora les recomendamos utilizar la siguiente función para poder cargar este contenido dentro de una ventana, luego de convertirlo a HTML.
Ejemplo de como utilizar la función showinpopup()
//Definimos un objeto solo como ejemplo.
var data = {
"users":[
{"id":1,"firstName":"Terry","lastName":"Medhurst","maidenName":"Smitham","age":50},
{"id":2,"firstName":"Joe","lastName":"Smith","maidenName":"SmitJ","age":33},
{"id":3,"firstName":"Clark","lastName":"Terry","maidenName":"TeryC","age":63}
]};
//Creamos un HTML en formato tabla para maquetar el contenido de data.
var html_contenido = '<table class="tableCustom"><tr><th>FirtName</th><th>LastName</th><th>Age</th></tr>';
for( i in data['users'] ){
var fila = data.users[i];
html_contenido += '<tr><td>'+fila.firstName+'</td><td>'+fila.lastName+'</td><td>'+fila.age+'</td></tr>';
}
html_contenido += '</table>';
//Lanzamos un modal y colocamos en el mismo el HTML creado.
showInPopUp(html_contenido, 'Titulo del modal','800','90%');
Esta función que se muestra en el ejemplo anterior puede ser utilizada por ustedes en cualquier momento que necesiten cargar un contenido dentro de la plataforma. Pueden copiar el contenido anterior y pegarlo en la consola javascript de su navegador para ver como muestra la plataforma un modal con una tabla html y su respectivo contenido.