ডেটা মুছে ফেলার অনুরোধ ফ্রেমওয়ার্ক ব্যবহার করুন

কিছু অঞ্চলে ডেটা মুছে ফেলার নিয়ম রয়েছে যার ফলে প্রকাশকদের তাদের কন্টেন্ট ব্যবহারকারীদের তাদের ডেটা মুছে ফেলার অনুরোধ করার জন্য একটি উপায় প্রদান করতে হয়। যদি আপনার রিয়েল-টাইম বিডিং ইন্টিগ্রেশন প্রথম-পক্ষের শনাক্তকারী ব্যবহার করে এবং ডেটা মুছে ফেলার নিয়মাবলীযুক্ত অঞ্চলগুলি থেকে ইনভেন্টরি গ্রহণ করে, তাহলে Google আপনাকে IAB-এর ডেটা মুছে ফেলার অনুরোধ ফ্রেমওয়ার্কের সাথে একীভূত করার পরামর্শ দেয়।

যখন কোনও ব্যবহারকারী প্রকাশকের অ্যাপ বা সাইট থেকে তাদের শনাক্তকারী মুছে ফেলার সিদ্ধান্ত নেন, তখন ডেটা মুছে ফেলার অনুরোধ ফ্রেমওয়ার্ক প্রকাশককে ডেটা মুছে ফেলার অনুরোধ প্রচার করতে দেয়। প্রকাশক এক্সচেঞ্জগুলিতে একটি ডেটা মুছে ফেলার অনুরোধ পাঠান, যা আপনার কাছে ডেটা মুছে ফেলার অনুরোধ প্রচার করতে পারে। যখন আপনি একটি ডেটা মুছে ফেলার অনুরোধ পান, তখন আপনাকে অনুরোধটি সেই সত্তাগুলিতে প্রচার করতে হবে যাদের সাথে আপনি প্রকাশকের প্রথম-পক্ষের ডেটা ভাগ করেছেন। উদাহরণস্বরূপ, যদি আপনার একটি ওপেন বিডিং ইন্টিগ্রেশন থাকে, তাহলে আপনাকে অবশ্যই আপনার এক্সচেঞ্জের দরদাতাদের কাছে অনুরোধটি প্রচার করতে হবে যাদের সাথে প্রথম-পক্ষের ডেটা ভাগ করা হয়েছে।

এই নির্দেশিকাটি গুগল এক্সচেঞ্জের সাথে আপনার ডেটা ডিলিশন রিকোয়েস্ট ফ্রেমওয়ার্ক ইন্টিগ্রেশনের প্রাথমিক সেটআপ কভার করে এবং গুগল এক্সচেঞ্জের প্রেক্ষাপটে ডেটা ডিলিশন রিকোয়েস্ট ফ্রেমওয়ার্ক ওয়ার্কফ্লোর একটি সারসংক্ষেপ প্রদান করে। অতিরিক্ত নির্দেশিকার জন্য, ডেটা ডিলিশন রিকোয়েস্ট ফ্রেমওয়ার্ক দেখুন।

আপনার ইন্টিগ্রেশন সেট আপ করুন

Google থেকে ডেটা মুছে ফেলার অনুরোধ পেতে, আপনাকে Google-এ এমন একটি ডোমেন নিবন্ধন করতে হবে যা আপনি আপনার অ্যাকাউন্টের সাথে যুক্ত করতে চান এবং আপনার নিবন্ধিত ডোমেনের রুটে একটি dsrdelete.json ফাইল হোস্ট করতে হবে। Google-এ আপনার ডোমেন নিবন্ধন করতে, আপনার অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন। dsrdelete.json ফাইলটি বিভিন্ন উদ্দেশ্যে কাজ করে, উদাহরণস্বরূপ:

  • গুগল ডেটা মুছে ফেলার অনুরোধ পাঠায় এমন শেষ বিন্দু চিহ্নিত করা।
  • আপনার সমর্থিত শনাক্তকারীর তালিকা এবং সেগুলি কীভাবে ফর্ম্যাট করা হয়।
  • JSON ওয়েব কী (JWK) স্ট্যান্ডার্ডের সাথে সঙ্গতিপূর্ণ আপনার পাবলিক কীগুলি নির্দিষ্ট করা, যা অন্যান্য পক্ষগুলি আপনার পাঠানো প্রচারিত ডেটা মুছে ফেলার অনুরোধ বা স্বীকৃতির সত্যতা যাচাই করতে ব্যবহার করে।

drsdelete.json ফাইলের বিস্তারিত তথ্যের জন্য, যেমন প্রয়োজনীয় এবং ঐচ্ছিক ক্ষেত্রগুলি আপনি পূরণ করতে পারেন, Discovery দেখুন।

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 প্রকাশকদের কাছ থেকে ডেটা মুছে ফেলার অনুরোধ আপনার কাছে পৌঁছে দেয়:

  • আপনি Google-এ নিবন্ধিত একটি ডোমেনে একটি বৈধ dsrdelete.json ফাইল হোস্ট করেন।
  • প্রকাশক Google-কে একটি শনাক্তকারীর জন্য ডেটা মুছে ফেলার অনুরোধ পাঠান।
  • Google নির্ধারণ করে যে ডেটা মুছে ফেলার অনুরোধে পাঠানো প্রকাশক শনাক্তকারীটি আপনার সাথে শেয়ার করা হয়েছে।

