सामग्री पर जाएं

डेटा मिटाने की API

Data Erasure API, Pushwoosh से किसी विषय का व्यक्तिगत डेटा मिटाने (GDPR मिटाने का अधिकार) का सेल्फ-सर्व तरीका है। मिटाने की प्रक्रिया अपरिवर्तनीय है: इसका उपयोग अपने स्वयं के सिस्टम से कंट्रोल पैनल के डेटा अनुरोध पेज और किसी सब्सक्राइबर के कार्ड पर व्यक्तिगत डेटा मिटाएं एक्शन को मिरर करने के लिए करें।

बेस यूआरएल

Anchor link to
https://rpc-api.svc-nue.pushwoosh.com

सभी एंडपॉइंट्स HTTPS पर सर्व किए जाते हैं। अनुरोध और प्रतिक्रियाएं application/json का उपयोग करती हैं, सिवाय Upload के, जो multipart/form-data लेता है।

प्रमाणीकरण

Anchor link to

प्रत्येक अनुरोध में आपके सर्वर API टोकन के साथ एक Authorization हेडर शामिल होना चाहिए:

Authorization: Api YOUR_API_TOKEN

टोकन के पास application_codes में नामित हर एप्लिकेशन पर मॉडिफाई एक्सेस होना चाहिए। यह वही एक्सेस है जो एक टोकन को उन एप्लिकेशनों पर डिवाइस डेटा लिखने के लिए चाहिए।

परंपराएं

Anchor link to
  • फ़ील्ड नेमिंग: रिक्वेस्ट बॉडी lowerCamelCase स्वीकार करती है (उदाहरण के लिए, applicationCodes, identifierType)। प्रतिक्रियाएं प्रोटो फ़ील्ड नामों का उपयोग करके snake_case (task_id, identifier_hash, इत्यादि) में मार्शल की जाती हैं। नीचे दिए गए उदाहरण और ऑब्जेक्ट रेफरेंस उसी केसिंग का उपयोग करते हैं।
  • आइडेंटिफायर: किसी विषय को identifier_type (SUBJECT_IDENTIFIER_USER_ID, SUBJECT_IDENTIFIER_HWID, या SUBJECT_IDENTIFIER_EMAIL) और उस एक प्रकार के identifiers की सूची द्वारा एड्रेस किया जाता है। एक ईमेल आइडेंटिफायर केस-असंवेदनशील रूप से मेल खाता है।
  • पहले Dry run करें, फिर उसे कोट करें: dry_run: true के साथ Create केवल यह गिनता है कि क्या मिटाया जाएगा और कुछ भी नहीं लिखता। उस Dry run के task_id को वास्तविक कॉल पर confirmation_dry_run_task_id के रूप में कोट करना वैकल्पिक है, लेकिन यदि आप एक को कोट करते हैं, तो यह उस Dry run के अपने एप्लिकेशनों और आइडेंटिफायर्स से बिल्कुल मेल खाना चाहिए, और उसके पूरा होने के 15 मिनट के भीतर कॉल किया जाना चाहिए। अन्यथा कॉल अस्वीकार कर दी जाती है।
  • रिपोर्ट्स कभी भी आइडेंटिफायर को साफ़ टेक्स्ट में नहीं ले जातीं। GetTaskReport और GetJournalReport दोनों प्रत्येक आइडेंटिफायर को उसके sha256 हैश (identifier_hash) के रूप में रिपोर्ट करते हैं, और रिपोर्ट बॉडी JSON प्रतिक्रिया के अंदर base64 के रूप में एन्कोड की गई CSV होती है।

त्रुटि प्रतिक्रियाएं

