MoroccoAPIالتوثيق
مرجع الواجهة

اختر مورداً. حدّد المعاملات. جرّب الطلب.

دون مفتاح APIإجابات JSONCORS مفتوح

مؤشرات مجال ترابي

GET/api/v2/population/{level}/{code}/indicators

معلومة مهمة. إحصاء 2024 والسلاسل التاريخية للمندوبية السامية للتخطيط. راجع meta لمعرفة المصدر والتاريخ.

فهم السياق

RGPH هو الإحصاء العام للسكان الذي تنجزه المندوبية السامية للتخطيط HCP. المقيم ليس بالضرورة مغربي الجنسية. مثال توضيحي: 100 مقيم، منهم 95 مغربياً و5 أجانب، يعني مجموعاً من 100؛ لا تجمعهم مرة ثانية. الأرقام توضيحية.

المعاملات

03
stringاختياري · الاستعلام

مجموعة المؤشرات، مثل education أو employment.

stringإلزامي · المسار

المستوى الترابي، مثل regions أو communes.

stringإلزامي · المسار

معرّف المورد، كما يظهر في القائمة.

2-180 حرفاً
النمط^[a-z0-9]+(?:-+[a-z0-9]+)*$
فهم الإجابة

data: النتائج المطلوبة، في كائن أو قائمة.

meta: مصادر البيانات ورخصتها وتواريخها. تعني null أن القيمة غير معروفة أو غير متاحة.

API v2 هو المسار المرجعي. تبقى مسارات /api/v1 القديمة أسماء بديلة متوافقة مع السلوك المنشور حالياً، بما فيه تقسيم الصفحات؛ لم يُحدد موعد لحذفها.

حقول الإجابة 27

تشير [] إلى كل عنصر في القائمة. تعني null غير معروف أو غير متاح، ولا تعني صفراً. لغة الدليل لا تترجم قيم المصادر.

dataobject

النتيجة المطلوبة: كائن واحد أو قائمة.

data.territoryobject

المجال الترابي الذي تصفه المؤشرات، مع رموزه واسمه.

data.territory.levelstring

المستوى الترابي: national أو regions أو subdivisions (الأقاليم والعمالات) أو prefectures-of-arrondissements أو communes أو arrondissements.

القيم المقبولة: "national" "regions" "subdivisions" "prefectures-of-arrondissements" "communes" "arrondissements"

data.territory.codestring | null

معرّف المورد في MoroccoAPI؛ استعمله في روابط المورد المناسبة.

data.territory.hcp_codestring | null

رمز المندوبية السامية للتخطيط، جهاز الإحصاء المغربي. احتفظ به كنص للحفاظ على الأصفار الأولى.

data.territory.nameobject

اسم المورد، وقد يكون موزّعاً حسب اللغة.

data.territory.name.arstring

القيمة بالعربية؛ null عند غياب الترجمة.

data.territory.name.frstring

القيمة بالفرنسية؛ null عند غياب الترجمة.

data.territory.name.enstring | null

القيمة بالإنجليزية؛ null عند غياب الترجمة.

data.territory.region_codestring | null

معرّف الجهة الأم، وهي المستوى الإداري الأول في المغرب.

data.territory.province_codestring | null

معرّف الإقليم أو العمالة الأم، تحت الجهة.

data.territory.data_from_local_administrationboolean

تكون true للجماعات الأربع التي تميزها HCP بعلامة *: بيانات قدمتها الإدارة المحلية بسبب التنقل الموسمي.

data.indicatorsobject[]

مؤشرات الإحصاء لهذا المجال الترابي، مع قيمها حسب الجنس.

data.indicators[].idstring

معرّف هذا العنصر في مجموعة البيانات؛ ليس بالضرورة رمزاً رسمياً.

data.indicators[].groupstring

معرّف مجموعة المؤشرات، يمكن استعماله في المرشح group.

data.indicators[].unitstring

وحدة المؤشر: percent (من 0 إلى 100) أو persons أو households أو years أو children-per-woman أو persons-per-room أو persons-per-household أو km.

القيم المقبولة: "percent" "persons" "households" "years" "children-per-woman" "persons-per-room" "persons-per-household" "km"

data.indicators[].nameobject

اسم المورد، وقد يكون موزّعاً حسب اللغة.

data.indicators[].name.frstring

القيمة بالفرنسية؛ null عند غياب الترجمة.

data.indicators[].name.enstring

القيمة بالإنجليزية؛ null عند غياب الترجمة.

data.indicators[].name.arstring

القيمة بالعربية؛ null عند غياب الترجمة.

data.indicators[].both_sexesnumber | null

القيمة لمجموع السكان (الجنسان معاً) بوحدة المؤشر؛ null عند غيابها، انظر null_reasons.

data.indicators[].malenumber | null

القيمة للذكور بوحدة المؤشر؛ null عند غيابها، انظر null_reasons.

data.indicators[].femalenumber | null

القيمة للإناث بوحدة المؤشر؛ null عند غيابها، انظر null_reasons.

data.indicators[].null_reasonsobject

سبب كل قيمة null: unavailable (الرمز «.» لدى HCP) أو not_applicable (الرمز «…» لدى HCP) أو not_published (لا تنشر HCP قيمة لهذا الجنس).

data.indicators[].null_reasons.both_sexesstring | null

سبب كون قيمة هذا الجنس null: unavailable أو not_applicable أو not_published؛ وتكون null عند وجود القيمة.

data.indicators[].null_reasons.malestring | null

