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

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.

Primeros pasos

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"

Captura de pantalla de 2022-06-24 13-50-51.png

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.

Captura de pantalla de 2022-06-24 15-46-15.png

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.

Captura de pantalla de 2022-06-24 17-26-25.png

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/

Captura de pantalla de 2022-06-24 17-25-50.png

Subir icono: Esta opción es para subir un icono personalizado, ppuede ser PNG, JPG o ZVG

Captura de pantalla de 2022-06-24 17-33-54.png

Primeros pasos

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.

Captura de Pantalla 2022-07-11.png

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>

 

Primeros pasos

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.

Captura de Pantalla 2022-07-11s.png

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.

 

 

Primeros pasos

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.

Captura de Pantalla 2x22.png

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.

Primeros pasos

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.

Captura de Pantalla 43123.png

tu puedes utilizar esta función para crear todo tipo de listados dentro de tu plataforma personalizada.

Primeros pasos

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.

 

Primeros pasos

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

 

Primeros pasos

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.

GpsApi V2

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:

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.

GpsApi V2

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: {...}]
GpsApi V2

getSensor()

Al invocar este método, se obtiene  el listado de todos los sensores disponibles en RedGps.

Definición de atributos:

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'
	 ...
}
GpsApi V2

getDrivers()

Al invocar este método, se recuperan todos los conductores en formato JSON

Ejemplo de solicitud en JS:
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
email  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'
}
... : {...}]
GpsApi V2

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
email 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
Ejemplo de JSON:
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'
}
Ejemplo de solicitud en JS:
try {
      const driver  = await _gpsApiv2.createDriver(dataDriver); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:''
	 status:'200'
}
GpsApi V2

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
email 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
Ejemplo de JSON:
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'
}
Ejemplo de solicitud en JS:
try {
      const driver  = await _gpsApiv2.updateDriver(dataDriver); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:''
	 status:'200'
}
GpsApi V2

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:

Ejemplo de JSON:
let dataDriver = {
'idConductor':'31729'
}
Ejemplo de solicitud en JS:
try {
      const driver  = await _gpsApiv2.deleteDriver(dataDriver); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

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'
Ejemplo de JSON:
let dataModule = {
'userId':'4220',
'modeuloId':'143',
'active':'1,
}
Ejemplo de solicitud en JS:
try {
      const module  = await _gpsApiv2.setModuleToUser(dataModule); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

getModulesByUser()

Al invocar este método, se obtienen los Módulos asignados a nivel cliente y los Módulos asignados a nivel usuario.

Ejemplo de solicitud en JS:
try {
      const module  = await _gpsApiv2.getModulesByUser(); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 modulesByClient:[
		 {
			 id:'26'
			 nombre:'Ruteo'
		 },{...}
	 ],
	 modulesByUser:[
		 {
			 id:'26'
			 nombre:'Ruteo'
		 },{...}
	 ]
}
GpsApi V2

getRoutes()

Al invocar este método, se obtienen todas las rutas del cliente en formato JSON.

Ejemplo de solicitud en JS:
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: {...}]
GpsApi V2

getScheduledRoutes()

Al invocar este método, se obtienen todas las rutas programadas que se encuentran en proceso o iniciadas en formato JSON.

Ejemplo de solicitud en JS:
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: {...}]
GpsApi V2

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:

Ejemplo de JSON:
let dataRoute = {
'idRuta':'23467'
}
Ejemplo de solicitud en JS:
try {
      const route  = await _gpsApiv2.deleteRoute(dataRoute); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

getPlaces()

Al invocar este método, se obtiene el listado de todos los lugares que pertenecen al usuario o cliente en formato JSON.

Ejemplo de solicitud en JS:
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
email

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: {...}]
GpsApi V2

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:

Ejemplo de JSON:
let dataPlace = {
'idLugar':'43252'
}
Ejemplo de solicitud en JS:
try {
      const place  = await _gpsApiv2.deletePlace(dataPlace); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

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
email

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

Ejemplo de JSON:
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',
}
Ejemplo de solicitud en JS:
try {
      const place  = await _gpsApiv2.updatePlace(dataPlace); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

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
email

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

Ejemplo de JSON:
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',
}
Ejemplo de solicitud en JS:
try {
      const place  = await _gpsApiv2.createPlace(dataPlace); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

getGeofences()

Al invocar este método, se obtiene el listado de geocercas de tipo poligonal (dibujo), lineal (ruta) o circular en formato JSON

Ejemplo de solicitud en JS:
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: {...}]
GpsApi V2

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
Ejemplo de JSON:
let dataAlert = {
  equipo : 19566,
  fecha : '2021-01-12',
};
Ejemplo de solicitud en JS:
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
}]
GpsApi V2

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:

