API

أنشئ روابط قصيرة وأدرها من السكربتات والتطبيقات. الـ API مجانية. أنشئ مفتاحًا في لوحة التحكم ضمن مفاتيح API، ثم أرسله كرمز bearer.

المصادقة

Authorization: Bearer gz_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

تُعرض المفاتيح مرة واحدة. تعامل معها ككلمات المرور: أي شخص يملك مفتاحك يمكنه إنشاء الروابط وتعديلها في حسابك. ألغِ أي مفتاح تسرّب من لوحة التحكم.

الحدود

إنشاء رابط

curl -X POST https://gozi.to/api/my/links \
  -H "Authorization: Bearer $GOZI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/launch", "code": "launch"}'

code اختياري (4–32 حرفًا أو رقمًا أو - أو _). اتركه فارغًا للحصول على رمز عشوائي من 7 أحرف. الاستجابة 201:

{
  "link": {
    "code": "launch",
    "shortUrl": "https://gozi.to/launch",
    "url": "https://example.com/launch",
    "status": "active",
    "statusReason": null,
    "custom": true,
    "createdAt": 1790000000000,
    "expiresAt": null
  }
}

سرد الروابط

GET /api/my/links?limit=25&cursor=<nextCursor>&q=<search>&clicks=1

الأحدث أولًا. مرّر nextCursor من الصفحة السابقة للحصول على الصفحة التالية. تضيف clicks=1 أعداد النقرات البشرية منذ البداية.

الجلب والتعديل والحذف

GET    /api/my/links/{code}
PATCH  /api/my/links/{code}   {"url": "https://new.example"}  or  {"status": "disabled" | "active"}
DELETE /api/my/links/{code}

التحليلات

GET /api/my/links/{code}/stats

تُرجع النقرات البشرية لآخر 90 يومًا ومنذ البداية، والنقرات اليومية، وأهم الدول والمُحيلات والأجهزة والمتصفحات وأنظمة التشغيل. تُحتسب الروبوتات ومعاينات الروابط (Slack وWhatsApp وغيرها) على حدة في botClicks. تُخزَّن النتائج مؤقتًا نحو 5 دقائق.

الأخطاء

تستخدم الأخطاء رموز حالة HTTP وجسم JSON:

{ "error": { "code": "slug_taken", "message": "That custom link is already taken." } }

يتوفر وصف قابل للقراءة آليًا لكل نقطة نهاية على /openapi.json.