استخدام إطار عمل طلب حذف البيانات

تتضمّن بعض المناطق لوائح تنظيمية بشأن حذف البيانات تتطلّب من الناشرين توفير وسيلة للمستخدمين الذين يتفاعلون مع محتواهم لطلب حذف بياناتهم. إذا كان دمجك مع نظام "العروض في الوقت الفعلي" يستخدم معرّفات الطرف الأول ويتلقّى مستودعًا إعلانيًا من مناطق تسري فيها لوائح تنظيمية بشأن حذف البيانات، تنصحك Google بالدمج مع إطار عمل طلب حذف البيانات التابع لمكتب IAB.

عندما يختار المستخدم حذف معرّفاته من تطبيق أو موقع إلكتروني تابعَين لأحد الناشرين، يتيح إطار عمل طلب حذف البيانات للناشر نشر طلب حذف البيانات. يرسل الناشر طلب حذف البيانات إلى منصات التبادل، والتي يمكنها نقل طلب حذف البيانات إليك. عند تلقّي طلب بحذف البيانات، عليك إرسال الطلب إلى الجهات التي شاركت معها بيانات الطرف الأول الخاصة بالناشر. على سبيل المثال، إذا كان لديك عملية دمج في Open Bidding، عليك نقل الطلب إلى مقدّمي عروض الأسعار على شبكة الإعلانات التي تمت مشاركة بيانات الطرف الأول معها.

يغطّي هذا الدليل عملية الإعداد الأوّلي لعملية دمج "إطار عمل طلب حذف البيانات" مع بورصة Google، ويقدّم نظرة عامة على سير عمل "إطار عمل طلب حذف البيانات" في سياق بورصة Google. للحصول على إرشادات إضافية، يُرجى الاطّلاع على إطار عمل طلب حذف البيانات.

إعداد عملية الدمج

لبدء تلقّي طلبات حذف البيانات من Google، عليك تسجيل نطاق لدى Google تريد ربطه بحسابك، واستضافة ملف dsrdelete.json في جذر النطاق المسجّل. لتسجيل نطاقك لدى Google، يُرجى التواصل مع مدير حسابك. يخدم ملف dsrdelete.json عدة أغراض، منها:

  • تحديد نقطة النهاية التي ترسل إليها Google طلبات حذف البيانات
  • إدراج المعرّفات المتوافقة وطريقة تنسيقها
  • تحديد مفاتيحك العامة المتوافقة مع معيار JSON Web Key (JWK)، الذي تستخدمه الجهات الأخرى للتحقّق من صحة طلبات حذف البيانات المنقولة أو إشعارات الاستلام التي ترسلها.

للحصول على تفاصيل حول ملف drsdelete.json، مثل الحقول المطلوبة والاختيارية التي يمكنك تعبئتها، يُرجى الاطّلاع على الاستكشاف.

يجب أن تتلقّى نقطة النهاية المحدّدة في ملف dsrdelete.json طلبات حذف البيانات الواردة وأن تستجيب لها. تنصحك Google باستخدام مكتبة تشفيرية للغة البرمجة التي اخترتها من أجل التحقّق من الطلبات التي تتلقّاها وتوقيع الإشعارات التي ترسلها.

يضبط المثال التالي ملف dsrdelete.json مع نقطة نهاية ومعرّفات ومفتاح عام:

{
    "endpoint": "https://www.doubleclick.net/iab-ddrf",
    "identifiers": [
        { "id": 1, "type": "ppid", "format": "plaintext" },
        { "id": 2, "type": "idfv", "format": "plaintext" },
        { "id": 3, "type": "pfpid_domain", "format": "plaintext" }
    ],
    "publicKey": [
        {
            "kty": "EC",
            "crv": "P-256",
            "x": "_OPPeKSEdi3_JEHla93vOGTx8VD01ozhyYxwQzYCVLs",
            "y": "_XHufu2A_hbN5Uj4Wm7JPHE7ly0_4cmqntmz93pweys",
            "kid": "yUa3wQ",
            "use": "sig",
            "alg": "ES256"
        }
    ],
    "vendorScriptRequirement": false
}

تلقّي طلب حذف بيانات

