دليل MeowID المصوّر لتكامل API
تاريخ مراجعة الواجهة
من إنشاء ملف للقط إلى تنفيذ أول طلب للتعرّف على هويته.
توفر MeowID واجهة API للتعرّف على القطط. سجّل صورًا مرجعية مؤكدة في ملف القط، ثم أرسل صورة أخرى للبحث عن قطط مشابهة ضمن المشروع نفسه. يمكنك حفظ الملاحظات والسمات الخاصة بك في حقل metadata.
اتبع الصور لإنشاء مشروع وإضافة قط وصورة مرجعية ومفتاح API، ثم استدعاء واجهة التعرّف. يستخدم المثال الاسم Mimi ويمكنك تغييره.
التُقطت الصور في ٢٩ سبتمبر ٢٠٢٦. تتوافق الأرقام البرتقالية مع الشروح أسفل الصور. تعرض بعض لقطات التسجيل والتعرّف سجلات تاريخية من مشروع قائم.
تُرجمت نصوص اللقطات وتعليقاتها، مع الحفاظ على التخطيط والصور والنتائج السابقة. قد تختلف صياغة النصوص في لوحة التحكم.
قبل البدء
جهّز حساب MeowID وصورتين مختلفتين للقط نفسه: واحدة للتسجيل وأخرى للاختبار. ابدأ بصورة واضحة وجيدة الإضاءة يظهر فيها قط واحد.
الخطوات: إنشاء مشروع ← إنشاء ملف للقط ← تسجيل صورة مرجعية ← انتظار اكتمال المعالجة ← اختبار التعرّف ← إنشاء مفتاح API ← استدعاء API.
استخدم المشروع نفسه للتسجيل والتعرّف. عنوان API هو https://platform.meowid.net.
١. سجّل الدخول أو أنشئ حسابًا
افتح لوحة تحكم MeowID. سجّل الدخول أو أنشئ حسابًا جديدًا ثم سجّل الدخول.

٢. أنشئ مشروعًا وانسخ معرّفه
في قائمة التنقل الجانبية، اضغط علامة الجمع بجانب المشاريع. إذا كانت القائمة مطوية، افتحها أولًا من زر القائمة.

أدخل اسمًا للمشروع، مثل «عرض التعرّف على القطط»، والوصف اختياري.

افتح المشروع وانسخ معرّفه. استخدمه مكان YOUR_PROJECT_ID في عنوان API. تُعزل الملفات والصور والمتجهات بين المشاريع.

٣. أنشئ ملفًا تعريفيًا للقط
٤. ارفع صورة مرجعية
من إدارة الهويات، افتح مكتبة صور القط المطلوب واختر «إضافة صورة تسجيل».

اختر صورة JPEG أو PNG أو WebP أو اسحبها إلى الصفحة، وتأكد من أنها للقط المقصود قبل رفعها. ابدأ بصورة واضحة لقط واحد، ثم أضف زوايا أخرى للقط نفسه بعد نجاح التسجيل الأول.

لا تسجل صور قطط مختلفة ضمن الهوية نفسها.
٥. انتظر اكتمال مهمة التسجيل
قبول الرفع لا يعني اكتمال المعالجة. ابحث عن مهمة التسجيل في قائمة مهام المشروع وانتظر حتى تصبح status=completed.

تعني queued وrunning أن المعالجة مستمرة. عند waiting_user اختر القط المستهدف في لوحة التحكم. وعند failed راجع الخطأ ثم أعد المحاولة بعد إصلاحه.
اختبر التعرّف بعد اكتمال التسجيل فقط.
٦. اختبر التعرّف في لوحة التحكم
افتح «إدارة الهويات ← اختبار التعرّف» وارفع صورة أخرى للقط نفسه. في المثال، عدد النتائج 3 وعتبة الرفض 0.35.

يعيد top_k=3 ثلاثة مرشحين كحد أقصى. قيمة 0.35 مثال فقط؛ اضبطها باستخدام صورك. اختبر زوايا وإضاءة وخلفيات مختلفة.
تعرض الصورة التالية نتيجة تاريخية. تمثل 56.61% درجة التشابه، وليست احتمال صحة بنسبة 56.61%. استخدمت المهمة مسار body لعدم اكتشاف وجه؛ ويمكن المقارنة باستخدام سمات الجسم.

