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

# Service Web Navixy

Permettez à un système tiers d'interroger les données GPS historiques de Navixy via SOAP, en demandant jusqu'à 100 appareils et un jour de données par appel.

Navixy Web Service fournit à un système tiers un point de terminaison SOAP qu'il interroge pour des données de suivi. C'est l'option à choisir lorsque le système récepteur préfère extraire les données selon son propre calendrier, ou lorsqu'il ne peut pas accepter de connexion entrante.

{% hint style="warning" %}
Navixy Web Service fonctionne différemment de tous les autres protocoles du **Transfert des données** bloc. Les autres envoient chaque message vers une destination dès son arrivée. Navixy Web Service n'envoie rien : Navixy héberge un point de terminaison, et le système récepteur demande les données qu'il souhaite.

Cela a deux conséquences. Navixy ne se connecte jamais au système récepteur, donc les **Adresse** et **Port** champs ne sont pas utilisés. Et parce que le système récepteur lit des données stockées plutôt qu'un flux en direct, une requête peut couvrir une période passée, ce qu'aucun autre protocole ne prend en charge.
{% endhint %}

Comme les données sont au format XML via SOAP et qu'aucun format spécifique à Navixy n'est impliqué, ce protocole convient à tout partenaire capable d'exploiter un WSDL.

Dans Navixy, sélectionnez **Navixy Web Service** dans la **Protocole** menu déroulant.

## Ce que le point de terminaison renvoie

Le point de terminaison renvoie un enregistrement par position stockée, avec les champs suivants :

| Champ                     | Contenu                                                                                                                                                                          |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `deviceId`                | L'identifiant de l'appareil tel qu'il est fourni dans la requête                                                                                                                 |
| `dateGps`                 | Quand l'appareil a enregistré la position, en UTC                                                                                                                                |
| `latitude` et `longitude` | Position en degrés                                                                                                                                                               |
| `altitude`                | Altitude en mètres                                                                                                                                                               |
| `speedGps`                | Vitesse en kilomètres par heure                                                                                                                                                  |
| `course`                  | Cap, sous forme de direction de boussole, par exemple `N`, `SE`, ou `O`                                                                                                          |
| `Contact`                 | Indique si le contact était mis                                                                                                                                                  |
| `numSat`                  | Nombre de satellites utilisés par l'appareil                                                                                                                                     |
| `Compteur kilométrique`   | Le relevé du compteur kilométrique indiqué par l'appareil, en kilomètres                                                                                                         |
| `unitPlate`               | Le numéro d'immatriculation du véhicule lié à l'appareil                                                                                                                         |
| `eventId`                 | Le code d'événement, suivant [les identifiants d'événement du Navixy Generic Protocol](/docs/iot-logic-api/technologies/navixy-generic-protocol/predefined-event-identifiers.md) |

Deux champs dépendent de données extérieures à l'appareil. `unitPlate` est vide lorsque l'appareil n'est pas lié à un véhicule, et Navixy raccourcit le numéro d'immatriculation en supprimant les espaces et les tirets et en conservant les six premiers caractères. Un appareil qui n'est pas autorisé à se connecter ne renvoie aucun enregistrement, plutôt qu'une erreur.

## Limites de requête

Chaque requête doit respecter ces limites, sinon le point de terminaison renvoie une erreur :

* Au maximum **100 identifiants d'appareil** par requête.
* Au maximum **un jour** entre la date de début et la date de fin. Une plage légèrement plus longue est tolérée, mais une requête couvrant plusieurs jours échoue avec `Intervalle trop long`.

Pour couvrir une période plus longue, envoyez une requête par jour.

## Avant de commencer

Contrairement aux autres protocoles, vous n'avez besoin de rien de la part d'un tiers. Vous choisissez l'identifiant de connexion et le mot de passe, et le système récepteur les utilise pour s'authentifier.

Choisissez un identifiant de connexion qu'aucun autre retransmetteur de votre compte n'utilise déjà, car Navixy identifie le retransmetteur par la paire identifiant de connexion / mot de passe.

## Configurer le point de terminaison

{% stepper %}
{% step %}

