> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/user/es/guide/devices-and-settings/connectivity/data-forwarding/navixy-ws.md).

# Servicio web de Navixy

Permita que un sistema de terceros consulte datos históricos de GPS de Navixy a través de SOAP, solicitando hasta 100 dispositivos y un día de datos por llamada.

Navixy Web Service ofrece a un sistema de terceros un punto final SOAP que consulta para obtener datos de seguimiento. Es la opción a elegir cuando el sistema receptor prefiere obtener los datos según su propio horario, o cuando no puede aceptar una conexión entrante.

{% hint style="warning" %}
Navixy Web Service funciona de manera diferente a cualquier otro protocolo en el **Reenvío de datos** bloque. Los demás envían cada mensaje a un destino a medida que llega. Navixy Web Service no envía nada: Navixy aloja un punto final, y el sistema receptor solicita los datos que necesita.

Esto tiene dos consecuencias. Navixy nunca se conecta al sistema receptor, por lo que los **Dirección** y **Puerto** campos no se usan. Y, como el sistema receptor lee datos almacenados en lugar de una transmisión en vivo, una consulta puede abarcar un período pasado, cosa que ningún otro protocolo admite.
{% endhint %}

Como los datos están en XML sobre SOAP y no interviene ningún formato específico de Navixy, este protocolo se adapta a cualquier socio que pueda consumir un WSDL.

En Navixy, seleccione **Navixy Web Service** en la lista desplegable de **Protocolo** menú desplegable.

## Qué devuelve el punto final

El punto final devuelve un registro por cada posición almacenada, con estos campos:

| Campo                  | Contenido                                                                                                                                                                            |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `deviceId`             | El ID del dispositivo tal como se proporciona en la solicitud                                                                                                                        |
| `dateGps`              | Cuando el dispositivo registró la posición, en UTC                                                                                                                                   |
| `latitud` y `longitud` | Posición en grados                                                                                                                                                                   |
| `altitude`             | Altitud en metros                                                                                                                                                                    |
| `speedGps`             | Velocidad en kilómetros por hora                                                                                                                                                     |
| `course`               | Rumbo como una dirección de la brújula, como `N`, `SE`, u `O`                                                                                                                        |
| `Ignición`             | Si la ignición estaba activada                                                                                                                                                       |
| `numSat`               | Número de satélites que utilizaba el dispositivo                                                                                                                                     |
| `odómetro`             | La lectura del odómetro informada por el dispositivo, en kilómetros                                                                                                                  |
| `unitPlate`            | El número de matrícula del vehículo vinculado con el dispositivo                                                                                                                     |
| `eventId`              | El código del evento, siguiendo [los identificadores de evento de Navixy Generic Protocol](/docs/iot-logic-api/technologies/navixy-generic-protocol/predefined-event-identifiers.md) |

Dos campos dependen de datos externos al dispositivo. `unitPlate` está vacío cuando el dispositivo no está vinculado con un vehículo, y Navixy acorta el número de matrícula eliminando espacios y guiones y conservando los primeros seis caracteres. Un dispositivo que no tiene permiso para conectarse no devuelve ningún registro, en lugar de un error.

## Límites de solicitud

Cada solicitud debe mantenerse dentro de estos límites, o el punto final devuelve una falla:

* Como máximo **100 IDs de dispositivo** por solicitud.
* Como máximo **un día** entre la fecha de inicio y la fecha de fin. Se tolera un intervalo un poco mayor, pero una solicitud que abarque varios días falla con `Intervalo demasiado largo`.

Para recopilar un período más largo, envíe una solicitud por día.

## Antes de comenzar

A diferencia de los demás protocolos, no necesita nada de un tercero. Usted elige el nombre de usuario y la contraseña, y el sistema receptor los usa para autenticarse.

Elija un nombre de usuario que ningún otro retransmisor de su cuenta use ya, porque Navixy identifica al retransmisor por el par de nombre de usuario y contraseña.

## Configure el punto final

{% stepper %}
{% step %}

### Abrir el bloque Reenvío de datos

Vaya a **Dispositivos**, seleccione un dispositivo y luego busque el **Reenvío de datos** .
{% endstep %}

{% step %}

### Abrir la lista de protocolos

Haga clic en **Protocolos**, luego haga clic en **+** para agregar una configuración.
{% endstep %}

{% step %}

### Introduzca la configuración de Navixy Web Service

Complete los campos de la siguiente manera:

* **Nombre**: una etiqueta que identifica este retransmisor
* **Protocolo**: **Navixy Web Service**
* **Dirección**: cualquier dirección válida. Este protocolo no la usa, pero el campo es obligatorio.
* **Puerto**: cualquier número de puerto. Este protocolo tampoco lo usa.
* **campo de inicio de sesión**: un nombre de usuario de su elección, que no esté ya utilizado por otro retransmisor
* **Contraseña**: una contraseña de su elección

