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

# Serviço Web do Navixy

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 ser escolhida quando o sistema de recebimento prefere buscar os dados em seu próprio cronograma ou quando não consegue 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 à medida que ela chega. O Navixy Web Service não envia nada: a Navixy hospeda um endpoint, e o sistema de recebimento solicita os dados que deseja.

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

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

No Navixy, selecione **Navixy Web Service** no **Protocolo** 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` e `longitude` | Posição em graus                                                                                                                                                                 |
| `altitude`               | Altitude em metros                                                                                                                                                               |
| `speedGps`               | Velocidade em quilômetros por hora                                                                                                                                               |
| `course`                 | Rumo como uma direção da bússola, por exemplo `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`              | O número de registro do veículo vinculado 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 externos ao 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 primeiros seis 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 desses 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 término. Um intervalo um pouco maior é tolerado, mas uma solicitação que abranja vários dias falha com `Intervalo longo demais`.

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 de recebimento 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 de login e senha.

## Configurar o endpoint

{% stepper %}
{% step %}

### Abra o bloco de Encaminhamento de dados

Acesse **Dispositivos e configurações**, selecione um dispositivo e depois encontre o **Encaminhamento de dados** bloco.
{% endstep %}

{% step %}

### Abra a lista de protocolos

Clique em **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 %}

### Ativar e salvar

Ligue **Ativado**, depois clique em **Salvar**.
{% endstep %}

{% step %}

### Vincule o retransmissor aos seus dispositivos

Em cada dispositivo **Encaminhamento de dados** dispositivo, ative a chave do retransmissor que você criou e depois clique em **Salvar**. Somente dispositivos vinculados retornam dados. O ID externo não é usado por este protocolo.
{% endstep %}
{% endstepper %}

## Consultar o endpoint

O endereço 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 a 100 repetições:-->
         <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">
            <result>
                <dateGps>2019-10-15T08:48:50.000Z</dateGps>
                <Ignição>false</Ignição>
                <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 %}

## Gerenciar o endpoint

Para alterar ou revogar o acesso:

* Desative o seletor no bloco de um dispositivo **Encaminhamento de dados** bloco para excluir esse dispositivo dos resultados da consulta e manter os demais disponíveis.
* Clique em **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, portanto avise a parte que 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 retorna dados, verifique o seguinte nesta ordem:

1. O retransmissor está habilitado e seu seletor 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 reportando.
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 **menu Arquivo** 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**, 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 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/pt-br/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.