যখন আপনি ডেটা মুছে ফেলার অনুরোধ পান, তখন নির্দিষ্ট ডেটা মুছে ফেলার জন্য আপনার দায়িত্ব থাকে। আপনাকে অবশ্যই ডেটা মুছে ফেলার অনুরোধটি অন্যান্য ডেটা পার্টনারদের কাছেও প্রচার করতে হবে যাদের সাথে আপনি প্রথম পক্ষের প্রকাশক ডেটা ভাগ করেছেন। Google নিম্নলিখিত শনাক্তকারীদের জন্য ডেটা মুছে ফেলার অনুরোধ সমর্থন করে:

  • ppid : প্রকাশক-প্রদত্ত শনাক্তকারী (পিপিআইডি)।
  • pfpid_domain : ওয়েবের জন্য প্রকাশক প্রথম-পক্ষ শনাক্তকারী।
  • idfv : iOS ডিভাইসের জন্য প্রকাশক প্রথম-পক্ষ শনাক্তকারী।

গুগল আপনার dsrdelete.json ফাইলে নির্দিষ্ট করা এন্ডপয়েন্টে HTTP POST অনুরোধ হিসেবে ডেটা মুছে ফেলার অনুরোধ পাঠায়। ডেটা মুছে ফেলার অনুরোধের মূল অংশে নিম্নলিখিত অংশগুলি নিয়ে গঠিত একটি JSON ওয়েব টোকেন (JWT) থাকে:

  • এনক্রিপশন অ্যালগরিদম বর্ণনা করে একটি JOSE হেডার
  • মুছে ফেলার অনুরোধ সম্বলিত একটি JWS পেলোড।
  • অনুরোধের সত্যতা যাচাই করার জন্য একটি JWS স্বাক্ষর।

গুগল base64-এ হেডার, পেলোড এবং স্বাক্ষর এনকোড করে এবং এই আইটেমগুলিকে নিম্নরূপ ফর্ম্যাট করে:

WEB_SAFE_BASE64_ENCODED_HEADER.WEB_SAFE_BASE64_ENCODED_PAYLOAD.WEB_SAFE_BASE64_ENCODED_SIGNATURE

ডেটা মুছে ফেলার কাঠামোতে ব্যবহৃত স্বতন্ত্র JWT গুলি সম্পর্কে আরও জানতে, JSON ওয়েব টোকেন (JWT) বাস্তবায়ন দেখুন। Google থেকে আপনি যে ডেটা মুছে ফেলার অনুরোধটি পান তা হল একটি অনুরোধ JWT (rqJWT), যার মধ্যে মুছে ফেলার অনুরোধ করার সময় প্রকাশক যে পরিচয় JWT (idJWT) পাঠিয়েছিলেন তা অন্তর্ভুক্ত থাকে।

হেডারে যাচাইকরণের বিবরণ খুঁজুন

হেডার হল একটি JSON অবজেক্ট যা অনুরোধের হ্যাশ তৈরি করতে আপনার যে অ্যালগরিদম ব্যবহার করতে হবে তা বর্ণনা করে, যা অনুরোধের সত্যতা যাচাই করার জন্য প্রয়োজনীয়। যদি ইস্যুকারীর একাধিক ব্যক্তিগত কী থাকে যা তারা স্বাক্ষর তৈরি করতে ব্যবহার করতে পারে, তাহলে হেডারটি স্বাক্ষর যাচাই করার জন্য ইস্যুকারীর কোন পাবলিক কী ব্যবহার করতে পারেন তাও সনাক্ত করে।

নিচের উদাহরণটি একটি ডিকোডেড হেডার যা দেখায় যে আপনি স্বাক্ষর যাচাই করতে abc123 কী আইডি সহ RSA256 অ্যালগরিদম ব্যবহার করতে পারেন:

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

অনুরোধটি প্রমাণীকরণ করুন

আপনি যাচাই করতে পারেন যে গুগল dsrdelete.json ফাইলের পাবলিক কী ব্যবহার করে ডেটা মুছে ফেলার অনুরোধ পাঠিয়েছে। গুগল dsrdelete.json ফাইলটি 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 স্ট্রিং রয়েছে যা নির্দেশ করে যে প্রকাশক crvBtLjLqNUiafwXZiyukLD4Tf6mMUYhBdQaPZ0pjyd মান সহ একটি PPID মুছে ফেলার অনুরোধ করছেন। rqJWT টোকেনে এনকোডেড idJWT টোকেন অন্তর্ভুক্ত রয়েছে। বিস্তারিত জানার জন্য, idJWT দেখুন: ইস্যুকারী "শনাক্তকারী" JWT