Entregue el nombre de usuario y la contraseña a la parte que consultará el endpoint.
{% endstep %}

{% step %}

### Activar y guardar

Active **Habilitado**, luego haga clic en **Guardar**.
{% endstep %}

{% step %}

### Vincule el retransmisor a sus dispositivos

En cada dispositivo **Reenvío de datos** del dispositivo, active el interruptor del retransmisor que creó y, a continuación, haga clic en **Guardar**. Solo los dispositivos vinculados devuelven datos. El ID externo no se usa en este protocolo.
{% endstep %}
{% endstepper %}

## Consultar el endpoint

La dirección WSDL depende de la plataforma que aloja su cuenta:

| Plataforma | WSDL                                                  |
| ---------- | ----------------------------------------------------- |
| EU         | <https://soap.navixy.com/LocationDataService?wsdl>    |
| US         | <https://soap.us.navixy.com/LocationDataService?wsdl> |

Envíe una solicitud en este formato, con el nombre de usuario y la contraseña en el encabezado SOAP y los identificadores de los dispositivos y el rango de fechas en el cuerpo. Los identificadores de los dispositivos son los valores IMEI de los dispositivos:

{% code overflow="wrap" %}

```xml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org">
   <soapenv:Header>
      <tem:authentication>
         <login>username</login>
         <password>password</password>
      </tem:authentication>
   </soapenv:Header>
   <soapenv:Body>
      <tem:dataRequest>
         <!--1 a 100 repeticiones:-->
         <deviceIds>866258048802349</deviceIds>
         <startDate>2022-08-30T00:00:00Z</startDate>
         <endDate>2022-08-31T00:00:00Z</endDate>
      </tem:dataRequest>
   </soapenv:Body>
</soapenv:Envelope>
```

{% endcode %}

La respuesta contiene una `resultado` elemento por posición almacenada:

{% code overflow="wrap" %}

```xml
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
        <ns:getLocationDataResponse xmlns:ns="http://tempuri.org">
            <resultado>
                <dateGps>2019-10-15T08:48:50.000Z</dateGps>
                <ignition>false</ignition>
                <latitude>75.9270866</latitude>
                <longitude>-85.5207616</longitude>
                <speedGps>0.0</speedGps>
                <unitPlate>JRT1550</unitPlate>
                <altitude>284.0</altitude>
                <course>N</course>
                <deviceId>866258048802349</deviceId>
                <numSat>15</numSat>
                <Odómetro>59845</Odómetro>
                <eventId>401</eventId>
            </result>
        </ns:getLocationDataResponse>
    </S:Body>
</S:Envelope>
```

{% endcode %}

## Administrar el punto final

Para cambiar o revocar el acceso:

* Desactive el interruptor en el **Reenvío de datos** bloque del dispositivo para excluir ese dispositivo de los resultados de la consulta y mantener los demás disponibles.
* Haga clic en **Protocolos**, seleccione la fila y edítela para cambiar el nombre de usuario o la contraseña. Las consultas que usan las credenciales anteriores dejan de funcionar de inmediato, así que avise a quien realiza la consulta antes de cambiarlas.
* Elimine la configuración de la lista de **Protocolos** de la lista para revocar el acceso por completo. Confirme en el cuadro de diálogo.

## Solución de problemas

Cuando una consulta no devuelve datos, verifique lo siguiente en este orden:

1. El retransmisor está habilitado y su interruptor está activado para los dispositivos que está consultando.
2. El nombre de usuario y la contraseña en el encabezado SOAP coinciden con la configuración del retransmisor.
3. Los identificadores de dispositivo en la solicitud son los valores IMEI de los dispositivos de su cuenta.
4. El intervalo de fechas abarca un período en el que esos dispositivos estaban reportando.
5. El intervalo de fechas no abarca más de un día y la solicitud incluye como máximo 100 identificadores de dispositivo.

Para probar una solicitud antes de escribir el código de integración, use [SoapUI](https://www.soapui.org/downloads/soapui/):

1. Instale SoapUI.
2. En el **Archivo** menú, seleccione **Nuevo proyecto SOAP**.
3. Pegue la dirección WSDL de su plataforma en el **WSDL** campo.
4. Seleccione **Crear solicitudes de ejemplo para todas las operaciones**, y luego complete las credenciales y los identificadores de dispositivo.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://navixy.com/docs/user/es/guide/devices-and-settings/connectivity/data-forwarding/navixy-ws.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
