# درخواست پاک‌سازی داده

وقتی کسی می‌خواهد داده‌اش از سیستم شما برود، ادپیکس یک مسیر مستقیم دارد: یک درخواست در سطح سازمان که رویدادهای آن فرد را حذف و اطلاعات هویتی‌اش را پاک می‌کند. این صفحه می‌گوید چه کسی می‌تواند آن را بدهد، چه چیزی واقعا حذف می‌شود و چه چیزی عمدا می‌ماند.

## چه کسی می‌تواند درخواست بدهد

پاک‌سازی داده در سطح سازمان انجام می‌شود و بالاترین اختیار غیرپلتفرمی را می‌خواهد: اختیار «مدیریت سازمان»، که روی نردبان نقش‌ها رتبه ۷۰ است. یعنی فقط «مالک سازمان» و مدیر پلتفرم. هر نقش دیگری پاسخ `403` می‌گیرد.

| نقش | رتبه | نتیجه |
| --- | --- | --- |
| مالک سازمان | ۷۰ | درخواست پذیرفته می‌شود |
| مدیر سازمان | ۶۰ | `403` |
| مدیر حساب | ۶۰ | `403` |
| مدیر دارایی | ۵۰ | `403` |
| ویرایش گر و پایین‌تر | ۴۰ و کمتر | `403` |

این تنها جایی است که فاصله «مدیر سازمان» و «مالک سازمان» عملا به چشم می‌آید: آن دو در بقیه کارهای روزمره تقریبا یکسان‌اند، ولی حذف برگشت‌ناپذیر داده فقط از مالک برمی‌آید. نردبان کامل در [نقش ها و محدودیت های داده](concepts/governance/roles-and-data-restrictions) آمده است.

اختیار موثر از بیشترین نقشی می‌آید که فرد از مسیرهای مختلف دارد، ولی نقش باید روی **همان سازمانی** باشد که درخواست برایش ثبت می‌شود. یک نکته دیگر هم هست: اگر با جعل هویت و در حالت «فقط خواندنی» وارد شده باشید، درخواست رد می‌شود.

## درخواست چطور ثبت می‌شود

امروز صفحه‌ای در کنسول برای این کار وجود ندارد. درخواست یک فراخوانی API است که با نشست ورود خودتان به کنسول انجام می‌شود — کلید سرور اینجا کار نمی‌کند، چون این مسیر بخشی از سطح مدیریتی است، نه سطح دریافت داده.

```bash
curl -X POST "https://api.adpix.io/api/v1/admin/erasure?organization_id=<ORG>" \
  -H 'Content-Type: application/json' \
  -b 'ap_admin=<your session cookie>' \
  -d '{"email":"person@example.com"}'
```

```bash
curl -X POST "https://api.adpix.io/api/v1/admin/erasure?organization_id=<ORG>" \
  -H 'Content-Type: application/json' \
  -b 'ap_admin=<your session cookie>' \
  -d '{"phone":"+989121234567"}'
```

```json
{
  "ok": true,
  "global_user_id": "…",
  "anonymous_ids_erased": 3,
  "request_id": "erase_…"
}
```

سه راه برای مشخص کردن فرد وجود دارد و یکی از آن‌ها کافی است:

- `email` — با ایمیل نرمال‌شده تطبیق داده می‌شود.
- `phone` — **حتما در قالب بین‌المللی با کد کشور**. این مسیر کد کشور پیش‌فرض دارایی را اعمال نمی‌کند، پس شماره ملی مثل `0912…` فقط با ردیف‌هایی می‌خواند که خودشان بدون کد کشور ذخیره شده باشند.
- `global_user_id` — اگر از قبل شناسه را دارید؛ مثلا پاسخ فراخوانی‌های سمت سرور آن را برمی‌گرداند.

| کد | معنی |
| --- | --- |
| `401` | نشست معتبری وجود ندارد |
| `400` | `organization_id` نیامده، یا هیچ‌کدام از ایمیل، شماره و شناسه کاربر داده نشده |
| `403` | نقش شما در این سازمان به رتبه لازم نمی‌رسد |
| `404` | در این سازمان کسی با این ایمیل یا شماره پیدا نشد |
| `200` | انجام شد؛ پاسخ شناسه کاربر سراسری و تعداد شناسه‌های ناشناس پاک‌شده را برمی‌گرداند |

