Macaaw PDF API
PDF API للضغط والتحويل والتوقيع
REST API واحد لـ 20 أداة PDF وتوقيعات إلكترونية. كل مهمة بتشتغل على سيرفراتنا في لندن والملفات بتتمسح خلال 2 ساعة.
خد مفتاح Sandbox مجانياقرا توثيق الـ API
- OpenAPI 3.1
- مجموعة Postman
- Sandbox مجاني
- webhooks موقّعة
curl https://macaaw.com/public/v1/tasks \
-H "Authorization: API-Key $MACAAW_API_KEY" \
-F "files[]=@lease.pdf" \
-F 'data={"tool":"compress-pdf","options":{"level":"recommended"}}'
# 201 Created
{ "id": "…", "tool": "compress-pdf", "status": "task.queued" }// Node 18+ (fetch, FormData and Blob are built in)
import { readFile } from "node:fs/promises";
const form = new FormData();
form.append("files[]", new Blob([await readFile("lease.pdf")]), "lease.pdf");
form.append("data", JSON.stringify({ tool: "compress-pdf", options: { level: "recommended" } }));
const res = await fetch("https://macaaw.com/public/v1/tasks", {
method: "POST",
headers: { Authorization: `API-Key ${process.env.MACAAW_API_KEY}` },
body: form,
});
const task = await res.json(); // { id, tool, status: "task.queued" }# Python 3 with requests
import json, os, requests
res = requests.post(
"https://macaaw.com/public/v1/tasks",
headers={"Authorization": f"API-Key {os.environ['MACAAW_API_KEY']}"},
files={"files[]": open("lease.pdf", "rb")},
data={"data": json.dumps({"tool": "compress-pdf", "options": {"level": "recommended"}})},
)
task = res.json() # {"id": ..., "status": "task.queued"}- 20أدوات PDF على endpoint واحد
- مكالمة واحدةلرفع الملفات وبدء مهمة
- < 2 hلحد ما ملفاتك تتمسح
- £0للـ Sandbox
تقدر تبني إيه
شغل الـ PDF اللي منتجك مش لازم يشيله
صغّر الملفات المرفوعة قبل ما تخزنها
اضغط ملفات PDF، أو نزّلها لحجم معيّن بالظبط، لحظة ما مستخدميك يرفعوها.
حوّل ملفات Office لـ PDF
من Word وExcel وPowerPoint وOpenDocument وHTML لـ PDF، بتنسيق ثابت.
خلّي السكانات قابلة للبحث
تعرّف على النص بـ 27 لغة، وPDF/A للأرشفة، وجداول مباشرةً لـ Excel.
ابعت اتفاقيات من تطبيقك إنت
اعمل مستند من PDF، وحط الخانات بعلامات نصية، وابعته ونزّل النسخة الموقّعة.
ركّب التوقيع جوه منتجك
افتح جلسة توقيع جوه موقعك، محدودة بالمصادر (origins) اللي إنت تسمح بيها.
شغّل دفعات مع الـ webhooks
ابدأ مئات المهام وخد callback موقّع أول ما كل واحدة تخلص.
بيشتغل إزاي
من المفتاح للنتيجة في أربع مكالمات
اعمل مفتاح
اعمل مفتاح Sandbox من حسابك. وانقل لمفتاح فعلي لما تبقى جاهز.
الحساب › المطوّرابدأ مهمة
ابعت الملفات والأداة في طلب multipart واحد.
POST /public/v1/tasksاعرف لما تخلص
اشترك في task_completed، أو اسأل عن المهمة بشكل دوري.
webhook: task_completedنزّل
هات النتيجة، وبعدين امسحها أو سيبها تنتهي.
GET /tasks/{id}/download
الـ Endpoints
API صغير ومتوقَّع
الـ Base URL https://macaaw.com/public/v1 · JSON بمفاتيح snake_case · Authorization: API-Key …
المهام · أدوات PDF
- GET
/toolsكل أداة تقدر تناديها، مع خياراتها - POST
/tasksارفع الملفات وابدأ أداة في مكالمة واحدة - GET
/tasks/{id}الحالة: queued أو processing أو completed أو failed - GET
/tasks/{id}/downloadملف النتيجة، أو ZIP - DELETE
/tasks/{id}امسح الملفات دلوقتي
المستندات · التوقيعات الإلكترونية
- POST
/documentsملف PDF مع المستلمين والخانات، أو علامات نصية - POST
/documents/{id}/sendابعت بالإيميل، أو بشكل صامت للتوقيع المدمج - GET
/documents/{id}/detailsالمستلمين والخانات والخط الزمني كامل - POST
/documents/{id}/sessionرابط توقيع لصفحتك إنت - GET
/documents/{id}/downloadالـ PDF الموقّع مع شهادته
Webhooks
- POST
/webhook-subscriptionsاختار المشغّلات زي task_completed أو document_state_changed - GET
/webhook-eventsسجل الإرسال، مع إعادة الإرسال
الأمان
متعمل للإنتاج من أول يوم
نفس قواعد المسح والمعالجة في المملكة المتحدة زي الموقع، زائد أدوات التحكم اللي فريق الهندسة بيتوقعها.
- مفاتيح في إيدكمفاتيح فعلية وSandbox، بتظهر مرة واحدة وبتتخزن كـ hash. الغي أي مفتاح من حسابك.
- Webhooks موقّعةكل إرسال معاه ?signature= فيه HMAC-SHA256 للمحتوى، متعمل بالمفتاح المشترك بتاعك.
- الملفات بتتمسح بسرعةملفات المهام بتتحفظ ساعة على الحساب المجاني و2 ساعة على Pro وBusiness، وبعدها بتختفي. DELETE بيمسحها فورًا.
- معالجة في المملكة المتحدةكل مهمة بتشتغل على سيرفراتنا في لندن. سجلات الطلبات عمرها ما بتخزّن محتوى الملفات ولا أسماءها.
- حدود معدل عادلة120 مهمة جديدة في الدقيقة لكل مستخدم، مع Retry-After على كل 429.
- إعادة محاولة آمنةابعت Idempotency-Key والطلب المكرر بيرجّع أول نتيجة لمدة 24 ساعة.
الأسعار
ابدأ ببلاش. وادفع وإنت بتكبر.
Sandbox
£0
- كل endpoint، ببيانات اختبار
- 10 طلب في الدقيقة
- لحد 5 صفحة للمهمة
- النواتج مختومة بـ “Sandbox”
- بيانات الاختبار بتتمسح بعد 7 يوم
فعلي، على Pro أو Business
من £4.99في الشهر، بيتحاسب سنوي
- بيستخدم الحصص الشهرية بتاعة باقتك
- وبعدها الرصيد: من £5 لـ 500
- رصيد لكل صفحة OCR، و2 رصيد لكل تحويل Office
- 120 مهمة جديدة في الدقيقة
Enterprise
تسعير بالحجم
- تسعير بالحجم على الصفحات والتحويلات
- حدود مخصصة، بتتباع بعقد
- فواتير سنوية
- جهة اتصال مخصصة
أسئلة
المطوّرين بيسألوا
فيه طريقة مجانية أجرّب بيها الـ API؟
أيوه. أي مستخدم مسجّل دخول يقدر يعمل مفتاح Sandbox ببلاش. مكالمات الـ Sandbox محدودة بـ 10 في الدقيقة و5 صفحة للمهمة، وكل ناتج بيتختم بـ “Sandbox”، وبيانات الاختبار بتتمسح بعد 7 يوم.
أنهي أدوات أقدر أناديها؟
أدوات الـ 20 اللي بتشتغل على سيرفراتنا، من الضغط وOCR لحد تحويلات Office وPDF/A، زائد التوقيعات الإلكترونية. GET /tools بيسردهم مع خياراتهم. أدوات المتصفح الـ 20 بتشتغل في متصفحات مستخدميك، فمش موجودة في API v1.
استخدام الـ API بيتحاسب إزاي؟
المفاتيح الفعلية بتيجي مع Pro وBusiness. المكالمات بتستخدم نفس الحصص الشهرية بتاعة الموقع؛ وبعدها بيتطبق الرصيد. باقات الرصيد بتبدأ من £5 لـ 500 رصيد وصلاحيتها 12 شهر.
عندكم SDKs؟
التوثيق فيه أمثلة جاهزة للنسخ بـ curl وNode وPython لكل endpoint، وملف OpenAPI 3.1 ومجموعة Postman، فتقدر تولّد client بأي لغة.
إيه اللي بيحصل لو الـ endpoint بتاع الـ webhook واقع؟
بنعيد المحاولة تلات مرات كمان، بعد دقيقة و10 دقايق وساعة، وبعدين بنعلّم الإرسال إنه فشل. تقدر تبعته تاني من حسابك أو بالـ API.
اطلّع مميزات PDF الأسبوع ده.
اعمل مفتاح Sandbox في دقيقة. من غير كارت.