Ejemplo de JSON:
let dataGeofence = {
'idCerca':'23467'
}
Ejemplo de solicitud en JS:
try {
      const geofence  = await _gpsApiv2.deleteGeofence(dataGeofence); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

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])

Ejemplo de JSON:
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'
}
Ejemplo de solicitud en JS:
try {
      const geofences  = await _gpsApiv2.updateGeofences(dataGeofence); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

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])

Ejemplo de JSON:
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'
}
Ejemplo de solicitud en JS:
try {
      const geofences  = await _gpsApiv2.createGeofences(dataGeofence); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

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
Ejemplo de JSON:
let dataOdometer = {
  equipo : 19567,
  fecha : '2021-01-12',
  odometro_gps : '0',
};
Ejemplo de solicitud en JS:
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
		 }
}]
GpsApi V2

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'
Ejemplo de JSON:
let dataAlert = {
  equipo : '356486080930374',
  fechaIni : '2021-01-12 00:00:00',
  fechaFin : '2021-01-12 23:59:59',
  format : 'DateTime',
};
Ejemplo de solicitud en JS:
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',
}]
GpsApi V2

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: {...}]
GpsApi V2

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: {...}]
GpsApi V2

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',
}]
GpsApi V2

loginByToken(String token)

Método de inicio de sesión con token.

Parámetro:

Ejemplo de solicitud en JS:

const dataLogin  = _gpsApiv2.loginByToken(token);
Definición de atributos:
Respuesta de ejemplo:
{
	 data:''
	 status:'200'
}
GpsApi V2

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);
GpsApi V2

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);
GpsApi V2

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'
},{...}]
GpsApi V2

getAllProducts()

Al invocar este método, se obtienen todos los productos de onDelivery en formato JSON.

Ejemplo de solicitud en JS:
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'
		 },{..}
	 ]
}
GpsApi V2

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
Ejemplo de JSON:
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'
}
Ejemplo de solicitud en JS:
try {
      const product  = await _gpsApiv2.createProduct(dataProduct); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

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
Ejemplo de JSON:
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'
}
Ejemplo de solicitud de edición en JS:
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:
let dataProduct = {
	'estado':'0',
	'idproducto':'49'
}

try {
      const product  = await _gpsApiv2.editProduct(dataProduct); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

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
Ejemplo de JSON:
let dataProduct = {
  				   products: 
                   [
                     {
                       'idproducto_od':'1',
                       'cantidad':'1'
                     }
                   ]
                  }
Ejemplo de solicitud en JS:
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,
		 },{..}
	 ]
}
GpsApi V2

getAllWareHouse()

Al invocar este método, se obtienen  todos los almacenes registrados para onDelivery  en formato JSON.

Ejemplo de solicitud en JS:
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:''
		 },{..}
	 ]
}
GpsApi V2

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
Ejemplo de JSON para crear un almacén normal:
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'
}
Ejemplo de JSON para crear un almacén asociado a un activo:
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'
}
Ejemplo de solicitud en JS:
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'
}
GpsApi V2

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
Ejemplo de JSON para crear un almacén normal:
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'
}
Ejemplo de JSON para crear un almacén asociado a un activo:
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'
}
Ejemplo de solicitud en JS:
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:
let dataProduct = {
	'estado':'0',
	'idalmacen':'37'
}

try {
      const wareHouse  = await _gpsApiv2.editWareHouse(dataWareHouse); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

getAllZones()

Al invocar este método, se obtienen  todas las zonas que se tienen registradas en el sistema para onDelivery en formato JSON.

Ejemplo de solicitud en JS:
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'
		 },{..}
	 ]
}
GpsApi V2

getAllInventories()

Al invocar este método, se obtienen  todos  todos los inventarios de cada zona en formato JSON.

Ejemplo de solicitud en JS:
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',
		 },{..}
	 ]
}
GpsApi V2

getInventoryMovements(JSON dataInventoryMov)

Al invocar este método, se obtienen  todos los todos los movimientos de un inventario en formato JSON.

Los parámetros requeridos en el Json son:
Ejemplo de JSON:
let dataInventoryMov = {
	 'idinventario':48
}
Ejemplo de solicitud en JS:
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',
		 },{..}
	 ]
}
GpsApi V2

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
Ejemplo de JSON:
let dataInventory = {
'idzona_od':'0',
'idalmacen_od':'38',
'idproducto_od':'1',
'cantidad':'0',
'idmoneda':'0'
}
Ejemplo de solicitud en JS:
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:''
}
GpsApi V2

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
Ejemplo de JSON:
let dataInventory = {
'idzona_od':'0',
'idalmacen_od':'38',
'idproducto_od':'1',
'cantidad':'0',
'idmoneda':'0',
'idinventario':'91'
}
Ejemplo de solicitud en JS:
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:''
}
GpsApi V2

