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

# Layanan Web Navixy

Biarkan sistem pihak ketiga meminta data GPS historis dari Navixy melalui SOAP, dengan permintaan hingga 100 perangkat dan data satu hari per panggilan.

Navixy Web Service menyediakan endpoint SOAP kepada sistem pihak ketiga yang digunakannya untuk meminta data pelacakan. Ini adalah opsi yang dipilih ketika sistem penerima lebih suka menarik data sesuai jadwalnya sendiri, atau ketika sistem tersebut tidak dapat menerima koneksi masuk.

{% hint style="warning" %}
Navixy Web Service bekerja berbeda dari setiap protokol lain di **Penerusan data** blok. Yang lain mengirim setiap pesan ke tujuan saat pesan itu tiba. Navixy Web Service tidak mengirim apa pun: Navixy menyediakan sebuah endpoint, dan sistem penerima meminta data yang diinginkannya.

Hal ini memiliki dua konsekuensi. Navixy tidak pernah terhubung ke sistem penerima, sehingga **Alamat** dan **Port** kolom-kolom tersebut tidak digunakan. Dan karena sistem penerima membaca data tersimpan, bukan aliran langsung, kueri dapat mencakup periode lampau, yang tidak didukung oleh protokol lain.
{% endhint %}

Karena datanya berupa XML melalui SOAP dan tidak melibatkan format khusus Navixy, protokol ini cocok untuk mitra apa pun yang dapat menggunakan WSDL.

Di Navixy, pilih **Layanan Web Navixy** di **Protokol** menu tarik-turun.

## Apa yang dikembalikan endpoint

Endpoint mengembalikan satu catatan per posisi tersimpan, dengan bidang-bidang berikut:

| Bidang                     | Isi                                                                                                                                                                      |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `deviceId`                 | ID perangkat sebagaimana diberikan dalam permintaan                                                                                                                      |
| `dateGps`                  | Saat perangkat merekam posisi, dalam UTC                                                                                                                                 |
| `latitude` dan `longitude` | Posisi dalam derajat                                                                                                                                                     |
| `ketinggian`               | Ketinggian dalam meter                                                                                                                                                   |
| `speedGps`                 | Kecepatan dalam kilometer per jam                                                                                                                                        |
| `haluan`                   | Arah kompas, seperti `N`, `SE`, atau `B`                                                                                                                                 |
| `pengapian`                | Apakah pengapian menyala                                                                                                                                                 |
| `numSat`                   | Jumlah satelit yang digunakan perangkat                                                                                                                                  |
| `odometer`                 | Pembacaan odometer yang dilaporkan oleh perangkat, dalam kilometer                                                                                                       |
| `unitPlate`                | Nomor registrasi kendaraan yang ditautkan ke perangkat                                                                                                                   |
| `eventId`                  | Kode peristiwa, mengikuti [pengidentifikasi peristiwa Navixy Generic Protocol](/docs/iot-logic-api/technologies/navixy-generic-protocol/predefined-event-identifiers.md) |

Dua bidang bergantung pada data di luar perangkat. `unitPlate` kosong ketika perangkat tidak ditautkan ke kendaraan, dan Navixy memendekkan nomor registrasi dengan menghapus spasi dan tanda hubung serta mempertahankan enam karakter pertama. Perangkat yang tidak diizinkan untuk terhubung tidak mengembalikan catatan sama sekali, melainkan kesalahan.

## Batas permintaan

Setiap permintaan harus tetap dalam batas ini, atau endpoint akan mengembalikan fault:

* Maksimal **100 ID perangkat** per permintaan.
* Maksimal **satu hari** antara tanggal mulai dan tanggal akhir. Rentang yang sedikit lebih panjang masih ditoleransi, tetapi permintaan yang mencakup beberapa hari gagal dengan `Interval terlalu panjang`.

Untuk mengumpulkan periode yang lebih panjang, kirim satu permintaan per hari.

## Sebelum Anda mulai

Tidak seperti protokol lainnya, Anda tidak memerlukan apa pun dari pihak ketiga. Anda memilih login dan kata sandi, dan sistem penerima menggunakannya untuk autentikasi.

Pilih login yang belum digunakan oleh retranslator lain di akun Anda, karena Navixy mengidentifikasi retranslator melalui pasangan login dan kata sandi.

## Siapkan endpoint

{% stepper %}
{% step %}

### Buka blok Penerusan data

