الوثائق
عقود ikuad العامة موثقة هنا كما هي في الكود. مقتطف المواقع الخارجية قيد الإنجاز — نوثّق عقده الآن ليُبنى عليه.
المقتطف — لمواقع خارج ماتجرك
سكربت واحد أول ما يوضع في <head>، من cdn.ikuad.com، يعرض اللافتة ويحجب ما لم يُوافق عليه قبل تشغيله. الإعداد كله يصله مع المقتطف فلا طلب إضافي:
<script src="https://cdn.ikuad.com/s/SITE_KEY.js"></script>
<!-- كل سكربت تريد حجبه حتى الموافقة: -->
<script type="text/plain" data-ikuad="analytics">
… كود التحليلات هنا …
</script>- الإشارات تبدأ مرفوضة قبل أي شيء آخر في الصفحة، وتُحدَّث عند كل اختيار.
- السكربتات الموسومة بـ data-ikuad="<تصنيف>" والحقول والإطارات المضافة لاحقًا لنطاقات مصنّفة تُحجب حتى توافق الفئة.
- حجم المقتطف ميزانية صارمة: ١٤ كيلوبايت مضغوطًا مع إعداد موقعك — من حقك أن تحاسبنا عليها.
واجهة JavaScript
المقتطف يعرض window.ikuad لصفحتك:
ikuad.getConsent()
// { preferences: true, analytics: false, advertising: false,
// necessary: true, version: 7, gpc: false }
ikuad.on("change", (choices) => { … })
ikuad.open() // يفتح لوحة الاختيار — نفس ما يفعله رابط إعادة الفتح- الاختيار يسري من الحدث التالي في الصفحة نفسها؛ لا تنتظر تحديثًا ولا إعادة تحميل.
- getConsent تعيد دائمًا كل التصنيفات الأربعة، ورقم إصدار اللافتة التي أجاب عنها الزائر.
Consent Mode v2
الخريطة ثابتة لكل التصنيفات (وهي نفسها ما تدفعه واجهات ماتجرك):
ضرورية تمامًا → security_storage
تفضيلات → functionality_storage, personalization_storage
تحليلات → analytics_storage
إعلانية → ad_storage, ad_user_data, ad_personalization- عند كل تغيير: gtag("consent", "update", …) وحدث dataLayer إن كنت تفضل الاستماع له.
Global Privacy Control
إشارة GPC في المتصفح تُقرأ عند التحميل: الإعلانية مرفوضة، ويسجل المصدر «GPC» في السجل، ويبقى للزائر أن يفتح الإعدادات ويقبلها صراحةً.
navigator.globalPrivacyControl === true
// → الإعلانية مرفوضة، والمصدر «GPC» في السجل- لا نعامل GPC كرفض شامل — التفضيلات والتحليلات تبقى سؤالًا مفتوحًا أمام الزائر كما يريد النظام.
عقد الإعداد المنشور والجامع
الإعداد المنشور JSON عام ومخبأ عند Cloudflare يُنقّى عند كل نشر؛ الجامع يستقبل السجلات من متصفح الزائر مباشرة بلا كوكيز، من نطاقات موقعك فقط (CORS)، مع حد استخدام وازدواج-إزالة بمرجع من العميل. التفاصيل الكاملة بالأمثلة في contracts/consent-public-api.md داخل مستودع ikuad.
GET https://cdn.ikuad.com/v1/sites/{site_key}/published.json
POST https://consent.ikuad.com/v1/records
POST https://consent.ikuad.com/v1/views