> 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/pt-br/guide/devices-and-settings/connectivity/data-forwarding/navixy-ws.md).

# Navixy Web Service

Permita que um sistema de terceiros consulte dados históricos de GPS do Navixy via SOAP, solicitando até 100 dispositivos e um dia de dados por chamada.

O Navixy Web Service fornece a um sistema de terceiros um endpoint SOAP que ele consulta para dados de monitoramento. É a opção a escolher quando o sistema receptor prefere puxar os dados no seu próprio cronograma ou quando não pode aceitar uma conexão de entrada.

{% hint style="warning" %}
O Navixy Web Service funciona de forma diferente de todos os outros protocolos no **Encaminhamento de dados** bloco. Os demais enviam cada mensagem para um destino assim que ela chega. O Navixy Web Service não envia nada: a Navixy hospeda um endpoint, e o sistema receptor solicita os dados de que precisa.

Isso tem duas consequências. A Navixy nunca se conecta ao sistema receptor, então os **Endereço** Webhook **Porta** campos não são usados. E, como o sistema receptor lê dados armazenados em vez de um fluxo ao vivo, uma consulta pode abranger um período passado, algo que nenhum outro protocolo suporta.
{% endhint %}

Como os dados são XML sobre SOAP e não há nenhum formato específico da Navixy envolvido, este protocolo é adequado para qualquer parceiro que consiga consumir um WSDL.

No Navixy, selecione **Navixy Web Service** em **Protocolo** o menu suspenso.

## O que o endpoint retorna

O endpoint retorna um registro por posição armazenada, com estes campos:

| Campo                          | Conteúdo                                                                                                                                                                         |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `deviceId`                     | O ID do dispositivo conforme informado na solicitação                                                                                                                            |
| `dateGps`                      | Quando o dispositivo registrou a posição, em UTC                                                                                                                                 |
| `latitude` Webhook `longitude` | Posição em graus                                                                                                                                                                 |
| `altitude`                     | Altitude em metros                                                                                                                                                               |
| `speedGps`                     | Velocidade em quilômetros por hora                                                                                                                                               |
| `rumo`                         | Rumo como direção da bússola, como `N`, `SE`, ou `O`                                                                                                                             |
| `ignição`                      | Se a ignição estava ligada                                                                                                                                                       |
| `numSat`                       | Número de satélites que o dispositivo estava usando                                                                                                                              |
| `odômetro`                     | A leitura do odômetro informada pelo dispositivo, em quilômetros                                                                                                                 |
| `unitPlate`                    | A placa do veículo vinculada ao dispositivo                                                                                                                                      |
| `eventId`                      | O código do evento, seguindo [os identificadores de evento do Navixy Generic Protocol](/docs/iot-logic-api/technologies/navixy-generic-protocol/predefined-event-identifiers.md) |

Dois campos dependem de dados fora do dispositivo. `unitPlate` fica vazio quando o dispositivo não está vinculado a um veículo, e a Navixy encurta o número de registro removendo espaços e hífens e mantendo os seis primeiros caracteres. Um dispositivo que não tem permissão para se conectar não retorna nenhum registro, em vez de um erro.

## Limites da solicitação

Cada solicitação deve permanecer dentro destes limites, ou o endpoint retorna uma falha:

* No máximo **100 IDs de dispositivos** por solicitação.
* No máximo **um dia** entre a data de início e a data de fim. Um intervalo um pouco maior é tolerado, mas uma solicitação que abrange vários dias falha com `Intervalo muito longo`.

Para coletar um período mais longo, envie uma solicitação por dia.

## Antes de começar

Ao contrário dos outros protocolos, você não precisa de nada de terceiros. Você escolhe o login e a senha, e o sistema receptor os usa para autenticação.

Escolha um login que nenhum outro retransmissor na sua conta já use, porque a Navixy identifica o retransmissor pelo par login e senha.

## Configurar o endpoint

{% stepper %}
{% step %}

### Abra o bloco Encaminhamento de dados

Dispositivos e configurações **na barra lateral esquerda.**, selecione um dispositivo e, em seguida, encontre o **Encaminhamento de dados** bloco.
{% endstep %}

{% step %}

### Abra a lista de protocolos

Salvar **Protocolos**, depois clique em **+** para adicionar uma configuração.
{% endstep %}