getAllClient()

Al invocar este método, se obtiene el listado de clientes registrados en onDelivery  en formato JSON.

Ejemplo de solicitud en JS:
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'
		 },{..}
	 ]
}
GpsApi V2

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
Ejemplo de JSON:
let dataClient = {
  	 'nombre':'Prueba Nombre Cliente', 
  	 'razon_social':'Prueba Razon Social', 
  	 'identificador':'Prueba Identificador'
}
Ejemplo de solicitud en JS:
try {
      const client  = await _gpsApiv2.createClient(dataClient); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 status:200
	 data:{
		 data:{
			 id_cliente:'1457'
		 }
	 status:'ok'
	 }
}
GpsApi V2

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
Ejemplo de JSON:
let dataClient = {
  	 'nombre':'Prueba Nombre Cliente', 
  	 'razon_social':'Prueba Razon Social', 
  	 'identificador':'Prueba Identificador'
}
Ejemplo de solicitud en JS:
try {
      const client  = await _gpsApiv2.editClient(dataClient); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 status:'200',
	 data:''
}
GpsApi V2

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
Ejemplo de JSON:
let dataContact = {
  	'nombre':'nombre Cliente', 
  	'notas':'nota del cliente', 
  	'jsoncontacts':{
                    '2':['1234567890'],
                    '3':'['1234567890']',
                    '4':'['correo@server.com']'
    			   },
  	'idcliente:'1457'
}
Ejemplo de solicitud en JS:
try {
      const contact  = await _gpsApiv2.createContactClient(dataContact); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 status:'200'
	 message:data: {
		 acontact_id:'481'
	 }
}
GpsApi V2

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
Ejemplo de JSON:
let dataContact = {
  	'nombre':'nombre Cliente', 
  	'notas':'nota del cliente', 
  	'jsoncontacts':{
                    '2':['1234567890'],
                    '3':'['1234567890']',
                    '4':'['correo@server.com']'
    			   },
  	'idcontacto:'481'
}
Ejemplo de solicitud en JS:
try {
      const contact  = await _gpsApiv2.editContactClient(dataContact); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 status:'200'
	 message:data: {
		 acontact_id:'481'
	 }
}
GpsApi V2

getInfoContact(JSON dataContact)

Al invocar este método, se obtiene la información de un contacto registrado en onDelivery en formato JSON.

Los parámetros requeridos en el Json son:
Ejemplo de JSON:
let dataContact = {
	 'idcontacto':481
}
Ejemplo de solicitud en JS:
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

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',
		 },{..}
	 ]
}
GpsApi V2

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.

Los parámetros requeridos en el Json son:
Ejemplo de JSON:
let dataAddress = {
	 'iddomicilio':432
}
Ejemplo de solicitud en JS:
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'
	 ]
}
GpsApi V2

getAllAddressClient(JSON dataAddress)

Al invocar este método, se  obtienen todos los domicilios de un cliente registrado en onDelivery formato JSON.

Los parámetros requeridos en el Json son:
Ejemplo de JSON:
let dataAddress = {
	 'idcliente':1457
}
Ejemplo de solicitud en JS:
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'
	 }
}
GpsApi V2

getAllAddress()

Al invocar este método, se obtiene el listado de  los domicilios de un cliente registrado en onDelivery en formato JSON.

Ejemplo de solicitud en JS:
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:[...]
		 }
	 }
}
GpsApi V2

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
email 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
Ejemplo de JSON:
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',
}
Ejemplo de solicitud en JS:
try {
      const address  = await _gpsApiv2.createAddressClient(dataAddress); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 status:'200',
	 data:{
		 'address_id':1590'
	 }
}
GpsApi V2

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
email E-mail relacionado a la nueva dirección
iddireccion ID de la dirección con el que se identifica en el sistema
Ejemplo de JSON:
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',
}
Ejemplo de solicitud en JS:
try {
      const address  = await _gpsApiv2.editAddressClient(dataAddress); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 status:'200',
	 data:''
}
GpsApi V2

getOptionsVehicle(JSON dataVehicle)

Al invocar este método, se  obtienen las opciones asociadas a un activo en onDelivery en formato JSON.

