الانتقال إلى المحتوى

دليل البدء

من حسابك إلى أول استجابة.

  1. افتح مساحتك

    سجّل الدخول إلى وحدة التحكم ببريد إلكتروني مؤكَّد، ثم أنشئ مؤسستك أو اخترها.

    فتح وحدة التحكم
  2. أنشئ مشروعًا

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

  3. أنشئ مفتاحًا تجريبيًا

    في تبويب مفاتيح API للمشروع، اختر الصلاحية search:read أو places:read ومدة الصلاحية. لا يُعرض المفتاح إلا مرة واحدة: احفظه فورًا في مدير الأسرار على خادمك.

  4. جهّز البيئة

    تقرأ الأمثلة ATLAS_API_URL وATLAS_API_KEY من البيئة. يُدخل الأمر read -rs المفتاح دون عرضه ودون تسجيله في سجل الصدفة.

    read -rs ATLAS_API_KEY && export ATLAS_API_KEY

    يُرسَل إليك عنوان الواجهة عند فتح وصولك. عرّف حينها ATLAS_API_URL بهذا العنوان، دون شرطة مائلة في آخره.

  5. أرسل أول طلب

    استدعِ الواجهة من خادمك. فهي لا ترسل ترويسات CORS، ويجب ألا يصل المفتاح السري إلى متصفح أبدًا.

    cURL

    curl --get "$ATLAS_API_URL/v1/localities/search" \
      --header "Authorization: Bearer $ATLAS_API_KEY" \
      --data-urlencode 'q=أطار' \
      --data-urlencode 'lang=ar' \
      --data-urlencode 'limit=5'

    Node.js

    const url = new URL("/v1/localities/search", process.env.ATLAS_API_URL);
    url.search = new URLSearchParams({
      q: "أطار",
      lang: "ar",
      limit: "5",
    }).toString();
    
    const response = await fetch(url, {
      headers: { Authorization: `Bearer ${process.env.ATLAS_API_KEY}` },
    });
    const body = await response.json();
    if (!response.ok) throw new Error(`ATLASMR ${response.status} ${body.code}`);
    console.log(body.meta.status, body.features.length);

    PHP

    <?php
    
    $url = getenv('ATLAS_API_URL') . '/v1/localities/search?' . http_build_query([
        'q' => 'أطار',
        'lang' => 'ar',
        'limit' => '5',
    ], '', '&', PHP_QUERY_RFC3986);
    
    $curl = curl_init($url);
    curl_setopt_array($curl, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('ATLAS_API_KEY')],
    ]);
    $body = json_decode(curl_exec($curl), true, 512, JSON_THROW_ON_ERROR);
    $status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
    if ($status !== 200) {
        throw new RuntimeException("ATLASMR {$status} {$body['code']}");
    }
    echo $body['meta']['status'], ' ', count($body['features']), PHP_EOL;
  6. اقرأ الاستجابة

    الاستجابة 200 مجموعة معالم GeoJSON (FeatureCollection) بصيغة application/geo+json.

    • تكون قيمة meta.status إما ok أو no_match أو empty_catalog.
    • تعطي كل نتيجة موقعها بالصيغة [longitude, latitude] وأسماءها كما يكتبها المصدر.
    • اعرض meta.attribution حيثما تعرض هذه البيانات.
    • يتبع الخطأ صيغة Problem Details: اقرأ code ولا تعتمد على نصه.

بعد ذلك

  • المصادقة

    المفاتيح السرية التجريبية وصلاحياتها ومدة صلاحيتها وأفضل الممارسات.

  • Search

    البحث عن التجمعات السكانية بأسمائها، بالفرنسية أو العربية.

  • Places

    عرض الأماكن والبحث عنها ثم قراءة تفاصيلها.

  • الأخطاء

    صيغة Problem Details وكل رمز قد تعيده الواجهة.

  • الحدود

    معدلات الطلبات والحصص وقواعد المعاملات في البيئة التجريبية.