دليل البدء السريع - ابدأ مع API الضغط في 5 دقائق
من خلال خطوات بسيطة قليلة، يمكنك دمج خدمة SmartSlim API للضغط وتقديم أول طلب ضغط باستخدام curl / Python / Java / Node.js
الخطوة 1: تسجيل حساب والحصول على API Key
قبل استدعاء API الضغط، تحتاج إلى تسجيل حساب UGLYPEAR DATA وإنشاء تطبيق للحصول على API Key الخاص بك
التسجيل في وحدة التحكم
قم بزيارة وحدة تحكم مطوري UGLYPEAR DATA، وسجل حساباً باستخدام بريدك الإلكتروني أو رقم هاتفك، وأكمل التحقق من الهوية لبدء استخدام الخدمة.
إنشاء تطبيق
بعد تسجيل الدخول إلى وحدة التحكم، أنشئ تطبيقاً جديداً في "إدارة التطبيقات"، واملأ اسم التطبيق ووصف الغرض، واختر خطة الخدمة المطلوبة.
الحصول على API Key
بعد إنشاء التطبيق، سيقوم النظام بإنشاء API Key فريد له. يرجى الحفاظ عليه بشكل آمن وعدم تعريضه في الكود من جانب العميل أو المستودعات العامة.
نصيحة أمنية: API Key الخاص بك يعادل بيانات اعتماد حسابك. يرجى قراءته من خلال متغيرات البيئة أو خدمة إدارة المفاتيح. لا تقم أبداً بتشفيره في الكود المصدري أو رفعه إلى مستودعات الكود.
الخطوة 2: أول استدعاء API (curl)
بعد الحصول على API Key، استخدم curl لتقديم طلب ضغط بسرعة والتحقق من الاتصال وتوفر الخدمة
curl -X POST https://api.uglypear.com/v1/compress \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "file=@document.pdf" \
-F "quality=high"
استبدل YOUR_API_KEY في الطلب بـ API Key الفعلي الخاص بك، file=@document.pdf يشير إلى الملف المحلي المراد ضغطه، ويمكن أن تكون معلمة quality هي low / medium / high.
الخطوة 3: كود مثال Python
استخدم مكتبة Python requests لرفع الملفات والحصول على نتائج الضغط، مناسب لتكامل الخدمات الخلفية ونصوص معالجة البيانات
import requests
url = "https://api.uglypear.com/v1/compress"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("document.pdf", "rb")}
data = {"quality": "high", "format": "pdf"}
response = requests.post(url, headers=headers, files=files, data=data)
result = response.json()
print(f"Compression complete, download link: {result['download_url']}")
الخطوة 4: كود مثال Node.js
استخدم Node.js مع form-data و fetch لرفع الملفات، مناسب لتطبيقات Node من جانب الخادم وسيناريوهات Serverless
const FormData = require('form-data');
const fs = require('fs');
const form = new FormData();
form.append('file', fs.createReadStream('document.pdf'));
form.append('quality', 'high');
fetch('https://api.uglypear.com/v1/compress', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY', ...form.getHeaders() },
body: form
}).then(res => res.json()).then(data => console.log(data));
الخطوة 5: كود مثال Java (OkHttp)
استخدم عميل Java OkHttp لإنشاء طلب multipart، مناسب لتكامل Java الخلفي على مستوى المؤسسات وتطبيقات Android
import okhttp3.*;
import java.io.File;
public class CompressDemo {
public static void main(String[] args) throws Exception {
OkHttpClient client = new OkHttpClient();
File file = new File("document.pdf");
RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.getName(),
RequestBody.create(file, MediaType.parse("application/pdf")))
.addFormDataPart("quality", "high")
.build();
Request request = new Request.Builder()
.url("https://api.uglypear.com/v1/compress")
.addHeader("Authorization", "Bearer YOUR_API_KEY")
.post(body)
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println(response.body().string());
}
}
}
تنسيق استجابة API
بعد طلب ضغط ناجح، يقوم الخادم بإرجاع استجابة بتنسيق JSON تحتوي على معرف المهمة ومعلومات نتيجة الضغط
{
"task_id": "task_8f3c2a1b9e7d4c5f",
"status": "completed",
"download_url": "https://api.uglypear.com/v1/tasks/task_8f3c2a1b9e7d4c5f/download",
"original_size": 5242880,
"compressed_size": 1572864,
"compression_ratio": "70.0%"
}
task_id
المعرف الفريد لمهمة الضغط هذه، والذي يمكن استخدامه للاستعلام عن حالة المهمة، أو تنزيل ملفات النتائج، أو حذف المهمة.
status
حالة المهمة، القيم هي pending / processing / completed / failed.
download_url
رابط تنزيل ملف نتيجة الضغط. بعد اكتمال المهمة، يمكنك استرداد الملف المضغوط عبر هذا الرابط.
original_size
حجم الملف الأصلي بالبايت.
compressed_size
حجم الملف المضغوط بالبايت.
compression_ratio
نسبة الضغط، تمثل نسبة تقليل الحجم. القيمة الأعلى تعني ضغطاً أفضل.
الخطوات التالية
بعد إكمال أول استدعاء، يمكنك التعمق في وثائق API الكاملة، أو تنزيل SDKs للغات مختلفة، أو عرض المزيد من أمثلة الكود
وثائق API
راجع مواصفات OpenAPI 3.0 الكاملة، وتعريفات المعلمات، ورموز الأخطاء، وسياسات تحديد المعدل.
عرض وثائق APIتحميل SDK
قم بتنزيل مكتبة Rust SDK الديناميكية، وملفات رأس C FFI، وحزمة روابط Python لتسريع التطوير المتكامل.
تحميل SDKأمثلة الكود
اعرض كود أمثلة كامل لسيناريوهات نموذجية مثل الضغط الدفعي، والمهام غير المتزامنة، والضغط المشفر.
عرض الأمثلةعرض وثائق API الكاملة
ابدأ في بناء حل التكامل للضغط الخاص بك مع جميع أوصاف الواجهات وتعريفات المعلمات ومراجع رموز الأخطاء