> **این کار برگشت ندارد**
>
> پاک‌سازی، حذف واقعی است — نه علامت‌گذاری و نه سطل زباله. پیش از ثبت، از سازمان و از ایمیل یا شماره مطمئن شوید. اگر فرد در سازمان دیگری از شما هم شناخته شده است، درخواست را آنجا هم جداگانه ثبت کنید؛ هر درخواست فقط به همان یک سازمان می‌رسد.

## دقیقا چه چیزی حذف می‌شود

ادپیکس اول فرد را به یک کاربر سراسری در آن سازمان می‌رساند، بعد **هر شناسه ناشناسی** را که با یال هویتی به او وصل است جمع می‌کند — چه یال قطعی (شناسایی صریح، پیوند ایمیل، پیوند شماره، شناسه اولیه ناشناس) و چه یال احتمالی اثر انگشت. بعد این‌ها را حذف می‌کند:

1. **بایگانی خام رویداد** آن فرد، پیش از هر چیز — چون به رویدادهایی ارجاع می‌دهد که قرار است بروند.
2. **نشست‌های او.** این قدم جداست چون جدول نشست‌ها از رویدادها ساخته شده ولی با حذف رویداد خودش عقب نمی‌آید؛ باید پیش از حذف رویدادها انجام شود، چون تنها جایی که هنوز می‌شود شناسه نشست‌هایش را پیدا کرد همان‌جاست.
3. **خود رویدادها** در انبار تحلیلی، هم آن‌هایی که زیر کاربر سراسری‌اند و هم آن‌هایی که زیر شناسه‌های ناشناس او.
4. **ردیف‌های خنثی‌کننده جایگزینی هویت** برای هر شناسه ناشناس، تا اگر ردی جا مانده باشد به هیچ کاربری نرسد.
5. **اطلاعات هویتی در پایگاه تراکنشی:** ایمیل، هش ایمیل، هش شماره، شناسه مشتری در CRM و خصیصه‌های ذخیره‌شده روی ردیف کاربر پاک می‌شوند؛ ایمیل‌ها، شماره‌ها، پروفایل، اتریبیوشن هویتی و یال‌های هویت او حذف می‌شوند؛ و برای هر شناسه ناشناس، اولین برخورد ثبت‌شده و اثر انگشت‌هایش هم می‌روند.

از همان لحظه، گزارش‌ها آن فرد را برنمی‌گردانند. کار شبانه‌ای در کار نیست و چیزی در صف نمی‌ماند.

هر درخواست در گزارش ممیزی به‌عنوان یک رویداد پاک‌سازی داده ثبت می‌شود: چه کسی، کِی، کدام سازمان، کدام شناسه کاربر سراسری و چند شناسه ناشناس — بدون خود اطلاعات هویتی. همین ردیف، مدرک شما برای «انجام شد» است.

## چه چیزی عمدا می‌ماند

- **ردیف اتریبیوشن سفارش.** شماره سفارش، مبلغ، ارز، وضعیت، عکس ثابت کانال و **شناسه کاربر سراسری** سر جایشان می‌مانند. اطلاعات هویتی پشت آن شناسه پاک می‌شود، پس شناسه به یک عدد بی‌نام تبدیل می‌شود. این یک سابقه کسب‌وکاری است و گزارش‌های مالی به آن تکیه می‌کنند.
- **ردیف خالی کاربر.** خود ردیف کاربر سراسری حذف نمی‌شود، فقط تهی می‌شود؛ همان لنگری است که ردیف‌های سفارش به آن اشاره می‌کنند.
- **ردیف گزارش ممیزی** خودِ پاک‌سازی.
- **سوابق رضایت.** مدرک اینکه چه انتخابی و کِی ثبت شده باقی می‌ماند؛ آدرس IP در آن‌ها هش شده است و هرگز خام ذخیره نمی‌شود.
- **هر چیزی که قبلا به بیرون رفته.** اگر رویدادها را با وب‌هوک یا ماژول CRM به سیستم دیگری داده‌اید، پاک‌سازی ادپیکس به آنجا نمی‌رسد.
- **نسخه‌های پشتیبانی که پیش از درخواست گرفته شده‌اند**، تا وقتی به‌طور طبیعی جایگزین نشوند.

