HeadHunter API FAQ (Job Job)

قصة قصيرة حول خدمة التوظيف المخصصة لدينا وقصة كبيرة حول المشكلات التي ظهرت عند الدمج مع HeadHunter فيما يتعلق بنشر الوظائف الشاغرة. لماذا HeadHunter؟ لأنه في Superjob ، كل شيء أبسط إلى حد ما (ولكن أكثر على ذلك لاحقًا).


صورة


قبل التاريخ


يقوم فريقي بتطوير تطبيق التوظيف على شبكة الإنترنت لسلسلة واحدة رئيسية للبيع بالتجزئة. سلسلة الإجراءات مبنية على هذا النحو:


  1. يوافق العمل على قوالب الشواغر الأساسية (المتطلبات والمسؤوليات والشروط) والعالمية لجميع المتاجر والمدن ؛
  2. تقوم الموارد البشرية ، على أساس القالب الأساسي ، بإنشاء قالب الشغور الرئيسي لكل مدينة ، مع الإشارة إلى نطاق المرتبات لوظيفة معينة (قد يكون هناك رواتب مختلفة لنفس المناصب في المناطق المختلفة) ؛
  3. مدير المتجر ، على أساس قالب الشغور ، يفتح وظيفة شاغرة في متجره داخل تطبيقنا ويتلقى رابطًا إليها ؛
  4. يحصل المرشح ، بعد الارتباط ، على الاستبيان ، حيث يُدخل معلومات الاتصال ويرسلها إلى مدير المتجر للنظر فيها ؛
  5. ؟؟؟؟؟؟
  6. PROFIT!

عندما كان هناك اقتراح لنشر شاغر على HeadHunter مع وجود رابط إلى الاستبيان ، درست بإيجاز الوثائق الخاصة بواجهة برمجة التطبيقات (API) الخاصة بهم وفكرت في أسلوب "هناك عمل لمدة 5 دقائق". والآن ، بعد حوالي 1.5 شهر ، أكتب هذه المقالة.


العمل مع API HeadHunter


لذلك ، هناك مهمة نشر الوظائف الشاغرة على HeadHunter ، ستحتاج إلى:


إصدار API الحالي


لسوء الحظ (أو لحسن الحظ؟) ، لم يتم إصدار واجهة برمجة التطبيقات ، لذلك ، من الناحية النظرية ، يمكن لأي شيء أن يسقط في أي وقت. حتى إذا لم يحدث هذا ولم تكن هناك متطلبات مسبقة لذلك ، فلا يزال يتم تحديثه:


يمكنك العثور على مفاتيح في الإجابات ومعلمات واجهة برمجة التطبيقات غير الموضحة في الوثائق. عادة ما يعني هذا تركها للتوافق مع الإصدارات القديمة. استخدامها غير مستحسن.

تسجيل التطبيق


كل شيء بسيط هنا ، ولكن ليس بهذه البساطة كما نود. سيُطلب منك ملء نموذج يحتوي أحد الحقول فيه على العبارة " صف جميع وظائف التطبيق وتشير إلى طرق API المستخدمة ." كيف مفصلة ؟؟


كل الطرق؟


عند تسجيل الطلب لأول مرة ، تم ملء النموذج بالتفصيل ، مع الإشارة إلى جميع الطرق ، في المرة الثانية كان هناك ما يكفي من الصبر فقط لعبارة " جميع الأساليب من كتلة الشغور ". كلا الخيارين مرت.


تمت الموافقة على التطبيق لمدة أسبوعين تقريبًا. هذا هو أحد الأسباب التي أدت إلى اندماجنا قليلاً.


تسجيل الطلب الثاني


انتبه إلى المعلمة Redirect URI عند تسجيل التطبيق. وفقًا لملاحظاتنا ، التي تم تأكيدها بواسطة الدعم الفني لـ HeadHunter ، إذا كانت دائرة الاختبار موجودة في نطاق فرعي (على سبيل المثال ، test.example.com) ، فأنت بحاجة إلى تطبيق للبيع (مع redirect_uri = example.com) وللتطوير (مع redirect_uri = test.example.com ). وهذا أسبوعان آخران من انتظار الموافقة.