تنقل Google طلبات حذف البيانات من الناشرين إليك عند استيفاء جميع الشروط التالية:

  • تستضيف ملف dsrdelete.json صالحًا على نطاق مسجّل لدى Google.
  • يرسل الناشر طلب حذف بيانات لمعرّف إلى Google.
  • تحدّد Google أنّ معرّف الناشر الذي تم إرساله في طلب حذف البيانات قد تمت مشاركته معك.

عند تلقّي طلب حذف بيانات، تكون أنت المسؤول عن حذف البيانات المحدّدة. عليك أيضًا مواصلة نقل طلب حذف البيانات إلى شركاء البيانات الآخرين الذين شاركت معهم بيانات الناشر الخاصة بالطرف الأول. يتيح محرّك بحث Google طلبات حذف البيانات للمعرّفات التالية:

  • ppid: المعرّفات المقدَّمة من الناشر (PPID).
  • pfpid_domain: معرّفات الطرف الأول للناشر على الويب
  • idfv: معرّفات الطرف الأول للناشر على أجهزة iOS

ترسل Google طلب حذف البيانات كطلب HTTP POST إلى نقطة النهاية المحدّدة في ملف dsrdelete.json. يتضمّن نص طلب حذف البيانات رمز JSON المميّز للويب (JWT) يتألف من الأجزاء التالية:

  • عنوان JOSE يصف خوارزمية التشفير.
  • حمولة JWS تتضمّن طلب الحذف
  • توقيع JWS للتحقّق من صحة الطلب

ترمّز Google العنوان والحمولة والتوقيع باستخدام base64، وتنسّق هذه العناصر على النحو التالي:

WEB_SAFE_BASE64_ENCODED_HEADER.WEB_SAFE_BASE64_ENCODED_PAYLOAD.WEB_SAFE_BASE64_ENCODED_SIGNATURE

لمزيد من المعلومات حول رموز JWT المميزة المستخدَمة في إطار حذف البيانات، يُرجى الاطّلاع على تنفيذ رمز JSON المميّز للويب (JWT). إنّ طلب حذف البيانات الذي تتلقّاه من Google هو Request JWT (rqJWT)، ويتضمّن Identity JWT (idJWT) الذي أرسله الناشر عند طلب الحذف.

العثور على تفاصيل التحقّق في العنوان

العنوان هو عنصر JSON يصف الخوارزمية التي يجب استخدامها لإنشاء قيمة تجزئة للطلب، وهو أمر ضروري للتحقّق من صحة الطلب. إذا كان لدى جهة الإصدار عدة مفاتيح خاصة يمكنها استخدامها لإنشاء توقيع، يحدّد العنوان أيضًا المفتاح العام الذي يمكن استخدامه للتحقّق من صحة التوقيع.

في ما يلي مثال على عنوان تم فك ترميزه يوضّح أنّه يمكنك استخدام خوارزمية RSA256 مع معرّف المفتاح abc123 للتحقّق من صحة التوقيع:

{
    "typ": "JWT",
    "alg": "RS256",
    "kid": "abc123"
}

مصادقة الطلب

يمكنك التأكّد من أنّ Google أرسلت طلبات حذف البيانات باستخدام المفتاح العام في ملف dsrdelete.json من Google. يتم استضافة ملف dsrdelete.json من Google على https://static.doubleclick.net/dsrdelete.json

لإثبات صحة طلب حذف البيانات، اتّبِع الخطوات التالية:

  1. احتسِب تجزئة العنوان والحمولة باستخدام الخوارزمية المحدّدة في العنوان. يجب أن تستخدم البيانات التي يتم تمريرها إلى دالة التجزئة البنية التالية:

    WEB_SAFE_BASE64_ENCODED_HEADER.WEB_SAFE_BASE64_ENCODED_PAYLOAD
    
  2. استخدِم المفتاح العام المحدّد في ملف dsrdelete.json الخاص بالجهة المصدرة لفك تشفير التوقيع الذي تم فك ترميزه.

  3. قارِن التجزئة التي أنشأتها في الخطوة الأولى بالقيمة التي تم فك تشفيرها من التوقيع. إذا تطابقت هذه العناصر، يكون طلب حذف البيانات صالحًا.

تحليل حمولة طلب الحذف

