قائمة التوثيق

البداية

مرجع الواجهة البرمجية

أدلة

الثقة والدعم

البدء السريع

ثلاث خطوات: اضبط مفتاحك، ثم أنشئ ملف PDF، ثم التقط صورة لصفحة. كل مثال في هذه الصفحة يُشغَّل على الواجهة البرمجية الفعلية قبل نشره.

١. اضبط مفتاح الواجهة البرمجية

تقرأ الأمثلة المفتاح من متغير البيئة SAHIFA_API_KEY، فلا ينتهي به المطاف في الشيفرة المصدرية.

# macOS, Linux
export SAHIFA_API_KEY="sk_live_..."

# Windows PowerShell
$env:SAHIFA_API_KEY = "sk_live_..."

ليس لديك مفتاح بعد؟ راجع الحصول على مفتاح الواجهة البرمجية.

٢. أنشئ PDF من HTML

يرسل هذا الطلب فاتورة عربية قصيرة ويضيف تذييلًا للصفحة، ويحفظ الملف باسم invoice.pdf.

# HTML to PDF with an Arabic footer. Requires: SAHIFA_API_KEY in the environment.
curl https://api.sahifa.dev/v3/convert/pdf \
  --user "api:$SAHIFA_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "source": "<html dir=\"rtl\" lang=\"ar\"><body><h1>فاتورة ضريبية</h1><p>الإجمالي: 1,150.00 ر.س</p></body></html>",
    "format": "A4",
    "margin": "20mm",
    "footer": { "source": "<div style=\"width:100%;text-align:center\">صفحة {{page}} من {{total}}</div>" }
  }' \
  --fail-with-body --output invoice.pdf

يستخدم التذييل المتغيرين {{page}} و {{total}}. وتحتاج الترويسة أو التذييل إلى margin يتسع لهما. راجع مرجع PDF لجميع الخيارات.

٣. التقط صورة لصفحة

يلتقط هذا الطلب صفحة ويب كاملة بصيغة PNG ويُخفي نوافذ الموافقة على ملفات تعريف الارتباط، ويحفظ الملف باسم page.png.

# Full-page screenshot of a URL, without cookie banners. Requires: SAHIFA_API_KEY.
curl --get https://api.sahifa.dev/take \
  --data-urlencode "access_key=$SAHIFA_API_KEY" \
  --data-urlencode "url=https://example.com" \
  --data "format=png" \
  --data "full_page=true" \
  --data "block_cookie_banners=true" \
  --fail-with-body --output page.png

راجع مرجع لقطات الشاشة لإطار العرض والتقاط عنصر محدد والوضع الداكن وخيارات الحجب.

٤. تعامل مع أوقات الازدحام

عندما تمتلئ قائمة الانتظار تُعيد الواجهة الرمز 429. إعادة المحاولة بعد انتظار قصير آمنة، لأن الطلب الفاشل لا يترك أي أثر.

# curl retries 408, 429, 500, 502, 503 and 504 responses on its own, honouring Retry-After.
curl https://api.sahifa.dev/v3/convert/pdf \
  --user "api:$SAHIFA_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{ "source": "https://example.com" }' \
  --retry 4 --retry-delay 2 --retry-max-time 60 \
  --fail-with-body --output example.pdf

ماذا بعد