Anchor link to
HTTP स्टेटसअर्थ
400 Bad Requestअमान्य तर्क, जैसे कि खाली identifier_type, identifiers, या application_codes, 10,000 से अधिक आइडेंटिफायर्स, 50 से अधिक एप्लिकेशन, आइडेंटिफायर्स × एप्लिकेशन 50,000 से अधिक, एक खाली आइडेंटिफायर स्ट्रिंग, या (केवल Upload के लिए) एक गुम/अपठनीय CSV फ़ाइल। जब कोई कोट किया गया confirmation_dry_run_task_id उस पूरे हो चुके Dry run से मेल नहीं खाता जिसे वह नाम देता है, बहुत पुराना है (15 मिनट से अधिक), या बिल्कुल भी पूरा हुआ Dry run नहीं है, तो इसे वायर पर FailedPrecondition के रूप में भी लौटाया जाता है।
401 Unauthorizedगुम या अमान्य Authorization हेडर।
403 Forbiddenटोकन के पास अनुरोधित एप्लिकेशनों में से किसी एक पर मॉडिफाई/डिवाइस-डेटा राइट नहीं है, या कॉलर अनुरोधित टास्क/रिपोर्ट को नहीं पढ़ सकता।
404 Not Foundटास्क नहीं मिला, या कॉलर के खाते से संबंधित नहीं है।
413 Payload Too Large(केवल Upload के लिए) अपलोड की गई फ़ाइल 5 MB से अधिक है।
429 Too Many Requestsखाते ने पिछले 24 घंटों में पहले ही 20 डेटा मिटाने के टास्क (Dry run सहित) शुरू कर दिए हैं।

एंडपॉइंट्स

Anchor link to
मेथडपाथविवरण
POST/api/data_erasure/tasksएक मिटाने का (या dry-run) टास्क बनाएं
POST/api/data_erasure/uploadआइडेंटिफायर्स की अपलोड की गई CSV से एक मिटाने का टास्क बनाएं
GET/api/data_erasure/tasksखाते के मिटाने के टास्क की सूची बनाएं
GET/api/data_erasure/tasks/{task_id}एक मिटाने का टास्क प्राप्त करें
GET/api/data_erasure/tasks/{task_id}/rowsएक टास्क के प्रति-आइडेंटिफायर परिणामों की सूची बनाएं
GET/api/data_erasure/tasks/{task_id}/reportएक टास्क की रिपोर्ट को CSV के रूप में डाउनलोड करें
GET/api/data_erasure/reportएक अवधि के हर टास्क को एक CSV के रूप में डाउनलोड करें

सूचीबद्ध एप्लिकेशनों में सूचीबद्ध विषयों का व्यक्तिगत डेटा मिटाना शुरू करता है। dry_run: true के साथ टास्क केवल यह गिनता है कि क्या मिटाया जाएगा।

POST /api/data_erasure/tasks

रिक्वेस्ट बॉडी

Anchor link to
पैरामीटरप्रकारआवश्यकविवरण
identifierTypestringहाँSUBJECT_IDENTIFIER_USER_ID, SUBJECT_IDENTIFIER_HWID, या SUBJECT_IDENTIFIER_EMAIL।
identifiersarray of stringsहाँउस एक प्रकार के विषय आइडेंटिफायर, प्रति टास्क 10,000 तक, कोई खाली वैल्यू नहीं।
applicationCodesarray of stringsहाँमिटाने के लिए एप्लिकेशन कोड, 50 तक। एक ही कॉल में खाते के हर एप्लिकेशन से मिटाने का कोई तरीका नहीं है, इसलिए हर एक को स्पष्ट रूप से नाम दें। identifiers.length × applicationCodes.length 50,000 से अधिक नहीं होना चाहिए, क्योंकि रिपोर्ट में प्रति आइडेंटिफायर प्रति एप्लिकेशन एक पंक्ति होती है।
dryRunbooleanनहींयह गिनता है कि क्या मिटाया जाएगा और कुछ भी नहीं लिखता। डिफ़ॉल्ट रूप से false।
confirmationDryRunTaskIdintegerनहींएक पूरे हो चुके Dry run का task_id जिसने इस सटीक मिटाने को मापा था। देखें परंपराएं।
अनुरोध उदाहरण
Anchor link to
{
"identifierType": "SUBJECT_IDENTIFIER_EMAIL",
"identifiers": ["subject@example.com"],
"applicationCodes": ["XXXXX-XXXXX"],
"dryRun": true
}

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
task_idintegerबनाए गए टास्क की Id। इसे इस पेज के हर दूसरे एंडपॉइंट के साथ उपयोग करें।

Create जैसा ही टास्क बनाता है, लेकिन आइडेंटिफायर्स JSON ऐरे के बजाय एक अपलोड की गई CSV से आते हैं। इसका उपयोग बल्क विषय सूची के लिए करें।

POST /api/data_erasure/upload