## ترتیب درست کارها

1. مشخص کنید فرد در کدام سازمان و با کدام ایمیل یا شماره شناخته می‌شود. اگر با دو ایمیل جدا شناخته شده و هنوز به هم پل نخورده‌اند، برای هرکدام یک درخواست بدهید.
2. اگر خواسته او فقط «دیگر داده جمع نکنید» است، پس گرفتن رضایت یا رد دسته آماری کافی است و پاک‌سازی لازم نیست.
3. درخواست را در همان سازمان ثبت کنید و پاسخ را نگه دارید؛ `request_id` و شناسه کاربر سراسری در آن هست.
4. اگر رویدادها را به CRM یا مقصد دیگری می‌فرستید، همان‌جا هم حذف را انجام دهید.
5. در گزارش ممیزی تایید کنید که ردیف پاک‌سازی ثبت شده است.

ادپیکس این کنترل و این سابقه را در اختیارتان می‌گذارد. اینکه به یک درخواست باید در چه بازه‌ای و با چه شرایطی پاسخ بدهید، تصمیمی است که با مشاور حقوقی خودتان می‌گیرید.

عمر خودکار هر کلاس داده — که مسیری کاملا جداست — در [نگه داشت داده](analytics/privacy/data-retention) آمده و منطق اینکه یک شناسه ناشناس چطور به یک فرد می‌رسد در [ادپیکس چطور بازدیدکننده‌ها را می‌شناسد](concepts/foundations/how-adpix-identifies-visitors).

## پرسش‌های پرتکرار

### چرا با اینکه مدیر سازمانم پاسخ ۴۰۳ می‌گیرم؟

چون این کار حداقل رتبه «مالک سازمان» را می‌خواهد. «مدیر سازمان» و «مدیر حساب» هم‌رتبه‌اند و یک پله پایین‌تر می‌نشینند، پس درخواستشان رد می‌شود. یا نقشتان در آن سازمان باید بالا برود، یا درخواست را مالک سازمان ثبت کند.

### بعد از پاک‌سازی، گزارش‌ها چه زمانی به‌روز می‌شوند؟

بلافاصله. حذف در انبار تحلیلی از همان لحظه در نتیجه پرسش‌ها دیده می‌شود، پس گزارش بعدی دیگر آن فرد را برنمی‌گرداند. منتظر کار شبانه نمانید.

### می‌شود پاک‌سازی را برگرداند؟

خیر. این کار برگشت‌ناپذیر است. آنچه می‌ماند فقط ردیف گزارش ممیزی است که می‌گوید چه کسی، کِی و برای کدام شناسه کاربر سراسری درخواست را ثبت کرده — بدون خود اطلاعات هویتی.

### سفارش‌های آن فرد هم از گزارش درآمد حذف می‌شوند؟

ردیف اتریبیوشن سفارش می‌ماند و شناسه کاربر سراسری‌اش را هم نگه می‌دارد، ولی اطلاعات هویتی پشت آن شناسه پاک می‌شود؛ یعنی آن شناسه دیگر داخل ادپیکس به هیچ آدمی نمی‌رسد. رویدادهای خود آن فرد از انبار تحلیلی حذف می‌شوند.

## مطالب مرتبط

- [نگه داشت داده](https://docs.adpix.io/fa/analytics/privacy/data-retention/)
- [نگه داشت و حذف داده](https://docs.adpix.io/fa/concepts/governance/data-retention-and-deletion/)
- [نقش ها و محدودیت های داده](https://docs.adpix.io/fa/concepts/governance/roles-and-data-restrictions/)
- [ادپیکس بازدیدکننده را چطور می‌شناسد](https://docs.adpix.io/fa/concepts/foundations/how-adpix-identifies-visitors/)

---

[مستندات](https://docs.adpix.io/fa/analytics/privacy/erasure-requests/) · AdPix
