السكان حسب الجماعة
معلومة مهمة. إحصاء 2024 والسلاسل التاريخية للمندوبية السامية للتخطيط. راجع meta لمعرفة المصدر والتاريخ.
فهم السياق
RGPH هو الإحصاء العام للسكان الذي تنجزه المندوبية السامية للتخطيط HCP. المقيم ليس بالضرورة مغربي الجنسية. مثال توضيحي: 100 مقيم، منهم 95 مغربياً و5 أجانب، يعني مجموعاً من 100؛ لا تجمعهم مرة ثانية. الأرقام توضيحية.
فهم الإجابة
data: النتائج المطلوبة، في كائن أو قائمة.
meta: مصادر البيانات ورخصتها وتواريخها. تعني null أن القيمة غير معروفة أو غير متاحة.
meta.pagination: القوائم: 100 نتيجة افتراضياً، و500 كحد أقصى. استخدم limit وoffset؛ تكون meta.pagination.next_offset بقيمة null في الصفحة الأخيرة.
مثال توضيحي: مع limit=10 وoffset=0 تتضمن الصفحة الأولى 10 نتائج على الأكثر. إذا كانت next_offset تساوي 10، اطلب التالية بـoffset=10 والمرشحات نفسها. توقف عندما تصبح next_offset بقيمة null.
API v2 هو المسار المرجعي. تبقى مسارات /api/v1 القديمة أسماء بديلة متوافقة مع السلوك المنشور حالياً، بما فيه تقسيم الصفحات؛ لم يُحدد موعد لحذفها.
حقول الإجابة 15
تشير [] إلى كل عنصر في القائمة. تعني null غير معروف أو غير متاح، ولا تعني صفراً. لغة الدليل لا تترجم قيم المصادر.
dataobject[]النتيجة المطلوبة: كائن واحد أو قائمة.
data[].codestringمعرّف المورد في MoroccoAPI؛ استعمله في روابط المورد المناسبة.
data[].hcp_codestringرمز المندوبية السامية للتخطيط، جهاز الإحصاء المغربي. احتفظ به كنص للحفاظ على الأصفار الأولى.
data[].typestringنوع المورد. تظهر القيم الممكنة أسفله.
القيم المقبولة:
"commune"data[].nameobjectاسم المورد، وقد يكون موزّعاً حسب اللغة.
data[].name.arstringالقيمة بالعربية؛ null عند غياب الترجمة.
data[].name.frstringالقيمة بالفرنسية؛ null عند غياب الترجمة.
data[].name.enstring | nullالقيمة بالإنجليزية؛ null عند غياب الترجمة.
data[].cercle_hcp_codestring | nullرمز HCP للدائرة الأم في إحصاء 2024. تضم الدائرة جماعات؛ وهذا الحقل ليس سجلاً حالياً للدوائر.
data[].province_codestringمعرّف الإقليم أو العمالة الأم، تحت الجهة.
data[].region_codestringمعرّف الجهة الأم، وهي المستوى الإداري الأول في المغرب.
data[].populationintegerإجمالي السكان المحصيين في هذه الوحدة الإدارية.
data[].moroccansintegerعدد السكان ذوي الجنسية المغربية في النطاق المحدد.
data[].foreignersintegerعدد السكان ذوي الجنسية الأجنبية في النطاق المحدد.
data[].householdsintegerعدد الأسر المحصاة؛ قد تتكون الأسرة من شخص واحد أو عدة أشخاص.
بنية البيانات
{
"type": "object",
"additionalProperties": false,
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"code",
"hcp_code",
"type",
"name",
"cercle_hcp_code",
"province_code",
"region_code",
"population",
"moroccans",
"foreigners",
"households"
],
"properties": {
"code": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-+[a-z0-9]+)*$"
},
"hcp_code": {
"type": "string",
"pattern": "^[0-9]{2}\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{1,2}$"
},
"type": {
"enum": [
"commune"
]
},
"name": {
"type": "object",
"additionalProperties": false,
"required": [
"ar",
"fr",
"en"
],
"properties": {
"ar": {
"type": "string"
},
"fr": {
"type": "string"
},
"en": {
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"nullable": true,
"enum": [
null
]
}
]
}
}
},
"cercle_hcp_code": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{2}\\.[0-9]{3}\\.[0-9]{2}$"
},
{
"type": "string",
"nullable": true,
"enum": [
null
]
}
]
},
"province_code": {
"type": "string"
},
"region_code": {
"type": "string"
},
"population": {
"type": "integer",
"minimum": 0
},
"moroccans": {
"type": "integer",
"minimum": 0
},
"foreigners": {
"type": "integer",
"minimum": 0
},
"households": {
"type": "integer",
"minimum": 0
}
}
}
},
"meta": {
"type": "object",
"additionalProperties": false,
"required": [
"dataset",
"total",
"license",
"retrieved_at",
"transformation_version",
"sources",
"pagination"
],
"properties": {
"dataset": {
"enum": [
"commune-population"
]
},
"total": {
"type": "integer",
"minimum": 0
},
"license": {
"enum": [
"CC-BY-4.0"
]
},
"retrieved_at": {
"enum": [
"2026-10-05"
]
},
"transformation_version": {
"enum": [
"2.0.0"
]
},
"sources": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"dataset",
"producer",
"source_url",
"resource_url",
"license",
"source_updated_at"
],
"properties": {
"dataset": {
"type": "string"
},
"producer": {
"type": "string"
},
"source_url": {
"type": "string",
"format": "uri"
},
"resource_url": {
"type": "string",
"format": "uri"
},
"license": {
"enum": [
"CC-BY-4.0"
]
},
"source_updated_at": {
"type": "string",
"format": "date"
}
}
}
},
"pagination": {
"type": "object",
"additionalProperties": false,
"required": [
"limit",
"offset",
"count",
"has_more",
"next_offset"
],
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"count": {
"type": "integer",
"minimum": 0,
"maximum": 500
},
"has_more": {
"type": "boolean"
},
"next_offset": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
{
"type": "string",
"nullable": true,
"enum": [
null
]
}
]
}
}
}
}
}
}
}المصادر وتقسيم الصفحات 19
metaobjectسياق النتيجة: المصادر والتواريخ والرخصة وتقسيم الصفحات عند الاقتضاء.
meta.datasetstringاسم مجموعة البيانات الخاصة بالنتيجة أو المصدر.
القيم المقبولة:
"commune-population"meta.totalintegerعدد النتائج المطابقة للمرشحات قبل تقسيم الصفحات؛ وليس حجم هذه الصفحة.
meta.licensestringرخصة إعادة الاستخدام. تعني mixed وجود رخص مختلفة: راجع كل مصدر.
القيم المقبولة:
"CC-BY-4.0"meta.retrieved_atstringتاريخ جلب المشروع لملف المصدر؛ وليس تاريخ رصد البيانات.
القيم المقبولة:
"2026-10-05"meta.transformation_versionstringإصدار قواعد تحويل مجموعة البيانات؛ مستقل عن إصدار الواجهة.
القيم المقبولة:
"2.0.0"meta.sourcesobject[]المصادر المستخدمة لهذه النتيجة مع الجهات المنتجة والرخص.
meta.sources[].datasetstringاسم مجموعة البيانات الخاصة بالنتيجة أو المصدر.
meta.sources[].producerstringالجهة التي تنشر البيانات الأصلية.
meta.sources[].source_urlstringصفحة نشر المصدر أو التعريف ببياناته.
meta.sources[].resource_urlstringرابط الملف أو المورد المستخدم فعلياً.
meta.sources[].licensestringرخصة إعادة الاستخدام. تعني mixed وجود رخص مختلفة: راجع كل مصدر.
القيم المقبولة:
"CC-BY-4.0"meta.sources[].source_updated_atstringآخر تحديث معلن من المصدر؛ وليس تاريخ جلب الملف.
meta.paginationobjectمعلومات لتصفّح نتائج القائمة صفحة بصفحة.
meta.pagination.limitintegerالعدد الأقصى المطلوب في الصفحة: 100 افتراضياً و500 كحد أقصى.
meta.pagination.offsetintegerعدد النتائج المتجاوزة قبل هذه الصفحة بعد التصفية. تبدأ الصفحة الأولى من 0.
meta.pagination.countintegerعدد النتائج الموجودة فعلياً في هذه الصفحة.
meta.pagination.has_morebooleanتكون true إذا بقيت صفحة أخرى من النتائج.
meta.pagination.next_offsetinteger | nullقيمة offset للصفحة التالية؛ null عند النهاية. احتفظ بالمرشحات نفسها.
الأخطاء
400: معامل غير صالح أو مفقود.
تتضمن الأخطاء error.code وerror.message وerror.request_id.
errorobjectتفاصيل الطلب الفاشل؛ تحل محل data وmeta.
error.codestringرمز ثابت للخطأ، مثل RESOURCE_NOT_FOUND؛ استعمله في منطق التطبيق.
error.messagestringشرح مقروء للخطأ؛ استعمل code في منطق التطبيق.
error.request_idstringمعرّف هذا الطلب، يفيد عند الإبلاغ عن مشكلة.