रिक्वेस्ट (multipart/form-data)

Anchor link to
फ़ील्डआवश्यकविवरण
fileहाँCSV फ़ाइल, 5 MB तक, एक ही कॉलम में प्रति पंक्ति एक आइडेंटिफायर। पहली पंक्ति आइडेंटिफायर रखने के बजाय कॉलम का नाम बता सकती है (user_id, userid, user id, hwid, email, identifier, या subject, केस-असंवेदनशील रूप से)। उस पंक्ति को फिर हेडर के रूप में छोड़ दिया जाता है, गिना नहीं जाता। खाली पंक्तियों को छोड़ दिया जाता है और अलग से गिना जाता है। डुप्लिकेट आइडेंटिफायर (ईमेल के लिए केस-असंवेदनशील रूप से) एक में समेट दिए जाते हैं और अलग से गिने जाते हैं।
identifier_typeहाँuser_id, hwid, या email, लोअरकेस, इस पेज पर अन्यत्र उपयोग किए गए JSON identifierType एनम वैल्यू से एक अलग केसिंग। पूरी फ़ाइल पर एक प्रकार लागू होता है।
application_codesहाँकॉमा-सेपरेटेड एप्लिकेशन कोड।
dry_runनहींtrue/false।
confirmation_dry_run_task_idनहींCreate के समान।

प्रतिक्रिया

Anchor link to
{
"task_id": 123,
"identifier_count": 480,
"duplicate_count": 3,
"skipped_rows": 1
}

खाते के मिटाने के टास्क की सूची बनाता है, सबसे नए पहले: यह ऑडिट जर्नल है कि किसने क्या और कब मिटाया। जब तक includeDryRuns सेट न हो, Dry run छोड़ दिए जाते हैं।

GET /api/data_erasure/tasks

क्वेरी पैरामीटर्स

Anchor link to
पैरामीटरप्रकारविवरण
limit / offsetintegerपेजिंग।
includeDryRunsbooleanDry-run (केवल-मापन) टास्क शामिल करें।
from / tostring (RFC 3339)[from, to) में शुरू हुए टास्क रखें।
applicationCodestringउन टास्क को रखें जो इस एप्लिकेशन को कवर करते हैं।
initiatorUserIdintegerइस कंट्रोल पैनल यूज़र द्वारा शुरू किए गए टास्क रखें। 0 (डिफ़ॉल्ट) हर इनिशिएटर को रखता है।
initiatorTokenIdintegerइस API टोकन द्वारा शुरू किए गए टास्क रखें। 0 (डिफ़ॉल्ट) हर इनिशिएटर को रखता है।
initiatorEmailstringइस कंट्रोल पैनल यूज़र द्वारा शुरू किए गए टास्क रखें, ईमेल द्वारा मैच किया गया, केस-असंवेदनशील रूप से।

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
tasksडेटा मिटाने टास्क ऑब्जेक्ट्स का ऐरेमेल खाने वाले टास्क।

स्टेटस और काउंटर के साथ एक मिटाने का टास्क लौटाता है। Create या Upload द्वारा शुरू किए गए टास्क को फॉलो करने के लिए इसका उपयोग करें।

GET /api/data_erasure/tasks/{task_id}

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
taskडेटा मिटाने टास्क ऑब्जेक्टअनुरोधित टास्क।

ListTaskRows

Anchor link to

एक टास्क के प्रति-आइडेंटिफायर परिणाम को लौटाता है: क्या डिलीट हुआ, नहीं मिला, छोड़ा गया, या फेल हुआ। आइडेंटिफायर्स को उनके sha256 हैश के रूप में रिपोर्ट किया जाता है।

GET /api/data_erasure/tasks/{task_id}/rows

क्वेरी पैरामीटर्स

Anchor link to
पैरामीटरप्रकारविवरण
limit / offsetintegerपेजिंग।

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
rowsडेटा मिटाने टास्क रो ऑब्जेक्ट्स का ऐरेपरिणामों का यह पेज।

GetTaskReport

Anchor link to

एक टास्क की पूरी रिपोर्ट को एक CSV फ़ाइल के रूप में लौटाता है: प्रति आइडेंटिफायर प्रति एप्लिकेशन एक पंक्ति, उसके परिणाम के साथ। इसके बजाय ListTaskRows वही पंक्तियां पेज दर पेज दिखाता है।

