> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# تقرير التحقق من الموقع: حقول geolocation_checks

> حلل geolocation_checks في Didit ضمن قرار الجلسة: الموقع، الدقة، المناطق، المسافات، أدوات إخفاء الهوية، والموافقة والتحذيرات.

## نظرة عامة

يعيد قرار الجلسة نتيجة كل خطوة من خطوات التحقق من الموقع في قائمتين: تحتوي `geolocation_checks[]` على المحاولة المقبولة لكل خطوة، بينما تسرد `geolocation_attempts[]` كل محاولة بالترتيب.
كلاهما متاح على `GET /v3/session/{sessionId}/decision/` (راجع [استرداد الجلسة](https://docs.didit.me/ar/sessions-api/retrieve-session.md)) وفي webhook الخاص بـ `status.updated`.
يعيد سير العمل الذي لا يتضمن أي خطوة موقع القيمة `null` أو قائمة فارغة لكليهما.

```text theme={null}
GET /v3/session/{sessionId}/decision/
  --> { "geolocation_checks": [ { node_id, status, outcome, permission, latitude, longitude, accuracy_m, ... } ],
        "geolocation_attempts": [ { node_id, outcome, attempts, received_at, ... } ] }
```

## `geolocation_checks[]`

عنصر واحد لكل خطوة موقع (`node_id`)، مأخوذ من أحدث محاولة لها.

```json theme={null}
{
  "node_id": "geolocation_1",
  "status": "Declined",
  "outcome": "outside_geofence",
  "permission": "granted_precise",
  "latitude": 48.8566,
  "longitude": 2.3522,
  "accuracy_m": 35.0,
  "accuracy_confidence": "p95",
  "measured_at": "2026-11-03T10:15:02Z",
  "age_seconds": 2,
  "source": "browser",
  "platform": "web",
  "sdk_version": null,
  "is_mock": null,
  "produced_by_accessory": null,
  "integrity": "unsupported",
  "country_code": "FR",
  "region_code": "FR-IDF",
  "city": "Paris",
  "geofence": { "enabled": true, "result": "outside" },
  "inside_geofence": false,
  "geofence_basis": "device",
  "inside_areas": [],
  "blocked_areas": [],
  "position_source": "device_and_ip",
  "anonymizers": { "vpn": false, "proxy": false, "tor": false, "spoofing": null, "emulator": null },
  "ip_distance_km": 0,
  "ip_distance_uncertainty_km": 12.4,
  "ip_consistent": true,
  "document_distance_km": null,
  "travel_excused": null,
  "consecutive_mismatches": 1,
  "attempts": 3,
  "consent": { "accepted_at": "2026-11-03T10:14:55Z", "version": "hosted-web-1", "locale": "en" },
  "warnings": [
    {
      "risk": "LOCATION_OUTSIDE_GEOFENCE",
      "log_type": "error",
      "short_description": "Device location outside the allowed area",
      "node_id": "geolocation_1"
    }
  ]
}
```

| الحقل | النوع | الوصف |
| - | - | - |
| `node_id` | string | عقدة سير العمل التي أنتجت النتيجة، ليبقى سير العمل الذي يتضمن خطوتي موقع قابلًا للقراءة. |
| `status` | string | `Approved`، أو `In Review`، أو `Declined`، أو `Not Finished`، ويتم تحديدها بناءً على التحذيرات. |
| `outcome` | string | ما حدث في المحاولة المقبولة. راجع [النتائج](https://docs.didit.me/ar/core-technology/location-verification/overview.md#النتائج). |
| `permission` | string | ما منحه النظام: `granted_precise`، أو `granted_approximate`، أو `denied`، أو `restricted`، أو `unavailable`، أو `timeout`، أو `dismissed`، أو `not_requested` (خطوة تعتمد على IP فقط). |
| `latitude`, `longitude` | number or null | الإحداثيات بنظام WGS84. تكون القيمة `null` عند عدم توفر موقع. |
| `accuracy_m` | number or null | نصف قطر عدم اليقين بالأمتار. |
| `accuracy_confidence` | string or null | مستوى الثقة لنصف القطر: `p95` (الويب)، أو `p68` (Android)، أو `unspecified` (iOS). تختلف المنصات، لذلك يتم تسجيلها بدلاً من توحيدها قياسيًا. |
| `measured_at` | datetime or null | وقت قياس الجهاز للموقع، وفقًا لساعة الجهاز. |
| `age_seconds` | integer or null | الوقت بين القياس ولحظة استلام Didit له. |
| `source` | string or null | `gps`، أو `fused`، أو `network`، أو `wifi`، أو `cell`، أو `browser`، أو `unknown`، أو `ip` في خطوة تعتمد على IP فقط. |
| `platform` | string or null | `web`، أو `ios`، أو `android`، أو `react_native`، أو `flutter`. |
| `sdk_version` | string or null | إصدار SDK الذي أنتج الموقع. |
| `is_mock` | boolean or null | أبلغ النظام عن موقع محاكى. تعني `null` أن المنصة لا يمكنها التحديد (الويب)، وليست `false`. |
| `produced_by_accessory` | boolean or null | نظام iOS فقط: ورد الموقع من ملحق خارجي. |
| `integrity` | string | إقرار الجهاز: `attested`، أو `not_attested`، أو `failed`، أو `unsupported` (الويب)، أو `not_determined`. |
| `country_code`, `region_code`, `city` | string or null | المكان الذي يتم تحليل الموقع إليه، ويتم حسابه دون اتصال بالإنترنت: ISO 3166-1 alpha-2، وISO 3166-2، وأقرب مكان مأهول بالسكان. تُعد المدينة تسمية للمراجعين، وليست مدخلاً للقواعد أبدًا. |
| `geofence` | object | `enabled`، و`result`: `inside`، أو `outside`، أو `undetermined`. تكون `result` بقيمة `null` عند إيقاف تشغيل السياج الجغرافي. |
| `inside_geofence` | boolean or null | `true` أو `false`، وتكون `null` عند إيقاف تشغيل السياج الجغرافي أو عندما تمتد دائرة الدقة على جانبي حدّ. |
| `geofence_basis` | string or null | أي موقع استند إليه حكم المنطقة: `device` أو `ip`. |
| `inside_areas`, `blocked_areas` | array | معرفات `id` للمناطق المسموح بها التي تقع دائرة الدقة بأكملها داخلها، وللمناطق المحظورة التي تقع داخلها. |
| `position_source` | string or null | قيمة `geolocation_position_source` للعقدة عند تشغيل المحاولة. |
| `anonymizers` | object or null | `vpn`، و`proxy`، و`tor`، و`spoofing`، و`emulator`، وتكون قيمة كل منها `true` أو `false` أو `null` عندما يتعذر على المصدر التحديد. |
| `ip_distance_km` | number or null | المسافة إلى موقع IP بعد طرح كلا نصفي قطري عدم اليقين. تعني القيمة 0 وجود تداخل بينهما. |
| `ip_distance_uncertainty_km` | number or null | نصف القطر المجمع الذي تم طرحه. |
| `ip_consistent` | boolean or null | ما إذا كانت `ip_distance_km` تقع ضمن `geolocation_ip_distance_km`. تكون `null` عندما يكون أي من الطرفين غير معروف. |
| `document_distance_km` | number or null | المسافة إلى عنوان المستند المحول إلى إحداثيات جغرافية. تكون `null` عند عدم وجود عنوان مسجل. |
| `travel_excused` | boolean or null | ما إذا كان تسامح السفر قد أعفى المسافة. تكون `null` عند إيقاف تشغيل التسامح. |
| `consecutive_mismatches` | integer or null | في المحاولة النهائية، يمثل هذا الفحص بالإضافة إلى حالات عدم التطابق السابقة المتتالية للشخص نفسه. |
| `attempts` | integer | رقم المحاولة. |
| `consent` | object or null | `accepted_at`، و`version`، و`locale` لإشعار الموقع الذي وافق عليه الشخص. |
| `warnings` | array | [تحذيرات](https://docs.didit.me/ar/core-technology/location-verification/warnings-location-verification.md) الخطوة. |

## `geolocation_attempts[]`

كل محاولة لكل خطوة موقع، بدءًا من الأقدم، مع نفس حقول القياس وعدم اليقين والمنطقة والمسافة مثل `geolocation_checks[]` باستثناء `warnings`، بالإضافة إلى:

| الحقل | النوع | الوصف |
| - | - | - |
| `received_at` | datetime | وقت استلام Didit للمحاولة. |
| `created_at` | datetime | وقت تسجيل المحاولة. |

يتم استبعاد المحاولات التي أوقفتها إعادة الإرسال.
لا يتم إرجاع إرسال العميل الخام والتحدي على الإطلاق.

## حقول قواعد الحالة والتفريعات

يمكن لقواعد `status_rules` المخصصة وقواعد التفريع قراءة هذه الحقول:
`geolocation.status`، و`geolocation.outcome`، و`geolocation.permission`، و`geolocation.latitude`، و`geolocation.longitude`، و`geolocation.accuracy_m`، و`geolocation.accuracy_confidence`، و`geolocation.age_seconds`، و`geolocation.measured_at`، و`geolocation.source`، و`geolocation.platform`، و`geolocation.country` (ISO 3166-1 alpha-3)، و`geolocation.region`، و`geolocation.city`، و`geolocation.is_mock`، و`geolocation.integrity`، و`geolocation.inside_geofence`، و`geolocation.ip_distance_km`، و`geolocation.ip_consistent`، و`geolocation.document_distance_km`، و`geolocation.attempts`، و`geolocation.consent_at`، و`geolocation.inside_areas`، و`geolocation.blocked_areas`، و`geolocation.anonymizers` (`vpn`، و`proxy`، و`tor`، و`spoofing`، و`emulator`)، و`geolocation.consecutive_mismatches`.
تتطابق القيمة المفقودة مع `is_empty` فقط، لذا فإن القاعدة المكتوبة لإشارة احتيال لا تعمل أبدًا عند فقدان البيانات.

## ذات صلة

* [التحقق من الموقع](https://docs.didit.me/ar/core-technology/location-verification/overview.md) - كيفية عمل الخطوة وتكلفتها.
* [تحذيرات التحقق من الموقع](https://docs.didit.me/ar/core-technology/location-verification/warnings-location-verification.md) - كل رمز `LOCATION_*`.
* [webhook](https://docs.didit.me/ar/integration/webhooks.md) - يحمل `status.updated` القوائم.
* [نماذج البيانات - كائن التحذير](https://docs.didit.me/ar/reference/data-models.md#كائن-التحذير) - شكل كل عنصر في `warnings[]`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.