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

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

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

بيانات قنصلية

GET/api/v2/consulates/{id}

معلومة مهمة. دليل جُمع في 31 أكتوبر 2026: 56 قنصلية في 15 بلداً. معلومات الاتصال غير متحقق منها آنياً، ولم تُحصل موافقة إعادة النشر.

المعاملات

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

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

النمط^[a-z]{2}-[a-z0-9]+(?:-[a-z0-9]+)*$
فهم الإجابة

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

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

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

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

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

dataobject

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

data.idstring

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

data.nameobject

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

data.name.frstring

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

data.countryobject

بلد استضافة القنصلية.

data.country.codestring

رمز ISO لبلد الاستضافة من حرفين.

data.country.namestring

اسم بلد الاستضافة بالفرنسية.

data.citystring

المدينة المذكورة في المصدر؛ ليست بالضرورة رمزاً إدارياً.

data.addressstring | null

العنوان البريدي كما نُشر.

data.phonesobject[]

أرقام الاتصال المؤسسية المحتفظ بها من المصدر.

data.phones[].rawstring

قيمة المصدر بعد إزالة أجزاء أرقام المحمول المحددة؛ قد تبقى ملتبسة.

data.phones[].e164string | null

رقم الهاتف الدولي لبلد الاستضافة؛ null إذا كان ملتبساً أو غير صالح. لا يثبت إمكانية الاتصال.

data.websitestring | null

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

data.source_namesstring[]

عناوين بطاقات المصدر المرتبطة، بما فيها السجلات المكررة المدمجة.

data.quality_flagsstring[]

مشاكل معروفة: تكرار أو بيانات اتصال ناقصة أو هاتف ملتبس أو رابط مستبعد.

بنية البيانات
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "name",
        "country",
        "city",
        "address",
        "phones",
        "website",
        "source_names",
        "quality_flags"
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 100,
          "pattern": "^[a-z]{2}-[a-z0-9]+(?:-[a-z0-9]+)*$"
        },
        "name": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "fr"
          ],
          "properties": {
            "fr": {
              "type": "string",
              "minLength": 1
            }
          }
        },
        "country": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "code",
            "name"
          ],
          "properties": {
            "code": {
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            },
            "name": {
              "type": "string",
              "minLength": 1
            }
          }
        },
        "city": {
          "type": "string",
          "minLength": 1
        },
        "address": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1
            },
            {
              "type": "string",
              "nullable": true,
              "enum": [
                null
              ]
            }
          ]
        },
        "phones": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "raw",
              "e164"
            ],
            "properties": {
              "raw": {
                "type": "string",
                "minLength": 1
              },
              "e164": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^\\+[1-9][0-9]{6,14}$"
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ]
              }
            }
          }
        },
        "website": {
          "anyOf": [
            {
              "type": "string",
              "format": "uri",
              "pattern": "^https?://"
            },
            {
              "type": "string",
              "nullable": true,
              "enum": [
                null
              ]
            }
          ]
        },
        "source_names": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "quality_flags": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        }
      }
    },
    "meta": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "dataset",
        "total",
        "license",
        "terms_url",
        "redistribution_status",
        "retrieved_at",
        "source_updated_at",
        "transformation_version",
        "coverage",
        "sources"
      ],
      "properties": {
        "dataset": {
          "enum": [
            "moroccan-consulates"
          ]
        },
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "license": {
          "type": "string",
          "nullable": true,
          "enum": [
            null
          ]
        },
        "terms_url": {
          "type": "string",
          "format": "uri"
        },
        "redistribution_status": {
          "enum": [
            "permission-not-obtained"
          ]
        },
        "retrieved_at": {
          "type": "string",
          "format": "date"
        },
        "source_updated_at": {
          "type": "string",
          "nullable": true,
          "enum": [
            null
          ]
        },
        "transformation_version": {
          "type": "string",
          "minLength": 1
        },
        "coverage": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "records",
            "countries",
            "complete",
            "real_time",
            "limitations"
          ],
          "properties": {
            "records": {
              "type": "integer",
              "minimum": 1
            },
            "countries": {
              "type": "integer",
              "minimum": 1
            },
            "complete": {
              "enum": [
                false
              ]
            },
            "real_time": {
              "enum": [
                false
              ]
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "dataset",
              "producer",
              "source_url"
            ],
            "properties": {
              "dataset": {
                "type": "string",
                "minLength": 1
              },
              "producer": {
                "type": "string",
                "minLength": 1
              },
              "source_url": {
                "type": "string",
                "format": "uri"
              }
            }
          }
        }
      }
    }
  }
}
المصادر وتقسيم الصفحات 19
metaobject

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

meta.datasetstring

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

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

meta.totalinteger

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

meta.licensenull

null: لم يتم تحديد رخصة مفتوحة لهذا الدليل.

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

meta.terms_urlstring

شروط الاستخدام المنشورة في موقع المصدر.

meta.redistribution_statusstring

permission-not-obtained: لم تُحصل موافقة كتابية لإعادة النشر.

القيم المقبولة: "permission-not-obtained"

meta.retrieved_atstring

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

meta.source_updated_atnull

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

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

meta.transformation_versionstring

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

meta.coverageobject

النطاق الجغرافي والزمني المتاح فعلياً.

meta.coverage.recordsinteger

عدد القنصليات في النسخة كاملة قبل التصفية.

meta.coverage.countriesinteger

عدد البلدان الممثلة في النسخة كاملة.

meta.coverage.completeboolean

false: لم يتم التحقق من شمولية تغطية الشبكة القنصلية.

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

meta.coverage.real_timeboolean

تعني false أن المشاهدات تاريخية دون تحديث مباشر.

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

meta.coverage.limitationsstring[]

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

meta.sourcesobject[]

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

meta.sources[].datasetstring

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

meta.sources[].producerstring

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

meta.sources[].source_urlstring

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

الأخطاء
  • 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 أو قيم المصادر.