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

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

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

عطل السنة

GET/api/v2/holidays/{year}

معلومة مهمة. تتطلب الأعياد الدينية تأكيداً رسمياً؛ التاريخ التقديري ليس تأكيداً. عطلة نهاية الأسبوع: السبت والأحد، والفترة لا تتجاوز 366 يوماً.

فهم السياق

يعتمد التقويم المشترك للإدارة العمومية السبت والأحد للراحة الأسبوعية. قد تنتظر العطل الدينية تأكيداً رسمياً: null تعني غير معروف، وليس يوم عمل مضموناً. قد تختلف تقاويم الشركات.

المعاملات

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

سنة من أربعة أرقام.

النمط^\d{4}$
فهم الإجابة

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

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

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

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

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

dataobject[]

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

data[].idstring

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

data[].datestring | null

التاريخ المدني بصيغة YYYY-MM-DD؛ null إذا كان في انتظار التأكيد.

data[].namesobject

أسماء العطلة باللغات المتاحة.

data[].names.arstring

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

data[].names.frstring

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

data[].names.enstring

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

data[].typestring

national: عطلة وطنية مدنية؛ religious: عطلة دينية قد ينتظر تاريخها إعلاناً رسمياً.

القيم المقبولة: "national" "religious"

data[].statusstring

fixed: تاريخ مدني ثابت؛ confirmed: تاريخ ديني مؤكد؛ pending_confirmation: تاريخ لم يُؤكد بعد.

القيم المقبولة: "fixed" "confirmed" "pending_confirmation"

data[].dayinteger

ترتيب اليوم في عطلة متعددة الأيام: 1 للأول و2 للثاني.

data[].source_urlsstring[]

روابط المنشورات التي توثق العطلة وتاريخها.

بنية البيانات
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "date",
          "names",
          "type",
          "status",
          "day",
          "source_urls"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "date": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                "format": "date"
              },
              {
                "type": "string",
                "nullable": true,
                "enum": [
                  null
                ]
              }
            ]
          },
          "names": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "ar",
              "fr",
              "en"
            ],
            "properties": {
              "ar": {
                "type": "string"
              },
              "fr": {
                "type": "string"
              },
              "en": {
                "type": "string"
              }
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "national",
              "religious"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "fixed",
              "confirmed",
              "pending_confirmation"
            ]
          },
          "day": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2
          },
          "source_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          }
        }
      }
    },
    "meta": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "dataset",
        "total",
        "license",
        "license_url",
        "reviewed_at",
        "transformation_version",
        "scope",
        "weekend_days",
        "years",
        "calendar_complete",
        "pending_holiday_days",
        "sources",
        "limitations"
      ],
      "properties": {
        "dataset": {
          "enum": [
            "moroccan-public-holidays"
          ]
        },
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "license": {
          "type": "string"
        },
        "license_url": {
          "type": "string"
        },
        "reviewed_at": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "format": "date"
        },
        "transformation_version": {
          "type": "string"
        },
        "scope": {
          "enum": [
            "public-administration-common-calendar"
          ]
        },
        "weekend_days": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Saturday",
              "Sunday"
            ]
          }
        },
        "years": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        "calendar_complete": {
          "type": "boolean"
        },
        "pending_holiday_days": {
          "type": "integer",
          "minimum": 0
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "producer",
              "source_url",
              "source_updated_at"
            ],
            "properties": {
              "producer": {
                "type": "string"
              },
              "source_url": {
                "type": "string"
              },
              "source_updated_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                    "format": "date"
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ]
              }
            }
          }
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}
المصادر وتقسيم الصفحات 17
metaobject

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

meta.datasetstring

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

القيم المقبولة: "moroccan-public-holidays"

meta.totalinteger

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

meta.licensestring

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

meta.license_urlstring

رابط شروط الرخصة؛ null عند غياب الرابط.

meta.reviewed_atstring

تاريخ آخر مراجعة لمصادر التقويم.

meta.transformation_versionstring

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

meta.scopestring

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

القيم المقبولة: "public-administration-common-calendar"

meta.weekend_daysstring[]

أسماء أيام الراحة داخل meta؛ وداخل data عدد أيام نهاية الأسبوع في الفترة.

meta.yearsinteger[]

السنوات التي يغطيها التقويم.

meta.calendar_completeboolean

تكون true إذا تأكدت جميع التواريخ اللازمة في التقويم المطلوب.

meta.pending_holiday_daysinteger

عدد أيام العطل التي تنتظر تواريخها تأكيداً رسمياً.

meta.sourcesobject[]

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

meta.sources[].producerstring

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

meta.sources[].source_urlstring

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

meta.sources[].source_updated_atstring | null

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

meta.limitationsstring[]

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

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

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

errorobject

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

error.codestring

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

error.messagestring

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

error.request_idstring

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

طلبك

GET · JSON

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

الإجابة

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

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