ডেটা মুছে ফেলার অনুরোধ প্রচার করুন

আপনাকে অবশ্যই ডেটা মুছে ফেলার অনুরোধটি এমন যেকোনো ডেটা পার্টনারের কাছে প্রচার করতে হবে যাদের সাথে আপনি নির্দিষ্ট শনাক্তকারী শেয়ার করেছেন। উদাহরণস্বরূপ, যদি আপনি ওপেন বিডিংয়ের সাথে একীভূত হন, তাহলে আপনাকে অবশ্যই আপনার এক্সচেঞ্জের দরদাতাদের কাছে ডেটা মুছে ফেলার অনুরোধটি প্রচার করতে হবে যাদের সাথে প্রথম-পক্ষ শনাক্তকারী শেয়ার করা হয়েছে। এই প্রক্রিয়ার জন্য আপনাকে ডেটা পার্টনারদের একটি rqJWT টোকেন পাঠাতে হবে। rqJWT টোকেনে অবশ্যই প্রাসঙ্গিক শনাক্তকারী থাকতে হবে, যা ডেটা পার্টনারের dsrdelete.json ফাইলের কনফিগারেশনের উপর ভিত্তি করে ফর্ম্যাট করা হবে। অতিরিক্তভাবে, rqJWT টোকেনে অবশ্যই আপনার ব্যক্তিগত কী দিয়ে তৈরি স্বাক্ষর অন্তর্ভুক্ত থাকতে হবে।

ডেটা মুছে ফেলার অনুরোধ স্বীকার করুন

আপনি ডেটা মুছে ফেলার অনুরোধ পেয়েছেন এবং তার উপর কাজ করেছেন তা স্বীকার করতে, dsrdelete.json ফাইলে Google দ্বারা নির্দিষ্ট করা শেষ বিন্দুতে একটি স্বীকৃতি JWT পাঠান। বিস্তারিত জানার জন্য, acJWT দেখুন: প্রাপক “স্বীকৃতি” JWT

আপনার প্রতিক্রিয়ার HTTP স্ট্যাটাস কোড নিম্নলিখিত ফলাফলের উপর নির্ভর করে:

  • সাফল্য : যদি অনুরোধটি সফলভাবে গৃহীত হয়, পার্স করা হয় এবং তার উপর কাজ করা হয়, তাহলে HTTP 202 ফেরত পাঠান।
  • ব্যর্থতা : যদি অনুরোধটি সফলভাবে গৃহীত, পার্স করা এবং কার্যকর না করা হয় তবে HTTP 400 ফেরত দিন।

অনুরোধের বডিতে অবশ্যই একটি acJWT টোকেন অন্তর্ভুক্ত করতে হবে যার একটি পেলোড থাকবে যা raResultCode ফিল্ডে একটি পূর্ণসংখ্যার ফলাফল কোড দিয়ে পূর্ণ করবে। আপনি ঐচ্ছিকভাবে raResultString ফিল্ডে ফলাফল সম্পর্কে বর্ণনামূলক টেক্সট প্রদান করতে পারেন। acJWT টোকেনে অবশ্যই আপনার ব্যক্তিগত কী দিয়ে তৈরি স্বাক্ষর অন্তর্ভুক্ত থাকতে হবে।

ডেটা মুছে ফেলার অনুরোধ ফ্রেমওয়ার্কে সমর্থিত ফলাফল কোড সম্পর্কে আরও জানতে, ফলাফল কোড দেখুন।

acJWT টোকেন হেডার তৈরি করুন

আপনার স্বাক্ষর যাচাই করার সময় প্রাপক যে হ্যাশ ফাংশন এবং পাবলিক কী ব্যবহার করতে চান তার উপর ভিত্তি করে হেডারটি পূরণ করুন। নিম্নলিখিত উদাহরণে এনকোড না করা হেডারটি নির্দেশ করে যে আপনি প্রাপককে হ্যাশ তৈরি করতে ES256 অ্যালগরিদম ব্যবহার করতে চান এবং প্রাপককে আপনার স্বাক্ষর ডিক্রিপ্ট করার সময় আপনার dsrdelete.json ফাইল থেকে কী আইডি EhuduQ সহ পাবলিক কী ব্যবহার করতে হবে।

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

acJWT টোকেন পেলোড তৈরি করুন

মুছে ফেলার অনুরোধের ফলাফলের উপর ভিত্তি করে পেলোড পূরণ করুন এবং আপনি যে rqJWT টোকেনটি স্বীকার করছেন তার এনকোডেড ফর্ম দিয়ে rqJWT ফিল্ডটি পূরণ করুন। নিম্নলিখিত উদাহরণটি 0 মান সহ একটি raResultCode ফিল্ড নির্দিষ্ট করে যা নির্দেশ করে যে অপারেশনটি সফল হয়েছে:

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