GET /api/data_erasure/tasks/{task_id}/report

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
filenamestringसुझाया गया फ़ाइल नाम, उदाहरण के लिए data-erasure-task-42.csv।
content_typestringtext/csv।
contentstring (base64)CSV फ़ाइल। कॉलम: task_id, created, identifier_type, identifier_hash, application_code, result, detail।

GetJournalReport

Anchor link to

एक अवधि के हर मिटाने के टास्क को एक CSV फ़ाइल के रूप में लौटाता है: प्रति आइडेंटिफायर प्रति एप्लिकेशन एक पंक्ति, जिसमें हर पंक्ति पर टास्क और उसका इनिशिएटर होता है। यह वही है जो एक खाता किसी ऑडिटर को सौंपता है।

GET /api/data_erasure/report

क्वेरी पैरामीटर्स

Anchor link to
पैरामीटरप्रकारआवश्यकविवरण
fromstring (RFC 3339)हाँअवधि की शुरुआत।
tostring (RFC 3339)नहींअवधि का अंत। डिफ़ॉल्ट रूप से अभी।
includeDryRunsbooleanनहींDry-run टास्क शामिल करें।

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
filenamestringसुझाया गया फ़ाइल नाम, उदाहरण के लिए data-erasure-2026-01-01-2026-04-01.csv।
content_typestringtext/csv।
contentstring (base64)CSV फ़ाइल। कॉलम: task_id, task_created, initiator_user_id, initiator_email, initiator_token_id, dry_run, identifier_type, identifier_hash, application_code, result, detail, row_created।

डेटा मिटाने टास्क ऑब्जेक्ट

Anchor link to
फ़ील्डप्रकारविवरण
task_idintegerटास्क Id।
identifier_typestringSUBJECT_IDENTIFIER_USER_ID, SUBJECT_IDENTIFIER_HWID, या SUBJECT_IDENTIFIER_EMAIL।
application_codesarray of stringsवे एप्लिकेशन जिन्हें टास्क कवर करता है।
dry_runbooleanक्या यह टास्क केवल एक वॉल्यूम मापता है।
statusstringERASURE_TASK_STATUS_PENDING, _IN_PROGRESS, _DONE, या _FAILED।
total_countintegerआइडेंटिफायर्स × एप्लिकेशन जिन्हें यह टास्क कवर करता है।
deleted_countintegerकितने मिटाए गए (या, Dry run के लिए, मिटाए जाते)।
not_found_countintegerकितने किसी से मेल नहीं खाए।
failed_countintegerकितने फेल हुए। क्यों, यह जानने के लिए ListTaskRows या रिपोर्ट देखें।
fail_reasonstringजब status, ERASURE_TASK_STATUS_FAILED हो तो सेट किया जाता है।
initiator_user_idintegerकंट्रोल पैनल यूज़र जिसने टास्क शुरू किया। जब एक API टोकन ने किया हो तो 0।
initiator_token_idintegerAPI टोकन जिसने टास्क शुरू किया। जब एक कंट्रोल पैनल यूज़र ने किया हो तो 0।
initiator_emailstringउस कंट्रोल पैनल यूज़र का पता जिसने टास्क शुरू किया। API टोकन के लिए खाली।
createdstring (RFC 3339)टास्क कब बनाया गया था।
started_atstring (RFC 3339)मिटाने का काम कब शुरू हुआ।
finished_atstring (RFC 3339)टास्क कब अंतिम स्टेटस पर पहुंचा।

डेटा मिटाने टास्क रो ऑब्जेक्ट

Anchor link to
फ़ील्डप्रकारविवरण
identifier_hashstringआइडेंटिफायर का sha256। रिपोर्ट कभी भी आइडेंटिफायर को खुद स्टोर या नहीं लौटाती।
application_codestringवह एप्लिकेशन जिस पर इस पंक्ति का परिणाम लागू होता है।
resultstringERASURE_ROW_RESULT_DELETED, _NOT_FOUND, _SKIPPED, या _FAILED।
detailstringतकनीकी विवरण, मुख्य रूप से फेल होने पर सेट किया जाता है।
createdstring (RFC 3339)यह पंक्ति कब लिखी गई थी।

संबंधित

Anchor link to