بعد إثبات صحة طلب حذف البيانات، عليك تحليل الحمولة لتحديد المعرّف الذي تريد حذفه. الحمولة التي تم فك ترميزها هي رمز rqJWT مميّز. لمعرفة التفاصيل، يُرجى الاطّلاع على rqJWT: رمز JWT الخاص بـ "طلب" مقدّم الطلب.

يعرض المثال التالي حمولة تم فك ترميزها كرمز rqJWT ويتضمّن مَعلمات اختيارية:

{
    "optionalParameters": "{\"gamNetworkCode\":\"311057\"}",
    "sub": "{\n    \"identifierValue\": \"crvBtLjLqNUiafwXZiyukLD4Tf6mMUYhBdQaPZ0pjyd\",\n    \"identifierType\": \"ppid\",\n    \"identifierFormat\": \"plaintext\"\n  }",
    "iat": 1756257951,
    "version": "1.0",
    "iss": "test_publisher",
    "idJWT": "eyJhbGciOiJFUzI1NiIsImtpZCI6IkVodWR1USIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ0ZXN0X3B1Ymxpc2hlciIsInN1YiI6IntcbiAgICBcImlkZW50aWZpZXJWYWx1ZVwiOiBcImNydkJ0TGpMcU5VaWFmd1haaXl1a0xENFRmNm1NVVloQmRRYVBaMHBqeWRcIixcbiAgICBcImlkZW50aWZpZXJUeXBlXCI6IFwicHBpZFwiLFxuICAgIFwiaWRlbnRpZmllckZvcm1hdFwiOiBcInBsYWludGV4dFwiXG4gIH0iLCJpYXQiOjE3NTYyNTc5NTEsInZlcnNpb24iOiIxLjAifQ.Dh17fv1sxKMnkOa7HOWfVdsIYo8BBy2p9SkDTSfZoW6ypMdl_5wDYtUIYEfuX3n6UbwMoH0WVgGQnFQraMH6XQ"
}

يتضمّن طلب حذف البيانات الحقل sub، الذي يحتوي على سلسلة JSON تشير إلى أنّ الناشر يطلب حذف معرّف مقدّم من الناشر (PPID) بالقيمة crvBtLjLqNUiafwXZiyukLD4Tf6mMUYhBdQaPZ0pjyd. يتضمّن الرمز المميّز rqJWT الرمز المميّز idJWT المشفّر. لمزيد من التفاصيل، راجِع idJWT: رمز JWT الخاص بـ "المعرّف" الخاص بجهة الإصدار .

نقل طلب حذف البيانات

عليك نقل طلب حذف البيانات إلى أي شركاء بيانات شاركت معهم المعرّفات المحدّدة. على سبيل المثال، إذا كنت تستخدم ميزة "عرض الأسعار المفتوح"، عليك نقل طلب حذف البيانات إلى مقدّمي عروض الأسعار في شبكة التبادل التي تمت مشاركة معرّف الطرف الأول معها. تتطلّب هذه العملية إرسال رمز مميّز rqJWT إلى شركاء البيانات. يجب أن تتضمّن الرمز المميز rqJWT المعرّفات ذات الصلة، ويجب أن تكون منسّقة استنادًا إلى الإعدادات في ملف dsrdelete.json الخاص بشريك البيانات. بالإضافة إلى ذلك، يجب أن يتضمّن رمز rqJWT المميز توقيعك الذي تم إنشاؤه باستخدام مفتاحك الخاص.

تأكيد استلام طلب حذف البيانات

لإقرار استلام طلب حذف البيانات واتّخاذ إجراء بشأنه، أرسِل رمز JWT للإقرار إلى نقطة النهاية التي تحدّدها Google في ملف dsrdelete.json. لمزيد من التفاصيل، يُرجى الاطّلاع على acJWT: رمز JWT "إقرار" المستلِم.

يعتمد رمز حالة HTTP الخاص باستجابتك على النتيجة التالية:

  • نجاح: يتم عرض HTTP 202 إذا تم تلقّي الطلب بنجاح وتحليله وتنفيذه.
  • تعذُّر: يتم عرض HTTP 400 إذا لم يتم تلقّي الطلب بنجاح أو تحليله أو تنفيذه.

