# 2. اشتراك GraphQL

مخطط التسلسل لاشتراكات GraphQL يوضح كيفية الاستفادة من بنية الحدث-الموجهة المطبقة في نواة GeoPard. عند أي تغييرات في الكيانات المرتبطة، يقوم

واجهة برمجة تطبيقات GeoPard فورًا ببث حدث يلتقط الكيانات المتأثرة والعملية المقابلة (`إدراج`, `تعديل`, `إزالة`). نطاق هذه الاشتراكات واسع، ويغطي جميع الكيانات مثل المزرعة، الحقل، صورة القمر الصناعي، مجموعة بيانات التربة، مجموعة البيانات التطبيقية (AsAppliedDataset)، مجموعة بيانات المحصول، خريطة التضاريس، الملاحظات، إلخ.&#x20;

اشتراك GraphQL ([الطلب 1 أو R1](/geopard-tutorials/ar/mstndat-wajhh-brmjh-alttbyqat/nzrh-aamh-ala-tlbat-wajhh-brmjh-ttbyqat-geopard/1.-alashtrak-alhswl-ala-alahdath.md)) يعمل عبر WebSocket حيث تُسلم جميع الأحداث تقريبًا في الوقت الفعلي، مما يضمن التواصل الفوري لأي تغييرات.&#x20;

{% hint style="danger" %}
يجب أن يعمل مستقبل أحداث الاشتراك كخدمة أساسية، مسؤولة عن توجيه الأحداث المستلمة إلى خدمة لاحقة حيث يتم تطبيق منطق المعالجة. من الضروري ألا يقوم هذا المستقبل بأي مهام معالجة بنفسه.
{% endhint %}

علاوة على ذلك، في حال وجود أي أحداث فائتة أو مفقودة، لدى المستخدمين القدرة على استردادها. يتم ذلك بتنفيذ استعلام GraphQL مُصمم لفترة تاريخية محددة وللكيانات (المستخدم، المزرعة، الحقل)، مما يتيح استعادة كاملة للأحداث السابقة ([الطلب 2 أو R2](/geopard-tutorials/ar/mstndat-wajhh-brmjh-alttbyqat/nzrh-aamh-ala-tlbat-wajhh-brmjh-ttbyqat-geopard/82.-althwyr-astaadh-ahdath-alashtrak.md)). يوفر هذا المستوى من الوظائف ضمانًا بعدم فقدان أي معلومات، مع الحفاظ على سلامة وتناسق بيانات المستخدم.

<figure><img src="/files/2e09705fb03f9a8ea034d06667ed2f6303e4a261" 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/ar/mstndat-wajhh-brmjh-alttbyqat/mkhttat-ma-altdfqat-alasasyh/2.-ashtrak-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.