تعلم وتوضيح القواعد


أثناء قيامنا بتطوير الوظائف الشاغرة المغلقة والمنشورة في وضع الاختبار ، كان كل شيء على ما يرام. بعد تنزيل الشواغر المفتوحة لنشر المنشورات ، تم العثور على روابط تختفي بسبب الحظر الذي تفرضه قواعد وضعها في الوظائف الشاغرة ، ولكن ، من كلمات الدعم ، يمكن إرسال الروابط تلقائيًا إلى المستخدم ردًا على ذلك (لم يرد وصفها في القواعد). نحن هنا خذلنا بسبب الإهمال الخاص بنا ، ومع ذلك ، في رأيي ، كان من الممكن وضع مدقق في مرحلة تلقي نص الشغور.


قليلا من الحدس


في بعض الأحيان تكون نصوص الخطأ غير متوقعة وغير منطقية تمامًا. هنا ما نواجهه:


  • not_enough_purchased_services (الخدمات التي تم شراؤها لنشر أو تحديث هذا النوع من الوظائف الشاغرة ليست كافية) - عند نشر وظيفة شاغرة بالنوع المجاني . بالضبط ما يجب شراؤه عن الوظائف الشاغرة المجانية غير واضح. الحل: تحديد type: standard .
  • quota_exceeded (تم quota_exceeded حصة المدير لنشر هذا النوع من الوظائف الشاغرة) - يتم تكوين حصص المدير من خلال https://hh.ru/employer/settings/quotas ، آخر مرة رأيناها عند كتابة standart بدلاً من standard في حقل type ؛
  • duplicate (تم نشر شاغر مماثل بالفعل) عند استخدام علامة ignore_duplicates - يحدث عندما يكون name area وحقوله ignore_duplicates ، بغض النظر عن وجود العلامة لتجاهل التكرارات.

كذلك


عن الأمن


ضع في اعتبارك أن عمر الرمز المميز هو أسبوعين (هذا هو وقتهم المفضل ، على ما يبدو) ولا يمكنك تحديثه مسبقًا ، فقط بواسطة razlogin. من الناحية النظرية ، لا ينبغي أن يسبب هذا مشاكل ، ولكن إذا تسرب الرمز المميز ، فقد يكون لدى المهاجم وقت كافي للتأمل والفظائع والشماتة.


حول واجهات


وصف الوظيفة هو حقل description فردي يدعم علامات HTML متعددة ، ولكن التنسيق يعمل فقط عند نشره عبر الموقع. أتش تي أم أل المرسلة عبر API تحولت إلى نص عادي.


حول الكتب المرجعية


مثل API بالكامل ، يمكن أن تتغير الدلائل في أي وقت ، كما هو موضح صراحة في أوصافها:
كتاب مرجعي


الأخطاء ممكنة أيضًا ، على سبيل المثال ، في دليل المناطق التي توجد مسافات زائدة ، والتي قد لا تكون جاهزة لها. لقد بدأت مراجعة لهذا الموضوع ، وآمل أن يحلوا هذا الأمر ، لكن كن حذراً.




النتائج


ستأخذك البداية السريعة نحو أسبوعين ، وربما تحتاج إلى تسجيل العديد من التطبيقات. بشكل عام ، تعتبر الوثائق وواجهة برمجة التطبيقات نفسها عقلانية تمامًا ، وإلا يمكنك معرفة كيفية التواصل مع الدعم الفني أو من خلال مشكلة على github.


أنا متأكد من أننا لم نعثر على كل الأشياء المهمة المتعلقة بواجهة برمجة تطبيقات HeadHunter ، لأننا لم نلمس فرع السيرة الذاتية. لذلك ، إذا كان لديك شيء لتخبره / تكملة / توضيح - اكتب في التعليقات.


PS


Superjob API ومقارنة صغيرة مع HeadHunter: habr.com/en/post/465663

Source: https://habr.com/ru/post/ar464013/


All Articles