يجب أن يتضمّن نص الطلب رمز acJWT مع بيانات أساسية تملأ الحقل raResultCode برمز نتيجة عدد صحيح. يمكنك اختياريًا تقديم نص وصفي حول النتيجة في الحقل raResultString. يجب أن يتضمّن رمز acJWT المميّز توقيعك الذي تم إنشاؤه باستخدام مفتاحك الخاص.

لمزيد من المعلومات عن رموز النتائج المتوافقة مع إطار عمل طلب حذف البيانات، راجِع رموز النتائج.

إنشاء عنوان الرمز المميز acJWT

املأ العنوان استنادًا إلى دالة التجزئة والمفتاح العام اللذين تريد أن يستخدمهما المستلِم عند التحقّق من توقيعك. يشير العنوان غير المشفّر في المثال التالي إلى أنّك تريد أن يستخدم المستلِم خوارزمية ES256 لإنشاء التجزئة، وأنّ عليه استخدام المفتاح العام مع معرّف المفتاح EhuduQ من ملف dsrdelete.json عند فك تشفير توقيعك.

{
    "alg": "ES256",
    "typ": "JWT",
    "kid": "EhuduQ"
}

إنشاء حمولة رمز acJWT المميّز

املأ الحمولة استنادًا إلى نتيجة طلب الحذف، واملأ الحقل rqJWT بالنموذج المرمّز لرمز rqJWT المميّز الذي تريد إقراره. يحدّد المثال التالي الحقل raResultCode بالقيمة 0 للإشارة إلى أنّ العملية ناجحة:

{
    "version": "1.0",
    "jti": "965492b2-74e5-409a-90f4-f041902db05f",
    "raResultString": "",
    "iat": 1756408212,
    "iss": "doubleclick.net",
    "raResultCode": 0,
    "rqJWT": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVodWR1USJ9.eyJvcHRpb25hbFBhcmFtZXRlcnMiOiJ7XCJnYW1OZXR3b3JrQ29kZVwiOlwiMzExMDU3XCJ9Iiwic3ViIjoie1xuICAgIFwiaWRlbnRpZmllclZhbHVlXCI6IFwiY3J2QnRMakxxTlVpYWZ3WFppeXVrTEQ0VGY2bU1VWWhCZFFhUFowcGp5ZFwiLFxuICAgIFwiaWRlbnRpZmllclR5cGVcIjogXCJwcGlkXCIsXG4gICAgXCJpZGVudGlmaWVyRm9ybWF0XCI6IFwicGxhaW50ZXh0XCJcbiAgfSIsImlhdCI6MTc1NjI1Nzk1MSwidmVyc2lvbiI6IjEuMCIsImlzcyI6InRlc3RfcHVibGlzaGVyIiwiaWRKV1QiOiJleUpoYkdjaU9pSkZVekkxTmlJc0ltdHBaQ0k2SWtWb2RXUjFVU0lzSW5SNWNDSTZJa3BYVkNKOS5leUpwYzNNaU9pSjBaWE4wWDNCMVlteHBjMmhsY2lJc0luTjFZaUk2SW50Y2JpQWdJQ0JjSW1sa1pXNTBhV1pwWlhKV1lXeDFaVndpT2lCY0ltTnlka0owVEdwTWNVNVZhV0ZtZDFoYWFYbDFhMHhFTkZSbU5tMU5WVmxvUW1SUllWQmFNSEJxZVdSY0lpeGNiaUFnSUNCY0ltbGtaVzUwYVdacFpYSlVlWEJsWENJNklGd2ljSEJwWkZ3aUxGeHVJQ0FnSUZ3aWFXUmxiblJwWm1sbGNrWnZjbTFoZEZ3aU9pQmNJbkJzWVdsdWRHVjRkRndpWEc0Z0lIMGlMQ0pwWVhRaU9qRTNOVFl5TlRjNU5URXNJblpsY25OcGIyNGlPaUl4TGpBaWZRLkRoMTdmdjFzeEtNbmtPYTdIT1dmVmRzSVlvOEJCeTJwOVNrRFRTZlpvVzZ5cE1kbF81d0RZdFVJWUVmdVgzbjZVYndNb0gwV1ZnR1FuRlFyYU1INlhRIn0.zZnuUsUDzkARg31RzkhLOJCSXD5jPca8qff5IqyYrrRITgRgm29T__6gC3oOOK5RAcd_AFFYWzE8onx6Kj1w8A"
}