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

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

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

بيانات متحف

GET/api/v2/museums/{id}

معلومة مهمة. جرد المؤسسة الوطنية للمتاحف لشتنبر 2026: 23 متحفاً، لا جميع متاحف المغرب. المواعيد والأسعار من المصدر، وحالة الفتح الحالية غير معروفة.

المعاملات

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

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

النمط^fnm-[a-z0-9-]+$
فهم الإجابة

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

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

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

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

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

dataobject

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

data.idstring

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

data.nameobject

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

data.name.arstring

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

data.name.frstring

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

data.name.enstring | null

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

data.aliasesstring[]

أسماء أخرى للمورد نفسه تساعد في التعرّف عليه أو البحث عنه.

data.city_codestring

معرّف الجماعة المرتبطة في التقسيم الجغرافي لـHCP.

data.region_codestring

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

data.address_frstring

العنوان بالفرنسية الوارد في المصدر.

data.contactobject

معلومات الاتصال المنشورة في المصدر.

data.contact.phone_e164string | null

الهاتف بالصيغة الدولية الموحدة؛ صحة الصيغة لا تضمن أنه يعمل.

data.contact.phone_statusstring

نتيجة فحص الصيغة فقط؛ قد يكون الرقم مشتركاً أو غير متحقق منه.

القيم المقبولة: "format_valid_unverified" "invalid_format" "missing"

data.contact.social_handlesstring[]

معرّفات التواصل الاجتماعي العامة؛ لا تُستنتج المنصة.

data.opening_hours_text_frstring

نص أوقات العمل بالفرنسية في الدليل؛ تحقق من الأوقات الحالية لدى المتحف.

data.admission_text_frstring

مقتطف رسوم الدخول بالفرنسية؛ راجع الدليل للتخفيضات والإعفاءات.

data.coordinatesnull

الإحداثيات غير متوفرة في المصدر المعتمد؛ لا يتم اختلاق موقع.

القيم المقبولة: null

data.operating_statusstring

حالة التشغيل المعروفة من المصدر؛ لا تضمن الفتح حالياً.

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

data.quality_flagsstring[]

مشاكل جودة معروفة، مثل هاتف مشترك أو الإشارة إلى أشغال.

بنية البيانات
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "name",
        "aliases",
        "city_code",
        "region_code",
        "address_fr",
        "contact",
        "opening_hours_text_fr",
        "admission_text_fr",
        "coordinates",
        "operating_status",
        "quality_flags"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "pattern": "^fnm-[a-z0-9-]+$",
          "description": "Stable internal MoroccoAPI ID, not an official FNM code."
        },
        "name": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "ar",
            "fr",
            "en"
          ],
          "properties": {
            "ar": {
              "type": "string",
              "minLength": 1
            },
            "fr": {
              "type": "string",
              "minLength": 1
            },
            "en": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1
                },
                {
                  "type": "string",
                  "nullable": true,
                  "enum": [
                    null
                  ]
                }
              ]
            }
          }
        },
        "aliases": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          },
          "description": "French heading from the official guide, when different from the XLSX name."
        },
        "city_code": {
          "type": "string",
          "minLength": 1,
          "description": "Commune slug from the HCP geography snapshot."
        },
        "region_code": {
          "type": "string",
          "minLength": 1
        },
        "address_fr": {
          "type": "string",
          "minLength": 1
        },
        "contact": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "phone_e164",
            "phone_status",
            "social_handles"
          ],
          "properties": {
            "phone_e164": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\+212[5-7]\\d{8}$"
                },
                {
                  "type": "string",
                  "nullable": true,
                  "enum": [
                    null
                  ]
                }
              ]
            },
            "phone_status": {
              "type": "string",
              "enum": [
                "format_valid_unverified",
                "invalid_format",
                "missing"
              ],
              "description": "Format validation only. Numbers may be shared and are not operationally verified."
            },
            "social_handles": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1
              },
              "description": "Public visitor handles; platform is not inferred."
            }
          }
        },
        "opening_hours_text_fr": {
          "type": "string",
          "minLength": 1,
          "description": "Source visitor schedule; not a current opening guarantee."
        },
        "admission_text_fr": {
          "type": "string",
          "minLength": 1,
          "description": "Source tariff excerpt. Consult the guide for free-entry/reduction conditions."
        },
        "coordinates": {
          "type": "string",
          "description": "No coordinates in the admitted source.",
          "nullable": true,
          "enum": [
            null
          ]
        },
        "operating_status": {
          "type": "string",
          "enum": [
            "unknown"
          ]
        },
        "quality_flags": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          },
          "description": "Known source issues, including shared/missing phones and works mentions."
        }
      }
    },
    "meta": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "dataset",
        "total",
        "license",
        "retrieved_at",
        "transformation_version",
        "source_version",
        "scope",
        "limitations",
        "sources"
      ],
      "properties": {
        "dataset": {
          "enum": [
            "morocco-museums-fnm"
          ]
        },
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "license": {
          "enum": [
            "ODbL-1.0"
          ]
        },
        "retrieved_at": {
          "enum": [
            "2026-10-14"
          ]
        },
        "transformation_version": {
          "enum": [
            "1.0.0"
          ]
        },
        "source_version": {
          "enum": [
            "Septembre 2026"
          ]
        },
        "scope": {
          "type": "string",
          "minLength": 1
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "sources": {
          "type": "array",
          "minItems": 3,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "dataset",
              "producer",
              "source_url",
              "resource_url",
              "license",
              "source_updated_at"
            ],
            "properties": {
              "dataset": {
                "type": "string",
                "minLength": 1
              },
              "producer": {
                "type": "string",
                "minLength": 1
              },
              "source_url": {
                "type": "string",
                "format": "uri"
              },
              "resource_url": {
                "type": "string",
                "format": "uri"
              },
              "license": {
                "type": "string",
                "enum": [
                  "ODbL-1.0",
                  "CC-BY-4.0"
                ]
              },
              "source_updated_at": {
                "type": "string",
                "format": "date"
              }
            }
          }
        }
      }
    }
  }
}
المصادر وتقسيم الصفحات 16
metaobject

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

meta.datasetstring

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

القيم المقبولة: "morocco-museums-fnm"

meta.totalinteger

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

meta.licensestring

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

القيم المقبولة: "ODbL-1.0"

meta.retrieved_atstring

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

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

meta.transformation_versionstring

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

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

meta.source_versionstring

إصدار أو طبعة وثيقة المصدر.

القيم المقبولة: "Septembre 2026"

meta.scopestring

النطاق الذي تغطيه البيانات؛ لا يعني تغطية شاملة.

meta.limitationsstring[]

القيود المعروفة للمصدر أو التغطية؛ اقرأها قبل استخدام البيانات.

meta.sourcesobject[]

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

meta.sources[].datasetstring

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

meta.sources[].producerstring

الجهة التي تنشر البيانات الأصلية.

meta.sources[].source_urlstring

صفحة نشر المصدر أو التعريف ببياناته.

meta.sources[].resource_urlstring

رابط الملف أو المورد المستخدم فعلياً.

meta.sources[].licensestring

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

القيم المقبولة: "ODbL-1.0" "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 أو قيم المصادر.