٧. أنشئ مفتاح API للمشروع
افتح «API Keys» وتأكد من اختيار المشروع الصحيح. أنشئ مفتاحًا باسم واضح مثل meowid-demo-server.

اختر «مخصص» واترك recognition:write فقط لهذا المثال. تحقق من إلغاء بقية الصلاحيات.

اضبط تاريخ انتهاء وقائمة IP مسموح بها عند الحاجة. يظهر المفتاح الكامل مرة واحدة فقط؛ احفظه في متغير بيئة على الخادم أو في مدير أسرار. لا تضعه في الواجهة الأمامية العامة أو الصور أو Git.
٨. استدعِ واجهة التعرّف
استبدل YOUR_PROJECT_ID وYOUR_API_KEY ثم نفّذ الأمر من المجلد الذي يحتوي على query.jpg.
curl -sS -X POST "https://platform.meowid.net/v1/projects/YOUR_PROJECT_ID/search?top_k=3&threshold=0.35" -H "Authorization: Bearer YOUR_API_KEY" -F "[email protected];type=image/jpeg"
في PowerShell استخدم curl.exe. لصور PNG أو WebP غيّر اسم الملف ونوع MIME أيضًا. اسم حقل multipart هو image. لا تضبط Content-Type الكامل يدويًا؛ سيُنشئ curl قيمة boundary.
ينتظر البحث اكتمال مهمة التعرّف ثم يعيد النتيجة. تحقق من الرصيد والأسعار قبل الطلب.
٩. اقرأ نتيجة التعرّف
هذا مثال مختصر للتنسيق وليس استجابة فعلية:
{
"cat_count": 1,
"unknown": false,
"matches": [{
"cat_id": "example-cat-id",
"cat_name": "Mimi",
"score": 0.91,
"support": 2
}]
}
تحقق من unknown قبل استخدام المرشحين. إذا كانت القيمة true فلا تعيّن هوية تلقائيًا حتى عند وجود مرشحين. score تعني التشابه لا احتمال الصحة، وsupport هو عدد المتجهات الصالحة الداعمة للمرشح.
عند وجود عدة قطط، عالج كل عنصر في candidates. النتيجة العليا تخص أول قط تم اكتشافه فقط. إذا كان cat_count يساوي صفرًا فلا تصل إلى matches[0].
اختياري: أنشئ الملفات عبر API
لأتمتة التسجيل، أضف cats:write وtasks:read إلى المفتاح. احتفظ بـ recognition:write إذا كان المفتاح سيجري عمليات تعرّف أيضًا.
| الإجراء | الواجهة | الخطوة التالية |
|---|---|---|
| إنشاء قط | POST /v1/projects/{project_id}/cats | احفظ المعرّف المعاد كمعرّف القط. |
| تسجيل صورة | POST /v1/projects/{project_id}/cats/{cat_id}/images | أرسل حقل multipart باسم image واحفظ task_id. تعني HTTP 202 أنه قُبل. |
| فحص المهمة | GET /v1/projects/{project_id}/tasks | ابحث عن المعرّف وانتظر completed. |
مثال ملف ببيانات metadata:
{
"name": "Mimi",
"metadata": {
"personality": "Friendly, loves sunny spots",
"notes": "Add fields that suit your application"
},
"active": true
}
إن personality وnotes حقول تحددها أنت وليست معلومات يستنتجها النموذج. اربط بياناتك باستخدام cat_id. زد offset إذا لم تظهر المهمة في الصفحة الأولى. عالج waiting_user في لوحة التحكم وراجع أخطاء failed.
بعد التسجيل يمكنك إضافة قطط وصور مرجعية دون إعادة تدريب النموذج.
استكشاف الأخطاء وإصلاحها
| المشكلة | ما يجب فحصه |
|---|---|
401 | تحقق من المفتاح وترويسة Authorization: Bearer. |
403 | تحقق من المشروع والصلاحيات والانتهاء وقائمة IP. |
429 | خفّض عدد الطلبات المتزامنة وحاول لاحقًا. |
| رُفعت الصورة دون تطابق | تأكد من اكتمال التسجيل ونشاط القط واستخدام المشروع نفسه. |
unknown=true | راجع جودة الصور المرجعية واضبط العتبة. |
| عدة قطط في صورة | قيّم كل عنصر في candidates. |
راجع وثائق المطورين الكاملة.
