دليل البدء السريع - ابدأ مع 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 الكاملة

ابدأ في بناء حل التكامل للضغط الخاص بك مع جميع أوصاف الواجهات وتعريفات المعلمات ومراجع رموز الأخطاء

عرض وثائق API الكاملة تعرف على خدمة API تواصل مع المبيعات