### Ouvrez le bloc Transfert des données

Accédez à **Paramétrage des traceurs**, sélectionnez un appareil, puis recherchez le **Transfert des données** bloc.
{% endstep %}

{% step %}

### Ouvrez la liste des protocoles

Cliquez **Protocoles**, puis cliquez **+** pour ajouter une configuration.
{% endstep %}

{% step %}

### Saisissez les paramètres de Navixy Web Service

Renseignez les champs comme suit :

* **Nom** : un libellé qui identifie ce retransmetteur
* **Protocole**: **Navixy Web Service**
* **Adresse** : toute adresse valide. Ce protocole ne l'utilise pas, mais le champ est obligatoire.
* **Port**: n'importe quel numéro de port. Ce protocole ne l'utilise pas non plus.
* **Identifiant**: un identifiant de votre choix, qui n'est pas déjà utilisé par un autre retransmetteur
* **Mot de passe**: un mot de passe de votre choix

Communiquez l'identifiant et le mot de passe à la partie qui interrogera le point de terminaison.
{% endstep %}

{% step %}

### Activer et enregistrer

Activez **Activé**, puis cliquez **Enregistrer**.
{% endstep %}

{% step %}

### Associez le retransmetteur à vos appareils

Dans chaque appareil **Transfert des données** bloc de l’appareil, activez le bouton bascule du retransmetteur que vous avez créé, puis cliquez sur **Enregistrer**. Seuls les appareils liés renvoient des données. L'ID externe n'est pas utilisé par ce protocole.
{% endstep %}
{% endstepper %}

## Interrogez le point de terminaison

L'adresse WSDL dépend de la plateforme qui héberge votre compte :

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

Envoyez une requête sous cette forme, avec l'identifiant et le mot de passe dans l'en-tête SOAP et les identifiants des appareils ainsi que la plage de dates dans le corps. Les identifiants des appareils correspondent aux valeurs IMEI des appareils :

{% 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 %}

La réponse contient un `résultat` par élément de position enregistrée :

{% 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>
                <Contact>false</Contact>
                <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>
                <Compteur kilométrique>59845</Compteur kilométrique>
                <eventId>401</eventId>
            </result>
        </ns:getLocationDataResponse>
    </S:Body>
</S:Envelope>
```

{% endcode %}

## Gérer le point de terminaison

Pour modifier ou révoquer l’accès :

* Désactivez le bouton bascule dans le bloc de l’appareil **Transfert des données** pour exclure cet appareil des résultats de la requête et conserver les autres disponibles.
* Cliquez **Protocoles**, sélectionnez la ligne et modifiez-la pour changer l’identifiant de connexion ou le mot de passe. Les requêtes utilisant les anciennes informations d’identification cessent immédiatement de fonctionner, alors prévenez le client qui effectue la requête avant de les modifier.
* Supprimez la configuration de la **Protocoles** la liste pour révoquer complètement l’accès. Confirmez dans la boîte de dialogue.

## Dépannage

Lorsque une requête ne renvoie aucune donnée, vérifiez les points suivants dans l’ordre :

1. Le retransmetteur est activé, et son bouton bascule est activé pour les appareils que vous interrogez.
2. L’identifiant de connexion et le mot de passe dans l’en-tête SOAP correspondent à la configuration du retransmetteur.
3. Les identifiants d’appareil dans la requête sont les valeurs IMEI des appareils de votre compte.
4. La plage de dates couvre une période pendant laquelle ces appareils transmettaient des données.
5. La plage de dates ne s’étend pas sur plus d’un jour et la requête ne contient pas plus de 100 identifiants d’appareil.

Pour tester une requête avant d’écrire le code d’intégration, utilisez [SoapUI](https://www.soapui.org/downloads/soapui/):

1. Installez SoapUI.
2. Depuis le **Fichier** menu, sélectionnez **Nouveau projet SOAP**.
3. Collez l’adresse WSDL de votre plateforme dans le **WSDL** champ.
4. Sélectionnez **Créer des requêtes d’exemple pour toutes les opérations**, puis renseignez les identifiants de connexion et les identifiants d’appareil.


---

# 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/fr/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.