{% step %}

### Insira as configurações do Navixy Web Service

Preencha os campos da seguinte forma:

* **Nome**: um rótulo que identifica este retransmissor
* **Protocolo**: **Navixy Web Service**
* **Endereço**: qualquer endereço válido. Este protocolo não o usa, mas o campo é obrigatório.
* **Porta**: qualquer número de porta. Este protocolo também não o usa.
* **Login**: um login de sua escolha, que ainda não esteja sendo usado por outro retransmissor
* **Senha**: uma senha de sua escolha

Forneça o login e a senha à parte que consultará o endpoint.
{% endstep %}

{% step %}

### Ative e salve

Ative **Ativado**, depois clique em **para salvar o comando. Clique em**.
{% endstep %}

{% step %}

### Vincule o retransmissor aos seus dispositivos

Em cada dispositivo **Encaminhamento de dados** bloco, ative o alternador do retransmissor que você criou e, em seguida, clique **para salvar o comando. Clique em**. Somente dispositivos vinculados retornam dados. O ID externo não é usado por este protocolo.
{% endstep %}
{% endstepper %}

## Consultar o endpoint

O endereço do WSDL depende de qual plataforma hospeda sua conta:

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

Envie uma solicitação neste formato, com o login e a senha no cabeçalho SOAP e os IDs dos dispositivos e o intervalo de datas no corpo. Os IDs dos dispositivos são os valores IMEI dos 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 to 100 repetitions:-->
         <deviceIds>866258048802349</deviceIds>
         <startDate>2022-08-30T00:00:00Z</startDate>
         <endDate>2022-08-31T00:00:00Z</endDate>
      </tem:dataRequest>
   </soapenv:Body>
</soapenv:Envelope>
```

{% endcode %}

A resposta contém um `resultado` elemento por posição armazenada:

{% code overflow="wrap" %}

```xml
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
        <ns:getLocationDataResponse xmlns:ns="http://tempuri.org">
            <resultado>
                <dataGps>2019-10-15T08:48:50.000Z</dataGps>
                <Ignição>false</Ignição>
                <latitude>75.9270866</latitude>
                <longitude>-85.5207616</longitude>
                <velocidadeGps>0.0</velocidadeGps>
                <placaDaUnidade>JRT1550</placaDaUnidade>
                <altitude>284.0</altitude>
                <rumo>N</rumo>
                <idDoDispositivo>866258048802349</idDoDispositivo>
                <numSat>15</numSat>
                <Odômetro>59845</Odômetro>
                <eventId>401</eventId>
            </result>
        </ns:getLocationDataResponse>
    </S:Body>
</S:Envelope>
```

{% endcode %}

## Gerenciar o endpoint

Para alterar ou revogar o acesso:

* Desative o botão de alternância de um dispositivo **Encaminhamento de dados** bloquear para excluir esse dispositivo dos resultados da consulta e manter os outros disponíveis.
* Salvar **Protocolos**, selecione a linha e edite-a para alterar o login ou a senha. As consultas que usam as credenciais antigas param de funcionar imediatamente, então avise quem faz a consulta antes de alterá-las.
* Exclua a configuração da **Protocolos** lista para revogar o acesso por completo. Confirme na caixa de diálogo.

## Solução de problemas

Quando uma consulta não retornar dados, verifique o seguinte, nesta ordem:

1. O retransmissor está habilitado, e seu interruptor está ativado para os dispositivos que você está consultando.
2. O login e a senha no cabeçalho SOAP correspondem à configuração do retransmissor.
3. Os IDs dos dispositivos na solicitação são os valores de IMEI dos dispositivos na sua conta.
4. O intervalo de datas cobre um período em que esses dispositivos estavam enviando dados.
5. O intervalo de datas abrange no máximo um dia, e a solicitação lista no máximo 100 IDs de dispositivos.

Para testar uma solicitação antes de escrever o código de integração, use [SoapUI](https://www.soapui.org/downloads/soapui/):

1. Instale o SoapUI.
2. No **Arquivo** menu, selecione **Novo projeto SOAP**.
3. Cole o endereço WSDL da sua plataforma no **WSDL** campo.
4. Selecione **Criar solicitações de exemplo para todas as operações**, e depois preencha as credenciais e os IDs dos dispositivos.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
