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

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

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

حساب أيام العمل

GET/api/v2/business-days

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

فهم السياق

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

المعاملات

02
stringإلزامي · الاستعلام

بداية الفترة، مشمولة.

date
النمط^\d{4}-\d{2}-\d{2}$
stringإلزامي · الاستعلام

نهاية الفترة، مشمولة.

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

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

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

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

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

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

dataobject

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

data.fromstring

بداية الفترة المغطاة أو المطلوبة، وهي مشمولة.

data.tostring

نهاية الفترة المغطاة أو المطلوبة، وهي مشمولة.

data.inclusiveboolean

تعني true أن تاريخ البداية وتاريخ النهاية محسوبان معاً.

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

data.calendar_daysinteger

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

data.weekend_daysinteger

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

data.holiday_weekdaysinteger

عدد أيام العطل المؤكدة الواقعة خارج نهاية الأسبوع لتجنب الحساب مرتين.

data.business_daysinteger | null

العدد الدقيق لأيام العمل؛ null ما دامت هناك عطل غير مؤكدة.

data.business_days_upper_boundinteger

أقصى عدد ممكن لأيام العمل؛ قد تخفضه التأكيدات اللاحقة.

data.is_exactboolean

تكون true إذا كان العدد مؤكداً، وfalse إذا بقيت تواريخ غير مؤكدة.

بنية البيانات
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "from",
        "to",
        "inclusive",
        "calendar_days",
        "weekend_days",
        "holiday_weekdays",
        "business_days",
        "business_days_upper_bound",
        "is_exact"
      ],
      "properties": {
        "from": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "format": "date"
        },
        "to": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "format": "date"
        },
        "inclusive": {
          "enum": [
            true
          ]
        },
        "calendar_days": {
          "type": "integer",
          "minimum": 0
        },
        "weekend_days": {
          "type": "integer",
          "minimum": 0
        },
        "holiday_weekdays": {
          "type": "integer",
          "minimum": 0
        },
        "business_days": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0
            },
            {
              "type": "string",
              "nullable": true,
              "enum": [
                null
              ]
            }
          ]
        },
        "business_days_upper_bound": {
          "type": "integer",
          "minimum": 0
        },
        "is_exact": {
          "type": "boolean"
        }
      }
    },
    "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 أو قيم المصادر.