> For the complete documentation index, see [llms.txt](https://docs.efento.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.efento.io/nb-iot-loggers/integrations/efento-coap-loader.md).

# Efento CoAP Loader

## **Overview**

The **Efento CoAP Loader** is a lightweight integration component that connects Efento IoT sensors with your software platform. It runs a dedicated **CoAP server** that receives messages from sensors and forwards the decoded data to your system using a **REST API (JSON)**.

In addition to forwarding measurements, the loader also enables **remote device configuration**. Your platform can include configuration payloads in the REST response, which the loader will deliver back to the sensor in the **CoAP response**, allowing parameters such as transmission intervals or device settings to be updated remotely.

The loader also forwards **important operational metadata** together with the measurements. This includes information such as **signal strength, cellular network details (e.g., cell information), device status, and any reported issues or alerts**, allowing your platform to monitor both sensor data and device health.

## Architecture & Data Flow

The CoAP Loader acts as an intermediary layer between Efento sensors and your application.

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

1. **Sensor Transmission**\
   Efento NB-IoT sensors send measurement data using the CoAP protocol over UDP.
2. **Data Processing by the Loader**\
   The loader receives incoming CoAP packets, decodes the payload, and converts the data into a JSON message.
3. **Forwarding to Your Application**\
   The JSON message is sent to your application via REST API at the configured endpoints.
4. **Application Response**\
   After processing the data, your application returns a response to the loader. The response can:
   1. Confirm successful reception of the data (ACK), or
   2. Confirm reception and include a configuration payload with updated device settings (only for /measurements endpoint).
5. **Response to the Sensor**\
   The loader converts the REST response into a CoAP message and sends it back to the sensor, completing the communication cycle.

## Key Benefits

**Protocol Translation**\
Automatically converts **CoAP sensor communication** into standard **REST API requests**, allowing easy integration with existing backend systems.

**Remote Device Configuration**\
Allows your platform to **remotely configure sensors** by including configuration payloads in the REST response to the **/measurements endpoint**, which the loader forwards to the device in the CoAP reply.

**Rich Device Metadata**\
In addition to measurements, the loader provides **connectivity and device health information**, including signal strength, cellular network data, device status, and diagnostic flags.

**Simple Deployment**\
The loader is delivered as a **single Java application (.jar)** and can be deployed on any machine with Java installed, enabling quick integration and testing with your platform.


---

# 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://docs.efento.io/nb-iot-loggers/integrations/efento-coap-loader.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.
