واجهة برمجة تطبيقات PlagiarismSearch: الأسئلة والإجابات
واجهة برمجة التطبيقات (API) هي مجموعة من الروتينات والبروتوكولات والأدوات لتطوير التطبيقات البرمجية. تم تصميمها لمساعدة المؤسسات على التحقق من كميات كبيرة من النصوص عبر أنظمتها. تتيح واجهة برمجة التطبيقات الخاصة بنا للعملاء فرصة فريدة لدمج برنامجنا في أنظمتهم الخاصة لجعل عملية التحقق من السرقة الأدبية عملية تلقائية. ونظرًا لأن تكامل واجهة برمجة التطبيقات يتطلب معرفة تقنية محددة ويتم عادةً من قبل المتخصصين الفنيين، تظهر العديد من الأسئلة حول ميزاتها الخاصة لضمان التشغيل الفعال. في هذه المقالة، جمعنا الأسئلة والإجابات الأكثر شيوعًا حول أداء واجهة برمجة التطبيقات، وحلول المشاكل الأكثر تكرارًا التي يواجهها عملاؤنا أثناء عملية التكامل.
بالإضافة إلى ذلك، يوفر تكامل واجهة برمجة التطبيقات لعملائنا فرصة الاستفادة من التخزين الشخصي. يمكن للعملاء تحميل أرشيفاتهم الخاصة إلى نظام التخزين وحفظ النصوص التي تم التحقق منها من السرقة الأدبية عبر واجهة برمجة التطبيقات الخاصة بنا، وبالتالي إنشاء تخزين فردي. يتيح التحقق من النصوص ضد التخزين الشخصي لعملائنا اكتشاف ومنع السرقة الذاتية. اقرأ المزيد عن وظائف التخزين الشخصي في دليلنا https://plagiarismsearch.com/ae/plagiarism-database.
ما هي الميزات المتاحة من خلال واجهة برمجة التطبيقات؟
- التحقق من النصوص والوثائق للسرقة الأدبية
- الوصول إلى تقارير السرقة الأدبية (تاريخ التحقق من السرقة الأدبية)
- إمكانية تحميل قاعدة بيانات العميل إلى التخزين وعرض الوثائق في التخزين
- يمكن للموزعين إنشاء حسابات مستخدمين متعددة وتعيين عدد محدد من الإرسالات/الكلمات لكل منهم. تتيح هذه الخيارات لكل إحالة استخدام حسابه/ها بشكل مستقل.
كيف يمكنني الوصول إلى واجهة برمجة التطبيقات؟
يمكنك الوصول إلى واجهة برمجة التطبيقات الخاصة بنا مجانًا لمدة 30 يومًا. ستتاح لك أيضًا 100 عملية إرسال وتخزين شخصي لاختبار جميع مزايا خدمتنا. يرجى التسجيل باستخدام هذا الرابط للحصول على الوصول إلى واجهة برمجة التطبيقات المجانية: https://plagiarismsearch.com/ae/account/signup?from=%2Faccount%2Fapi
بعد التسجيل، انتقل إلى ملفي الشخصي - إعدادات واجهة برمجة التطبيقات، وسترى مستخدم واجهة برمجة التطبيقات والمفتاح المقدم شخصيًا لاستخدامك. ستحتاج أيضًا إلى استخدام وثائق واجهة برمجة التطبيقات الخاصة بنا (انقر على قسم وثائق واجهة برمجة التطبيقات https://plagiarismsearch.com/docs/ في ملفك الشخصي لعرضها). قدم هذه المعلومات إلى المتخصص التقني الخاص بك لبدء استخدام واجهة برمجة التطبيقات.
كيف تعمل واجهة برمجة التطبيقات للتحقق من السرقة الأدبية؟
تعمل واجهة برمجة التطبيقات الخاصة بنا وفق المخطط التالي:
- يقوم المستخدم بإنشاء تقرير (من خلال تقديم نص، تحميل ملف، أو عنوان URL عام) https://plagiarismsearch.com/docs/v3/reports/create
- إذا كان رصيدك نشطًا – يتم إضافة المستند الخاص بك للتحقق
- إذا قمت بفحص 1000-3000 كلمة دفعة واحدة، فقد يستغرق ذلك 30-60 ثانية؛ الكلمات الأكثر قد تستغرق وقتًا أطول قليلاً
- بعد فحص المستند، يحصل المستخدم على طلب POST إلى `callback_url` https://plagiarismsearch.com/docs/v3/reports/callback-request
- نموذج لاستخدام API في PHP https://plagiarismsearch.com/files/sample-api.zip
هل يضمن API التحقق التلقائي من النصوص في الوقت الفعلي؟
نعم، تتم عملية التحقق من الانتحال في الوقت الفعلي. يستغرق التحقق من النص 1-5 دقائق، ويعتمد وقت التحقق على حجم النص.
هل يمكن إعداد وتنزيل التقارير عبر API؟
نعم، يمكنك تنزيل تقرير PDF أو HTML مباشرة بعد اكتمال التحقق من الانتحال. يتم حفظ جميع التقارير في قاعدة بياناتنا، بحيث يمكنك الوصول إليها في أي وقت وتنزيلها https://plagiarismsearch.com/docs/v3/reports/view
هل يمكن إنشاء قالب تقرير خاص بي؟
لا. لدينا قوالب تقارير متوفرة. يمكنك فقط إدراج شعار شركتك في قالب التقرير الخاص بنا.
هل يوفر API التحقق من أجزاء محددة من النص؟
نعم، إذا كنت تتحدث عن تضمين أو استبعاد المراجع أو الاقتباسات، أو إدراج عناوين URL محددة.
هل يمكن عرض تاريخ التحقق من النصوص عبر API؟
نعم، يتم حفظ جميع التقارير في قاعدة بياناتك.
هل هو REST API أم مكون إضافي؟ وهل هو متزامن أم غير متزامن؟
نحن نقدم RESTful API. يمكنك الوصول إلى وثائق API الخاصة بنا هنا: https://plagiarismsearch.com/docs/
إن API الخاص بنا غير متزامن. عند الانتهاء من التحقق من الانتحال، نرسل web_hook إلى `callback_url` الخاص بالمستخدم (https://plagiarismsearch.com/docs/v3/reports/callback-request).
هل هناك تعليمات حول كيفية تنفيذ API؟
يتمثل مخطط أكثر تفصيلاً لتنفيذ API كما يلي:
- قم بالتسجيل في موقعنا هنا https://plagiarismsearch.com/ae/account/signup
- تأكد من أن رصيدك نشط أو قم بالتسجيل للحصول على تجربة مجانية لـ API https://plagiarismsearch.com/account/signup?from=%2Faccount%2Fapi
- انتقل إلى ملفي الشخصي - إعدادات API، وسترى اسم المستخدم الخاص بـ API والمفتاح المخصصين للاستخدام الشخصي https://plagiarismsearch.com/account/api
- قم بإرسال ملف أو نص للتحقق من الانتحال باستخدام مصادقة HTTP الأساسية https://plagiarismsearch.com/docs/v3/reports/create.
إليك مثال في CURL:
curl_setopt($curl, CURLOPT_USERPWD, $apiUser . ':' . $apiKey);
- ستتلقى استجابة مع معرف التقرير:
"data": { "id": 100500, "auth_key": "65jdgjhh7h452hjkh45k7535", ... }
- يبدأ محرك الكشف الخاص بنا عملية التحقق من الانتحال.
- بعد اكتمال التحقق من الانتحال، يرسل النظام POST web_hook إلى URL المرتبط بالمستند المقدم. إذا لم يتم تحديد URL، يرسل النظام POST web_hook إلى URL المرتبط بحساب المستخدم.
- هناك طريقة بديلة لتعيين حالة فحص الانتحال، لكنها ليست موصى بها من قبل فريقنا. وهي مراقبة حالة التقرير
https://plagiarismsearch.com/docs/v3/reports/status
على فترات زمنية معينة والتحقق مما إذا كانت حالة التقرير
“منتهية” (
status=2
)، “خطأ” (status=-10
)، أو “خطأ في الخادم” (status=-11
). - عند اكتمال عملية فحص الانتحال، يمكنك الحصول على معلومات مفصلة باستخدام معرّف التقرير. أحد الأمثلة يمكن العثور عليه هنا: https://plagiarismsearch.com/docs/v3/reports/view.
يمكنك أيضًا تحديد المعامل `show_relations` للحصول على المزيد من البيانات.
على سبيل المثال،
const RELATIONS_SOURCES = -2;
const RELATIONS_RAW = -1;
const RELATIONS_NONE = 0; // الافتراضي
const RELATIONS_TREE = 1;
show_relations = -2 =>
يُرجع قائمة بالمصادر مرتبة حسب نسبة الانتحال. راجع حقل الاستجابة`data.sources`
.show_relations = -1 =>
يُرجع جميع بيانات التقرير. الفقرات والجمل والمصادر مع النص المميز. راجع حقل الاستجابة`data.paragraphs`
.show_relations = 1 =>
يُرجع جميع بيانات التقرير. الفقرات والجمل والمصادر مع النص المميز. راجع حقل الاستجابة`data.paragraphs`
.
هل تحتاج السكربتات إلى الانتظار حتى تظهر نتيجة اختبار الانتحال أم يمكن استدعاء وظيفة لاحقة للحصول على نتيجة معالجة المستند؟
هناك رابط استدعاء POST يُرسل إلى المستخدم. يمكنك أيضًا تحديد رابط استدعاء خاص بك (callback_url) في الإعدادات عند إرسال المستند الخاص بك ( https://plagiarismsearch.com/docs/v3/reports/create, https://plagiarismsearch.com/docs/v3/reports/callback-request)
يمكن تنزيل التقرير بعدة صيغ: (https://plagiarismsearch.com/docs/v3/reports/view) (راجع "الاستجابة").
{
"status": true,
"code": 200,
"data": {
"file": "https://plagiarismsearch.com/reports/download/100500?key=54fba6bc7d765cab653f2185a83284a6", // رابط تقرير PDF العام
"link": "https://plagiarismsearch.com/reports/100500?key=54fba6bc7d765cab653f2185a83284a6", // رابط تقرير HTML العام
"files": [
{
// رابط تقرير PDF العام بالإنجليزية الإصدار 3
"url": "https://plagiarismsearch.com/r/download100500?key=54fba6bc7d765cab653f2185a83284a6",
"type": "application/pdf",
"language": "en",
"version": 3
},
{ // رابط تقرير PDF العام بالإسبانية الإصدار 3
"url": "https://plagiarismsearch.com/es/r/download/100500?key=54fba6bc7d765cab653f2185a83284a6",
"type": "application/pdf",
"language": "es",
"version": 3
},
{ // رابط تقرير PDF العام بالبولندية الإصدار 3
"url": "https://plagiarismsearch.com/pl/r/download/100500?key=54fba6bc7d765cab653f2185a83284a6",
"type": "application/pdf",
"language": "pl",
"version": 3
},
{ // رابط تقرير PDF العام بالإنجليزية الإصدار 1 (الحالي)
"url": "https://plagiarismsearch.com/reports/download/100500?key=54fba6bc7d765cab653f2185a83284a6",
"type": "application/pdf",
"language": "en",
"version": 1
}
]
}
}
كيف أحصل على تقرير HTML؟
للحصول على رابط تقرير HTML، تحتاج إلى إرسال طلب GET إلى https://plagiarismsearch.com/api/v3/reports/{id} حيث {id} هو معرف التقرير الذي تريد الحصول على التقرير الخاص به. في “الاستجابة” ستجد رابط التقرير في حقل `data.link`. أيضًا، في “الاستجابة” ستجد ‘data.auth_key’ باستخدامه يمكنك إنشاء 3 نسخ محتملة من تقارير HTML.
على سبيل المثال، هناك 3 أنواع ممكنة من تقارير HTML لـ data.auth_key=65jdgjhh7h452hjkh45k7535
- https://plagiarismsearch.com/reports/100500?key=65jdgjhh7h452hjkh45k7535
- https://plagiarismsearch.com/r/100500?key=65jdgjhh7h452hjkh45k7535
- https://plagiarismsearch.com/reports/lite/100500?key=65jdgjhh7h452hjkh45k7535
بالإضافة إلى ذلك، يمكنك إنشاء روابط تقارير بـ 4 لغات مختلفة (EN, ES, PL, RU)
- https://plagiarismsearch.com/reports/100500?key=65jdgjhh7h452hjkh45k7535
- https://plagiarismsearch.com/es/reports/100500?key=65jdgjhh7h452hjkh45k7535
- https://plagiarismsearch.com/pl/reports/100500?key=65jdgjhh7h452hjkh45k7535
- https://plagiarismsearch.com/ru/reports/100500?key=65jdgjhh7h452hjkh45k7535
يمكنك الجمع بين أنواع تقارير HTML المختلفة واللغات للحصول على النوع المطلوب باللغة المختارة.
يمكن استخدام نفس الطريقة لإنشاء رابط تقرير PDF (يمكن عرض هذه الروابط في “Response” -> `data.files`).
على سبيل المثال:
...
"files":[
{
"url":"https://plagiarismsearch.com/r/download/100500?key=65jdgjhh7h452hjkh45k7535",
"type":"application/pdf",
"language":"en",
"version":3
},
{
"url":"https://plagiarismsearch.com/es/r/download/100500?key=65jdgjhh7h452hjkh45k7535",
"type":"application/pdf",
"language":"es",
"version":3
}
]
...
لا أستطيع العثور على نقاط النهاية/التفاصيل حول كيفية إنشاء رموز الوصول.
سيكون الرمز في حسابك بعد التسجيل (https://plagiarismsearch.com/account/api)
يجب إرساله باستخدام مصادقة HTTP الأساسية.
PHP مع CURL
// مصادقة HTTP الأساسية
curl_setopt($curl, CURLOPT_USERPWD, $apiUser . ':' . $apiKey);
أود إرفاق ملفات بصيغ DOCX وPDF وPPT للتحقق. هل هذا ممكن؟
يمكنك إرفاق ملفات بصيغ متعددة: (https://plagiarismsearch.com/docs/v3/reports/create) كملف سلسلة أو رفع ملف للتحقق.
بالإضافة إلى ذلك، يمكنك إرسال الملفات باسم `file`
على سبيل المثال:
curl -F 'file=@/home/petehouston/hello.txt' https://plagiarismsearch.com/api/v3/reports/create
كيف يمكنني الحصول على قائمة عناوين URL التي تم العثور على النص بها؟
يجب استخدام show_relations=1
أو إذا كنت بحاجة فقط إلى المصادر (الروابط => نسبة السرقة العلمية) أو استدعاء المسار (طريقة POST) https://plagiarismsearch.com/api/v3/reports/sources/{reportId} (غير موثق حالياً) واستخدام حقل `data.sources`
كيف يمكنني استبعاد عنوان URL الخاص بي من هذه القائمة؟
يمكنك استدعاء المسار (طريقة POST) https://plagiarismsearch.com/api/v3/reports/skip/{reportId} (غير موثق حالياً) بعد التحقق من التقرير مع معلمات POST
a) POST['url'] = 'https://wikipedia.org'
أو
b) POST['source'] = {source.id} (على سبيل المثال data.sources[0].id (عدد صحيح))
أو
c) مجموعة من عناوين URL المستبعدة
POST['urls'][] = 'https://wikipedia.org'
POST['urls'][] = 'https://plagiarismsearch.com'
مجموعة من معرفات المصادر المستبعدة
POST['sources'][] = {source.id}
POST['sources'][] = {source.id2}
إذا استدعيت المسار مرتين - سيتم تضمين عناوين URL مرة أخرى، مما يؤثر على النسبة العامة للسرقة العلمية
لاستخدام أكثر شفافية، يُفضل استخدام المسارات بنفس المعلمات كما هو موضح أعلاه.
https://plagiarismsearch.com/api/v3/reports/exclude/{reportId}
https://plagiarismsearch.com/api/v3/reports/include/{reportId}
نخطط أيضًا لإكمال مجموعة ميزات ستسمح باستبعاد URL هنا: https://plagiarismsearch.com/api/v3/reports/create
كيف يمكنني إعادة حساب نسبة السرقة العلمية بعد الاستبعاد؟
سيشمل الرد على الطلب النسبة العامة (المعدلة) للسرقة العلمية data.plagiat
ما هي فوائد "filter_references" و"filter_quotes"؟
filter_references=1 =>
استبعاد المراجع. النصوص المرجعية ليس لها وزن على النسبة الإجمالية للسرقة العلمية
filter_quotes=1 =>
استبعاد الاقتباسات النصية. النصوص الاقتباسية ليس لها وزن على النسبة الإجمالية للسرقة العلمية. علامات الاقتباس هي
array('«', '»'),
array('"', '"'),
array('“', '”'),
array('《', '》'),
array('〈', '〉'),
array('{*', '*}'),
هل هناك طريقة لتنفيذ API عبر CURL؟
فيما يلي الإرشادات التي يمكن أن تسهل تنفيذ CURL.
- رفع مستند للتحقق من السرقة العلمية https://plagiarismsearch.com/docs/v3/reports/create
curl --location --request POST 'https://plagiarismsearch.com/api/v3/reports/create' \
--header 'Authorization: Basic your_user_key_combination==' \
--form 'search_web="1"' \
--form 'search_storage="1"' \
--form 'file=@"test_file_plagiarism.txt"'
- عرض التقرير https://plagiarismsearch.com/docs/v3/reports/view
curl --location --request GET 'https://plagiarismsearch.com/api/v3/reports/3520470' \
--header 'Authorization: Basic your_user_key_combination=='
لماذا تكون حالة المستند "معلق" في التخزين؟
عادةً ما تبقى المستندات في حالة معلق لفترة قصيرة، من 0 إلى 6 دقائق بعد تحميلها أو إعادة تحميلها. يتم إضافة المستند فوراً إلى فهرس البحث.
يمكنك التحقق من ذلك في كود البرنامج: إذا مرت 6 دقائق، تصبح حالة المستند نشطة.
يمكن معرفة حالة المستند باستخدام الطريقة التالية:
GET https://plagiarismsearch.com/api/v3/storage/{id}
راجع الحقل `data.is_in_index`
كيفية تحميل المستندات إلى التخزين عبر واجهة برمجة التطبيقات؟
يمكنك تحميل مستنداتك عبر واجهة برمجة التطبيقات:
POST https://plagiarismsearch.com/api/v3/storage/create
مع معلمات مشابهة لـ https://plagiarismsearch.com/docs/v3/reports/create
بدلاً من ذلك، يمكنك تحميل المستندات على شكل قائمة أو أرشيف باستخدام النموذج https://plagiarismsearch.com/storage/upload
ما هي إمكانيات حساب الموزع؟ وكيف يمكن دمجه في نظامي الخاص؟
الوظائف التي يقدمها حساب الموزع هي:
- يجب إنشاء كل مستخدم جديد عبر واجهة برمجة التطبيقات (ستحتاج إلى اسم مستخدم وكلمة مرور لإنشاء حساب لكل مستخدم).
- ستتاح لك الفرصة لتخصيص عدد معين من الكلمات لكل مستخدم عبر حساب الموزع.
تتيح هذه الخيارات لكل عميل استخدام حسابه بشكل مستقل، وستتمكن من إضافة الكلمات اللازمة لكل مستخدم.
التوثيق الفني اللازم للتكامل:
تحتاج إلى حساب من نوع موزع
لتتمكن من إنشاء العملاء. اتصل بنا على services@plagiarismsearch.com
للحصول على
الوصول الكامل إلى إمكانيات حساب الموزع.
إنشاء عميل
لإنشاء عميل جديد، أرسل طلب POST إلى https://plagiarismsearch.com/api/v3/reseller-customers/create (البريد الإلكتروني للعميل هو حقل مطلوب).
على سبيل المثال:
curl --location --request POST
'https://plagiarismsearch.com/api/v3/reseller-customers/create' \
--header 'Authorization: Basic
your_user_key_combination===' \
--form 'email="testusermail@gmail.com"' \
--form 'name="User Name"' \
--form 'password="123456"'
الاستجابة
{
"status":true,
"code":200,
"data":{
"id":26784,
"email":"testusermail@gmail.com",
"name":"User Name",
"status":"active",
"password":"123456"
},
"version":"3.0.0"
}
قائمة العملاء
أرسل طلب GET 'https://plagiarismsearch.com/api/v3/reseller-customers' للحصول على قائمة جميع العملاء الذين تم إنشاؤهم.
على سبيل المثال:
curl --location --request GET
'https://plagiarismsearch.com/api/v3/reseller-customers' \ --header
'Authorization: Basic your_user_key_combination=='
عرض الأرصدة
أرسل طلب GET إلى https://plagiarismsearch.com/api/v3/reseller-customers/balance لعرض رصيدك.
عرض رصيد العميل
أرسل طلب GET إلى https://plagiarismsearch.com/api/v3/reseller-customers/balance/{userId} لعرض رصيد عميل معين.
مثال على استجابة الرصيد:
{
"status":true,
"code":200,
"data":{
"is_solvable":true,
"700":{
"type":"Words",
"amount":6001,
"expired":1878542044,
"is_valid":true,
"is_solvable":true
},
"300":{
"type":"Submissions",
"amount":4,
"expired":1720878480,
"is_valid":true,
"is_solvable":true
}
},
"version":"3.0.0"
}
دفع رصيد العميل
أضف العدد اللازم من التقديمات أو الكلمات إلى حساب عميل معين عن طريق إدخال معرف المستخدم والمبلغ في حقل `words` أو `submissions` (1 تقديم = 1000 كلمة).
على سبيل المثال:
curl --location --request POST
'https://plagiarismsearch.com/api/v3/reseller-customers/pay/26784' \
--header 'Authorization: Basic your_user_key_combination==' \
--form 'words="1000"'
{
"status":true,
"code":200,
"data":{
"payment_id":1171,
"amount":100,
"type":"Words"
},
"version":"3.0.0"
}
كيفية تصحيح الخطأ: 400 طلب غير صالح عند إرسال النص للتحقق من الانتحال؟
قد يبدو مثال الخطأ الذي قد تحصل عليه عند إرسال النص للتحقق من الانتحال كالتالي:
طريقة الطلب: PUT
رمز الحالة: 400 طلب غير صالح
الرد: لا توجد مثيلات متاحة لـ plagiarismsearch.com
واجهة برمجة التطبيقات المستخدمة للتحقق من الانتحال: https://plagiarismsearch.com/api/v3/reports/create
الحل:
يجب على العميل استخدام طريقة POST Http (وليس PUT) كما هو موضح في الصورة
هناك خطأ في المصادقة أثناء تشغيل /report على GET باستخدام وحدة الطلب في Python.
يجب عليك إرسال البيانات المتعلقة بالمصادقة عند كل طلب جديد.
نستخدم المصادقة الأساسية، مثل: https://docs.python-requests.org/en/master/user/authentication/
from requests.auth import HTTPBasicAuth
>>> requests.get(' https://plagiarismsearch.com/api/v3/reports/{id}', auth=HTTPBasicAuth('apiUser', 'apiKey'))
// مصادقة أساسية باستخدام Php وCURL
curl_setopt($curl, CURLOPT_USERPWD, $apiUser . ':' . $apiKey);