سبب كون قيمة هذا الجنس null: unavailable أو not_applicable أو not_published؛ وتكون null عند وجود القيمة.

data.indicators[].null_reasons.femalestring | null

سبب كون قيمة هذا الجنس null: unavailable أو not_applicable أو not_published؛ وتكون null عند وجود القيمة.

بنية البيانات
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "territory",
        "indicators"
      ],
      "properties": {
        "territory": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "level",
            "code",
            "hcp_code",
            "name",
            "region_code",
            "province_code",
            "data_from_local_administration"
          ],
          "properties": {
            "level": {
              "enum": [
                "national",
                "regions",
                "subdivisions",
                "prefectures-of-arrondissements",
                "communes",
                "arrondissements"
              ]
            },
            "code": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "string",
                  "nullable": true,
                  "enum": [
                    null
                  ]
                }
              ],
              "description": "MoroccoAPI geography code; null for the national total."
            },
            "hcp_code": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "string",
                  "nullable": true,
                  "enum": [
                    null
                  ]
                }
              ],
              "description": "HCP geographic code in the dotted form used by the geography endpoints; null for the national total."
            },
            "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
                      ]
                    }
                  ]
                }
              }
            },
            "region_code": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "string",
                  "nullable": true,
                  "enum": [
                    null
                  ]
                }
              ]
            },
            "province_code": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "string",
                  "nullable": true,
                  "enum": [
                    null
                  ]
                }
              ]
            },
            "data_from_local_administration": {
              "type": "boolean",
              "description": "True for the four communes that HCP marks with *: their data comes from the local administration because of seasonal mobility."
            }
          }
        },
        "indicators": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "id",
              "group",
              "unit",
              "name",
              "both_sexes",
              "male",
              "female",
              "null_reasons"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 2,
                "maxLength": 64,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              "group": {
                "type": "string"
              },
              "unit": {
                "enum": [
                  "percent",
                  "persons",
                  "households",
                  "years",
                  "children-per-woman",
                  "persons-per-room",
                  "persons-per-household",
                  "km"
                ]
              },
              "name": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "fr",
                  "en",
                  "ar"
                ],
                "properties": {
                  "fr": {
                    "type": "string"
                  },
                  "en": {
                    "type": "string"
                  },
                  "ar": {
                    "type": "string"
                  }
                }
              },
              "both_sexes": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ]
              },
              "male": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ]
              },
              "female": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ]
              },
              "null_reasons": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "both_sexes",
                  "male",
                  "female"
                ],
                "description": "Why each value is null: unavailable (HCP \".\"), not_applicable (HCP \"…\") or not_published (HCP gives no value for that sex). Null when the value is present.",
                "properties": {
                  "both_sexes": {
                    "anyOf": [
                      {
                        "enum": [
                          "unavailable",
                          "not_applicable",
                          "not_published"
                        ]
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  },
                  "male": {
                    "anyOf": [
                      {
                        "enum": [
                          "unavailable",
                          "not_applicable",
                          "not_published"
                        ]
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  },
                  "female": {
                    "anyOf": [
                      {
                        "enum": [
                          "unavailable",
                          "not_applicable",
                          "not_published"
                        ]
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "meta": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "dataset",
        "total",
        "license",
        "retrieved_at",
        "transformation_version",
        "sources"
      ],
      "properties": {
        "dataset": {
          "enum": [
            "population-indicators"
          ]
        },
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "license": {
          "enum": [
            "CC-BY-4.0"
          ]
        },
        "retrieved_at": {
          "enum": [
            "2026-10-20"
          ]
        },
        "transformation_version": {
          "enum": [
            "1.0.1"
          ]
        },
        "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"
              }
            }
          }
        }
      }
    }
  }
}
المصادر وتقسيم الصفحات 13
metaobject

سياق النتيجة: المصادر والتواريخ والرخصة وتقسيم الصفحات عند الاقتضاء.

meta.datasetstring

اسم مجموعة البيانات الخاصة بالنتيجة أو المصدر.

القيم المقبولة: "population-indicators"

meta.totalinteger

عدد النتائج المطابقة للمرشحات قبل تقسيم الصفحات؛ وليس حجم هذه الصفحة.

meta.licensestring

رخصة إعادة الاستخدام. تعني mixed وجود رخص مختلفة: راجع كل مصدر.

القيم المقبولة: "CC-BY-4.0"

meta.retrieved_atstring

تاريخ جلب المشروع لملف المصدر؛ وليس تاريخ رصد البيانات.

القيم المقبولة: "2026-10-20"

meta.transformation_versionstring

إصدار قواعد تحويل مجموعة البيانات؛ مستقل عن إصدار الواجهة.

القيم المقبولة: "1.0.1"

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

آخر تحديث معلن من المصدر؛ وليس تاريخ جلب الملف.

الأخطاء
  • 400: معامل غير صالح أو مفقود.
  • 404: المورد غير موجود.

تتضمن الأخطاء error.code وerror.message وerror.request_id.

errorobject

تفاصيل الطلب الفاشل؛ تحل محل data وmeta.

error.codestring

رمز ثابت للخطأ، مثل RESOURCE_NOT_FOUND؛ استعمله في منطق التطبيق.

error.messagestring

شرح مقروء للخطأ؛ استعمل code في منطق التطبيق.

error.request_idstring

معرّف هذا الطلب، يفيد عند الإبلاغ عن مشكلة.

طلبك

GET · JSON

العنوان الأساسي

الإجابة

ستظهر الإجابة الفعلية هنا.

تغيّر اللغة نص التوثيق فقط، دون مفاتيح JSON أو قيم المصادر.