# HTTP | Subscribe and Notify Mechanism

#### Prasyarat <a href="#prasyarat" id="prasyarat"></a>

1. Memiliki software NGROK. Jika Anda belum memilikinya, silakan buka link berikut [link. NGROK](https://ngrok.com/download).
2. Memiliki Node JS. Jika Anda belum memilikinya, silakan buka link berikut [link. Node JS](https://nodejs.org/en/).
3. Memiliki POSTMAN. Jika Anda belum memilikinya, silakan buka link berikut [link. POSTMAN](https://www.postman.com/downloads/).

#### Langkah-langkah <a href="#langkah" id="langkah"></a>

1. Login akun Antares Anda melalui Antares Console [https://console.antares.id](https://console.antares.id/)

<figure><img src="/files/7rQIpu4RWlSN70kMJmr0" alt=""><figcaption></figcaption></figure>

2. Buat Aplikasi, jika Anda telah memilikinya, abaikan untuk melanjutkan ke proses berikutnya.&#x20;

<figure><img src="/files/VkqMdNa0big8gDYGGrZg" alt=""><figcaption></figcaption></figure>

3. Buat Device, jika Anda telah memilikinya, abaikan untuk melanjutkan ke proses berikutnya.

<figure><img src="/files/bacHfSYUmGMrBJJo0w1s" alt=""><figcaption></figcaption></figure>

1. Mulai dengan menuliskan kode program untuk mendapatkan data dari ANTARES. Anda dapat menggunakan kode program berikut ini: Copy kode program tersebut ke penyimpanan lokal komputer Anda kemudian simpan dalam format **.js extension.** Dalam tutorial ini, kami simpan dengan monitor.js

   <pre class="language-javascript" data-line-numbers><code class="lang-javascript">var express = require('express');
   var app = express();
   var server = require('http').createServer(app);
   var bodyParser = require('body-parser');
   var util = require('util')

   app.use(bodyParser.json());
   app.use(bodyParser.urlencoded({ extended: false }));

   app.post('/monitor', function(req, res, next) {
     console.log(util.inspect(req.body, false, null));
     res.send('ack');
   });


   server.listen(9000, function() {
     console.log('App listening on port 9000');
   });
   </code></pre>

   <figure><img src="/files/7OZ9aCPnpE0bkVeGr3n2" alt=""><figcaption></figcaption></figure>
2. Buka command prompt (windows) atau terminal (linux)

   <figure><img src="/files/m1EysWxA5gsp3nQ7Ewoi" alt=""><figcaption></figcaption></figure>

   Masukkan direktori file kode program yang telah Anda simpan sebelumnya

   <figure><img src="/files/yIb8JlPKcKVUxfBh9CWz" alt=""><figcaption></figcaption></figure>
3. Jalankan kode program dengan melakukan sesuai dengan gambar dibawah ini.<br>

   <figure><img src="/files/xm7DUsp6eGIffa4gGnuQ" alt=""><figcaption></figcaption></figure>

   **Kode program yang berhasil** dapat dilihat seperti pada gambar berikut ini.

   <figure><img src="/files/wN2PXoUwc7iNKZGGNRjv" alt=""><figcaption></figcaption></figure>

   Mendapatkan masalah? Jika ya, eksekusi sintaks berikut ini. **Jika tidak, abaikan proses ini.**

   <figure><img src="/files/NT8LCBQZM0tS5M0NteL9" alt=""><figcaption></figcaption></figure>

   Install paket yang belum terinstall.

   <figure><img src="/files/UL53zbFRTyATB1VYCDXT" alt=""><figcaption></figcaption></figure>

   Lakukan Allow Access ketika sedang menjalakan kode program.<br>

   <figure><img src="/files/fydx5cSPmmLbFiDzMIkm" alt=""><figcaption></figcaption></figure>
4. Mulai menjalankan **NGROK**. **NGROK** akan membantu Anda untuk membuka localhost Anda ke public domain.\
   Pertama, masuk ke direktori NGROK. **Pastikan Anda sudah mengekstraknya, sehingga sudah dalam format file .exe.**

   ```java
   cd download-path/
   ```

   Jalankan **NGROK** dengan menggunakan port 9000 dengan cara sebagai berikut:

   ```java
   ngrok.exe port 9000
   ```
5. Buka Device yang telah Anda buat sebelumnya. Klik tombol Webhook.

<figure><img src="/files/4F076Fmlo2JYqwz8e9NE" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/kka9nmb8j9oLny0y2Tni" alt=""><figcaption></figcaption></figure>

**Tambahkan /monitor** pada akhir URL NGROK seperti dibawah ini.

<figure><img src="/files/oYelb3HraTLQINCGXF1W" alt=""><figcaption></figcaption></figure>

Ketika Anda telah berhasil mensubscribenya, akan muncul pop up.<br>

<figure><img src="/files/IUl9LmJMuQAz7ja022rG" alt=""><figcaption></figcaption></figure>

1. Mari periksa apakah server Anda mendapatkan notifikasi dengan perangkat emulator menggunakan POSTMAN. Silakan buka POSTMAN, dan isi semua parameter dengan informasi berikut ini.

<table data-header-hidden><thead><tr><th width="111"></th><th width="569.3333333333334"></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Value</strong></td></tr><tr><td>URL</td><td><mark style="color:red;"><code>https://platform.antares.id:8443/~/antares-cse/antares-id/your-project-name/your-device-name</code></mark><br>or<br><mark style="color:red;"><code>https://platform.antares.id:8443/~/antares-cse/your-device-ID</code></mark><br><br>Note: <mark style="color:red;"><code>your-device-ID</code></mark> must be starting with <mark style="color:red;"><code>CNT</code></mark>. e.g. <mark style="color:red;"><code>CNT-842419289</code></mark></td></tr><tr><td>Method</td><td><code>POST</code></td></tr></tbody></table>

Mari periksa apakah server Anda mendapatkan notifikasi dengan perangkat emulator menggunakan POSTMAN. Silakan buka POSTMAN, dan isi semua parameter dengan informasi berikut ini.

<table data-header-hidden><thead><tr><th width="111"></th><th width="569.3333333333334"></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Value</strong></td></tr><tr><td>URL</td><td><code>https://platform.antares.id:8443/~/antares-cse/antares-id/your-project-name/your-device-name</code><br>or<br><code>https://platform.antares.id:8443/~/antares-cse/your-device-ID</code><br><br>Note: <code>your-device-ID</code> must be starting with <code>CNT</code>. e.g. <code>CNT-842419289</code></td></tr><tr><td>Method</td><td><code>POST</code></td></tr></tbody></table>

**Header**

|              |                                                         |
| ------------ | ------------------------------------------------------- |
| **Key**      | Value                                                   |
| X-M2M-Origin | <mark style="color:red;">`your-access-key`</mark>       |
| Content-Type | <mark style="color:red;">`application/json;ty=4`</mark> |
| Accept       | <mark style="color:red;">`application/json`</mark>      |

**Body**

```json
{
  {
  "m2m:cin": {
    "xmlns:m2m": "http://www.onem2m.org/xml/protocols",
    "cnf": "application/json",
    "con": "{\"temperature\":30.3, \"humidity\":35.1}"
  }
}
```

Selama Anda mengirimkan data, aplikasi server monitor Anda akan mendapatkan data yang server dapatkan. Data tersebut dapat dilihat seperti berikut ini.

**Selamat! Anda baru saja mendapatkan notifikasi data.**


---

# Agent Instructions: 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:

```
GET https://docs.antares.id/contoh-kode-dan-library/http-or-subscribe-and-notify-mechanism.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
