البحث والتصفية
يقبل GET /listings عددًا من المرشّحات قدره 34. المعاملان city وlisting_type هما المطلوبان فقط؛ والبقية تضيق النتائج. يقبل GET /listings/count المرشّحات نفسها ويعيد العدد فقط؛ البحث نفسه لا يعيد عددًا إجماليًا.
تأتي القوائم والمعرّفات والأسماء المختصرة من نقاط النهاية المرجعية، لا هذه الصفحة، حتى لا تصبح قديمة: GET /cities وGET /cities/{city}/neighborhoods، وGET /enums لأنواع العقارات والمرافق والمصادر وغيرها.
| المجموعة | المرشّحات |
|---|---|
| الموقع | city، neighborhood_id، neighborhood_id_exclude، bbox، compound، in_compound |
| النوع | listing_type، listing_category، property_type |
| السعر | price_min، price_max، rent_frequency |
| المساحة | area_min، area_max |
| الغرف | beds، beds_min، beds_max، bathrooms، bathrooms_min، bathrooms_max، livings_min |
| الصفات | amenities، amenities_exclude، furnished، floor، max_age، verified |
| الحداثة | updated_since، days_on_market_min، days_on_market_max |
| المصدر | source، source_exclude، advertiser_type |
| النص | q |
ما ينبغي معرفته قبل الاعتماد عليها
لا تتصرف بعض المرشّحات كما يوحي اسمها. هذا سلوك مقصود، لكنه غير قابل للتخمين.
bedsمطابق تمامًا عند كل قيمة. يستخدم مرشّح darak.app الخاصbeds=5لخمس غرف أو أكثر، لذلك تختلف النتائج للرقم نفسه. استخدمbeds_minللنطاق، وينطبق ذلك علىbathroomsأيضًا.- يبحث
qفي نص المعلن، أيtitleوdescription، لاheadlineالذي يصوغه دارك. يجب ظهور كل الكلمات؛ واستخدم"quote a phrase"لمطابقة العبارة كاملة، و|بين المصطلحات لقبول أي منها. المصادر التي لا تنشر عنوانًا، ومنها عقار، تُطابق الوصف فقط. - لا يقسّم
floor=groundوfloor=upperكل النتائج. الإعلان الذي لم يحدد المصدر طابقه لا يدخل أيًا منهما. - تعني
verified=false«غير معلّم كمتحقق»، وتشمل الإعلانات التي لم يذكر المصدر حالة تحققها، لا المعلّمة كغير متحققة فقط. - يبقي
neighborhood_id_excludeالإعلانات التي تعذر تحديد حيّها، بينما يستبعدهاneighborhood_id. استثناء ثلاثة أحياء ليس كإدراج جميع الأحياء الأخرى. - يضيّق الخطأ الإملائي في
sourceالنتائج إلى الصفر. تُتحقق أسماء المعاملات، فيعيد الخطأ فيهاunknown_parameter، لكن قيم المصادر لا تُفحص مقابل القائمة؛ يعيدsource=bayuttصفحة فارغة دون خطأ. تجد القيم الصحيحة فيGET /enums. - لا تظهر الإعلانات بلا سعر في البحث، رغم أن
price.yearly_sarيقبل null وأن جلب التفاصيل قد يعيدها. - تغيّر القيم المتعددة في
property_typeحدود الجودة. تُعاير تصفية القيم الشاذة بحسب النوع عند طلب نوع واحد فقط، فقد تظهر فيلا مستبعدة تحتproperty_type=villaعند استخدامproperty_type=villa,apartment. - يرشّح
sort=price_dropأيضًا إلى إعلانات انخفض سعرها فعليًا. أماsort=recommendedفهو ترتيب يُعاد ضبطه بين الإصدارات، وقد يعيد ترتيب الطلب نفسه. تصفح به، لكن لا تستخدمه للمزامنة. compound=trueحالة خاصة تعني «ضمن أي مجمع»، لا ضمن مجمع اسمه true. استخدمin_compoundإذا كان ذلك ما تقصده.
لن تتطابق الأعداد مع darak.app تمامًا
يعرض الاثنان الآن كل المعروض الحي، فتكون الأعداد متقاربة. يعود الاختلاف إلى الترتيب وتصفية القيم الشاذة، لا نافذة الحداثة. كان darak.app يخفي ما لم ينشر مصدره تاريخ تحديث جديدًا خلال 30 يومًا، مما استبعد خُمس المعروض الحي واعتمد على المصدر أكثر من الإعلان. أُزيلت هذه التصفية.