Los parámetros requeridos en el Json son:
Ejemplo de JSON:
let dataVehicle = {
	 'idvehiculo':122903
}
Ejemplo de solicitud en JS:
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'
		 ]
	 ]
}
GpsApi V2

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
Ejemplo de JSON:
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':{}
}
Ejemplo de solicitud en JS:
try {
      const options  = await _gpsApiv2.createOptionsVehicle(dataVehicle); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

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
Ejemplo de JSON:
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'
}
Ejemplo de solicitud en JS:
try {
      const options  = await _gpsApiv2.editOptionsVehicle(dataVehicle); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 data:'',
	 status:'200'
}
GpsApi V2

getPedidos(JSON dataPedidos)

Al invocar este método, se  obtienen todos los pedidos de un cliente en el sistema onDelivery.

Los parámetros requeridos en el Json son:
  • 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':''
}
Ejemplo de solicitud en JS:
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',
		 },{...}
	 ]
}
GpsApi V2

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':[]
}
Ejemplo de solicitud en JS:
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'
		 ]
	 }
}
GpsApi V2

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:

Ejemplo de JSON:
let dataOrder = {
  'status_id':1, 
  'order_id':1432 
}
Ejemplo de solicitud en JS:
try {
      const osderStatus  = await _gpsApiv2.changeOrderStatus(dataOrder); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 status:'200',
	 data:{
       		'order_id':1432
     	  }
}
GpsApi V2

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:

Ejemplo de JSON:
let dataOrder = {
'order_id':'1432'
}
Ejemplo de solicitud en JS:
try {
      const order  = await _gpsApiv2.deleteOrder(dataOrder); 
 	} catch (error) {
	  console.error(error);
	}
Los atributos de respuesta:
Respuesta de ejemplo:
{
	 status:'200',
	 data:{'message':'El pedido ha sido eliminado', 'status':'ok'}
}
GpsApi V2

getStatuses()

Al invocar este método, se listan todos los estatus que existen para el sistema onDelivery en formato JSON.

Ejemplo de solicitud en JS:
try {
      const status  = await _gpsApiv2.getStatuses(); 
 	} catch (error) {
	  console.error(error);
	}

Definición de atributos de respuesta:

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'
		 },
	 ]
}
GpsApi V2

getOrderDetail(JSON dataOrder)

Al invocar este método, se  obtienen los detalles de un pedido en el sistema  onDelivery en formato JSON.

Los parámetros requeridos en el Json son:
Ejemplo de JSON:
let dataOrder = {
	 'order_id':124
}
Ejemplo de solicitud en JS:
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'
	 }
}
GpsApi V2

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.

Los atributos  requeridos en el Json son que se recibe como parámetro son:
Ejemplo de JSON:
let dataDash = {
	 'current_date_ini':'2021-01-11',
  	 'current_date_fin':'2021-01-18',
}
Ejemplo de solicitud en JS:
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'
			 },
		 ]
	 }
}
GpsApi V2

getInventoryByWarehouse(JSON dataInventory)

Al invocar este método, se  obtienen el inventario de una bodega registrada en el sistema onDelivery en formato JSON.

El campo requerido en el Json que se recibe como parámetro es:
Ejemplo de JSON:
let dataInventory = {
	 'idalmacen':2
}
Ejemplo de solicitud en JS:
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'
	 ]
}
GpsApi V2

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:

let dataStatus = {
	 'idpedido':124
}
Ejemplo de solicitud en JS:
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:{...}
	 ]
}
GpsApi V2

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.

Los parámetros requeridos en el Json que recibe esta función son:

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_: {…}}
  },
{...}]
GpsApi V2

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.

Los parámetros requeridos en el Json que recibe esta función son:
  • 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);
	}

 

GpsApi V2

elementExists()

Esta función se encarga de verificar sin un elemento existe en la variable global "systemElements".

Los parámetros requeridos en el Json que recibe esta función son:
  • 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:

GpsApi V2

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
}

 

GpsApi V2

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

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.

image-1652948925548.png

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 );
3. Para saber como se llaman las tablas, podemos ejecutar el siguiente comando. Este retornará los nombres de las tablas y los atributos de las misma
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.

api_botones_2.png
Custom platform

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'

Modal:
api_ajaxExterno1.jpg

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

Sidebar:

api_ajaxExterno2.jpg

Ejemplo del sidebar que sale en plataforma donde se mostrara el resultado de la petición AJAX externa

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.

api_ajaxExterno3.png


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>
Custom platform

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

Icono:ejemplo_Icono.png

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_boton.png

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.

partners.png

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();
  }

?>
Custom platform

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.