MoroccoAPIDocumentation
Référence API

Choisissez une ressource. Ajustez les paramètres. Essayez.

Sans clé APIRéponses JSONCORS ouvert

Compter les jours ouvrés

GET/api/v2/business-days

À savoir. Les fêtes religieuses dépendent d’une confirmation officielle. Une date estimée ne vaut pas confirmation. Week-end : samedi et dimanche ; plage de 366 jours maximum.

Comprendre le contexte

Le calendrier commun de l’administration publique utilise samedi et dimanche comme week-end. Les fêtes religieuses peuvent attendre une confirmation officielle : null signifie inconnu, pas un jour ouvré garanti. Les calendriers d’entreprises peuvent différer.

Paramètres

02
stringObligatoire · Filtre

Début de la période, inclus.

date
Format^\d{4}-\d{2}-\d{2}$
stringObligatoire · Filtre

Fin de la période, incluse.

date
Format^\d{4}-\d{2}-\d{2}$
Comprendre la réponse

data: Les résultats demandés, sous forme d’objet ou de liste.

meta: Sources, licence et dates du jeu de données. null signifie une valeur inconnue ou indisponible.

API v2 est le chemin de référence. Les anciens chemins /api/v1 restent des alias de compatibilité du comportement actuellement publié, pagination comprise ; aucune date de suppression n’est fixée.

Champs renvoyés 10

[] désigne chaque élément d’une liste. null signifie inconnu ou indisponible, jamais zéro. La langue du guide ne traduit pas les valeurs des sources.

dataobject

Résultat demandé : objet unique ou liste.

data.fromstring

Début de la période couverte ou demandée, inclus.

data.tostring

Fin de la période couverte ou demandée, incluse.

data.inclusiveboolean

true : les dates de début et de fin sont toutes deux comptées.

Valeurs acceptées: true

data.calendar_daysinteger

Nombre de jours civils dans la période, bornes comprises.

data.weekend_daysinteger

Jours de repos du calendrier dans meta ; dans data, nombre de jours de week-end sur la période.

data.holiday_weekdaysinteger

Nombre de jours fériés confirmés tombant hors week-end, pour éviter un double décompte.

data.business_daysinteger | null

Nombre exact de jours ouvrés ; null si des fêtes restent non confirmées.

data.business_days_upper_boundinteger

Maximum de jours ouvrés possible ; des confirmations peuvent réduire ce nombre.

data.is_exactboolean

true si le décompte est certain ; false si des dates restent à confirmer.

Structure des données
{
  "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"
          }
        }
      }
    }
  }
}
Sources et pagination 17
metaobject

Contexte du résultat : sources, dates, licence et pagination si applicable.

meta.datasetstring

Nom du jeu de données auquel appartient le résultat ou la source.

Valeurs acceptées: "moroccan-public-holidays"

meta.totalinteger

Nombre de résultats correspondant aux filtres, avant pagination ; pas la taille de cette page.

meta.licensestring

Licence de réutilisation. mixed signifie des licences différentes : consultez chaque source.

meta.license_urlstring

Lien vers les conditions de la licence ; null si aucune URL n’est fournie.

meta.reviewed_atstring

Date de dernière vérification des sources du calendrier.

meta.transformation_versionstring

Version des règles de conversion du jeu de données ; distincte de l’API.

meta.scopestring

Périmètre couvert par le jeu de données ; ne présume pas une couverture universelle.

Valeurs acceptées: "public-administration-common-calendar"

meta.weekend_daysstring[]

Jours de repos du calendrier dans meta ; dans data, nombre de jours de week-end sur la période.

meta.yearsinteger[]

Années couvertes par le calendrier.

meta.calendar_completeboolean

true si toutes les dates nécessaires sont confirmées dans le calendrier demandé.

meta.pending_holiday_daysinteger

Nombre de jours fériés dont la date attend une confirmation officielle.

meta.sourcesobject[]

Sources utilisées pour ce résultat, avec leurs producteurs et licences.

meta.sources[].producerstring

Organisme qui publie la donnée originale.

meta.sources[].source_urlstring

Page de présentation ou de publication de la source.

meta.sources[].source_updated_atstring | null

Dernière mise à jour annoncée par la source ; pas la date de récupération.

meta.limitationsstring[]

Limites connues de la source ou de la couverture ; à lire avant d’utiliser les données.

Erreurs
  • 400: Paramètre invalide ou manquant.

Les erreurs renvoient error.code, error.message et error.request_id.

errorobject

Détails d’une requête échouée ; remplace data et meta.

error.codestring

Code stable de l’erreur, par exemple RESOURCE_NOT_FOUND ; à utiliser dans votre logique.

error.messagestring

Explication lisible de l’erreur ; utilisez code pour la logique de votre application.

error.request_idstring

Identifiant du traitement de cette requête, utile pour retrouver un problème.

Votre requête

GET · JSON

URL de base

Réponse

La réponse réelle s’affichera ici.

La langue change le guide, pas les clés JSON ni les valeurs des sources.