Buka **Perangkat dan pengaturan**, pilih perangkat, lalu temukan blok **Penerusan data** blok.
{% endstep %}

{% step %}

### Buka daftar protokol

Klik **Protokol**, lalu klik **+** untuk menambahkan konfigurasi.
{% endstep %}

{% step %}

### Masukkan pengaturan Navixy Web Service

Isi kolom sebagai berikut:

* **Nama**: label yang mengidentifikasi retranslator ini
* **Protokol**: **Layanan Web Navixy**
* **Alamat**: alamat valid apa pun. Protokol ini tidak menggunakannya, tetapi kolom ini wajib diisi.
* **Port**: nomor port apa pun. Protokol ini juga tidak menggunakannya.
* **Nama pengguna**: login pilihan Anda, yang belum digunakan oleh retranslator lain
* **Kata sandi**: kata sandi pilihan Anda

Berikan login dan kata sandi kepada pihak yang akan meminta data dari endpoint.
{% endstep %}

{% step %}

### Aktifkan dan simpan

Nyalakan **Diaktifkan**, lalu klik **Simpan**.
{% endstep %}

{% step %}

### Tautkan retranslator ke perangkat Anda

Di setiap perangkat **Penerusan data** aktifkan sakelar untuk retranslator yang Anda buat, lalu klik **Simpan**. Hanya perangkat yang ditautkan yang mengembalikan data. External ID tidak digunakan oleh protokol ini.
{% endstep %}
{% endstepper %}

## Kueri endpoint

Alamat WSDL bergantung pada platform yang menjadi host akun Anda:

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

Kirim permintaan dalam format ini, dengan login dan kata sandi di header SOAP serta ID perangkat dan rentang tanggal di badan. ID perangkat adalah nilai IMEI perangkat:

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

Respons berisi satu `hasil` elemen per posisi yang tersimpan:

{% code overflow="wrap" %}

```xml
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
        <ns:getLocationDataResponse xmlns:ns="http://tempuri.org">
            <hasil>
                <tanggalGps>2019-10-15T08:48:50.000Z</tanggalGps>
                <Pengapian>false</Pengapian>
                <lintang>75.9270866</lintang>
                <bujur>-85.5207616</bujur>
                <kecepatanGps>0.0</kecepatanGps>
                <pelatUnit>JRT1550</pelatUnit>
                <ketinggian>284.0</ketinggian>
                <arah>N</arah>
                <idPerangkat>866258048802349</idPerangkat>
                <numSat>15</numSat>
                <odometer>59845</odometer>
                <eventId>401</eventId>
            </result>
        </ns:getLocationDataResponse>
    </S:Body>
</S:Envelope>
```

{% endcode %}

## Kelola endpoint

Untuk mengubah atau mencabut akses:

* Nonaktifkan toggle pada **Penerusan data** blokir untuk mengecualikan perangkat tersebut dari hasil kueri, dan biarkan yang lain tetap tersedia.
* Klik **Protokol**, pilih barisnya, lalu sunting untuk mengubah login atau kata sandi. Kueri yang menggunakan kredensial lama akan langsung berhenti berfungsi, jadi beri tahu pihak yang melakukan kueri sebelum Anda mengubahnya.
* Hapus konfigurasi dari **Protokol** daftar untuk mencabut akses sepenuhnya. Konfirmasikan di dialog.

## Pemecahan masalah

Saat kueri tidak mengembalikan data, periksa hal berikut secara berurutan:

1. Retranslator diaktifkan, dan toggle-nya dinyalakan untuk perangkat yang Anda kueri.
2. Login dan kata sandi di header SOAP cocok dengan konfigurasi retranslator.
3. ID perangkat dalam permintaan adalah nilai IMEI perangkat di akun Anda.
4. Rentang tanggal mencakup periode ketika perangkat tersebut mengirimkan laporan.
5. Rentang tanggal tidak melebihi satu hari, dan permintaan mencantumkan tidak lebih dari 100 ID perangkat.

Untuk menguji permintaan sebelum menulis kode integrasi, gunakan [SoapUI](https://www.soapui.org/downloads/soapui/):

1. Instal SoapUI.
2. Dari **Berkas** menu, pilih **New SOAP Project**.
3. Tempelkan alamat WSDL untuk platform Anda ke dalam **WSDL** bidang.
4. Pilih **Buat permintaan contoh untuk semua operasi**, lalu isi kredensial dan ID perangkat.


---

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