# 2. Підписка GraphQL

Діаграма послідовності для GraphQL підписок ілюструє, як скористатися архітектурою, орієнтованою на події, реалізованою в ядрі GeoPard. При будь-яких змінах пов'язаних сутностей

API GeoPard оперативно генерує подію, що фіксує постраждалі сутності та відповідну операцію (`INSERT`, `MODIFY`, `REMOVE`). Обсяг цих підписок є широким і охоплює всі сутності, такі як Farm, Field, SatelliteImage, SoilDataset, AsAppliedDataset, YieldDataset, TopographyMap, Notes тощо.&#x20;

GraphQL підписка ([Запит 1 або R1](/geopard-tutorials/ukrainian/dokumentaciya-api/oglyad-zapitiv-geopard-api/1.-pidpiska-otrimati-podiyi.md)) працює через WebSocket, де всі події доставляються майже в режимі реального часу, забезпечуючи миттєве повідомлення про будь-які зміни.&#x20;

{% hint style="danger" %}
Отримувач подій підписки повинен функціонувати як базовий сервіс, відповідальний за маршрутизацію отриманих подій до наступного сервісу, де застосовується логіка обробки. Вкрай важливо, щоб цей отримувач самостійно не виконував жодних обробних завдань.
{% endhint %}

Крім того, у випадку пропущених або втрачених подій користувачі мають можливість їх отримати. Це досягається виконанням GraphQL-запиту, адаптованого для конкретного діапазону дат і сутностей (User, Farm, Field), що ефективно дозволяє повне відновлення минулих подій ([Запит 2 або R2](/geopard-tutorials/ukrainian/dokumentaciya-api/oglyad-zapitiv-geopard-api/82.-mutaciya-vidnoviti-podiyi-pidpiski.md)). Такий рівень функціональності гарантує, що жодна інформація не буде втрачена, зберігаючи цілісність та послідовність даних користувача.

<figure><img src="/files/4882858fd69aa8964845f8ec62ea8813ad2fd0c9" alt=""><figcaption><p>Діаграма послідовності: Робота з подіями підписки</p></figcaption></figure>


---

# 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.geopard.tech/geopard-tutorials/ukrainian/dokumentaciya-api/diagrami-z-bazovimi-potokami/2.-pidpiska-graphql.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.
