Sekilas: Artikel ini ditujukan untuk penggunaan klien AppsFlyer, sering disebut sebagai pemasang iklan atau pemilik aplikasi, menggunakan Platform untuk mencatat penggunaan dan atribusi aplikasi. Pemilik aplikasi menerapkan OpenDSR (Permintaan Subjek Data) API untuk mematuhi undang-undang perlindungan data yang berlaku seperti GDPR (Eropa), CCPA (California), LGPD (Brasil), dan PDPA (Thailand).
Pernyataan dari pengacara kami: Tidak ada pernyataan di sini yang merupakan nasihat hukum. Panduan ini hanya disediakan untuk informasi dan kenyamanan Anda. Anda harus bekerja sama dengan penasihat hukum dan profesional lainnya untuk menentukan dengan pasti apakah GDPR, CCPA, atau undang-undang lainnya berlaku atau tidak untuk Anda. Hubungan privasi antara Anda dan AppsFlyer diatur olehKebijakan Privasi Layanan AppsFlyer. Untuk pertanyaan apa pun yang berkaitan dengan Kebijakan Privasi Layanan ini atau untuk menghubungi petugas perlindungan data kami, silakan kirim email kepada kami ke privacy@appsflyer.com. Untuk tujuan Pasal 27 Regulasi Perlindungan Data Umum, perwakilan AppsFlyer di Uni Eropa adalah AppsFlyer Germany GmbH, Schönhauser Allee 180, 10119 Berlin, Jerman (hubungi privacy@appsflyer.com; +49-30-166373500).
Peraturan perlindungan privasi
Dalam artikel ini, referensi peraturan privasi mencakup peraturan yang tercantum dalam tabel berikut.
Peraturan | Logo | Deskripsi |
---|---|---|
GDPR | Peraturan Perlindungan Data Umum adalah peraturan UE (Uni Eropa) yang berkaitan dengan perlindungan data dan privasi untuk warga negara Uni Eropa | |
CCPA | Undang-Undang Privasi Konsumen California | |
LGPD | Lei Geral de Proteção de Dados | |
PDPA | Undang-Undang Perlindungan Data Pribadi (Personal Data Protection Act/PDPA) |
Istilah peraturan privasi, GDPR, CCPA, LGPD, dan PDPA digunakan secara bergantian dalam artikel ini.
Inisiatif OpenDSR
Untuk menjawab dan mengelola permintaan oleh Subjek Data yang dikirimkan sesuai dengan peraturan privasi, AppsFlyer, bersama dengan mParticle, Amplitudo, dan Braze, memprakarsai protokol OpenDSR (sebelumnya dikenal sebagai OpenGDPR).
OpenDSR adalah kerangka kerja sumber terbuka, yang memfasilitasi kerja sama antara perusahaan teknologi untuk penggunaan data konsumen yang adil dan transparan. Ini memungkinkan vendor untuk mengambil tindakan privasi data di berbagai sistem yang memproses dan menyimpan data pelanggan.
Pelajari lebih lanjut tentang inisiatif OpenDSR.
Definisi
Istilah DSR | Istilah AppsFlyer | Deskripsi |
---|---|---|
User | Pengguna Aplikasi atau Pengguna Akhir | Pengguna Aplikasi adalah orang yang datanya dikumpulkan |
Pengontrol Data | Pemilik Aplikasi atau Pengiklan | Pemilik Aplikasi menentukan tujuan dan sarana yang digunakan untuk memproses data pribadi. |
Pemroses Data | AppsFlyer dan mitra | AppsFlyer dan partnernya memproses data pribadi atas nama pengontrol data |
persyaratan DSR
DSR merinci hak wajib Subjek Data, yang harus dipatuhi oleh Pengontrol Data. Untuk tujuan API, hak ini diterjemahkan ke dalam jenis permintaan. Rincian berikut menjelaskan bagaimana AppsFlyer memproses berbagai jenis permintaan.
Jenis permintaan (Hak) |
Definisi GDPR |
Memproses permintaan oleh AppsFlyer |
---|---|---|
Akses |
|
Pemilik Aplikasi menerima salinan data pribadi Pengguna Aplikasi yang diproses. |
Portabilitas |
Pengguna Aplikasi harus menerima semua data pribadi mereka dalam format yang terstruktur, umum digunakan, dan dalam format yang dapat dibaca sistem, seperti file CSV. |
Pemilik Aplikasi menerima salinan data pribadi Pengguna Aplikasi yang diproses. |
Rektifikasi |
Mengizinkan Pengguna Aplikasi mengoreksi data mereka jika mereka melihatnya sebagai data tidak akurat atau tidak benar. Pemilik Aplikasi diwajibkan untuk menghapus atau mengoreksi data yang tidak benar atau tidak selesai. |
|
Penghapusan |
Hak penghapusan mengharuskan Pemilik Aplikasi untuk menghapus data pribadi dalam waktu 14 hari setelah menerima permintaan. |
Data dihapus |
GDPR Requests API AppsFlyer
Gunakan API Permintaan GDPR seperti yang dijelaskan di bagian ini untuk menerapkan kepatuhan DSR.
- Permintaan GDPR: Melakukan salah satu dari jenis permintaan di atas: akses, portabilitas, penghapusan, koreksi.
- Permintaan Status - Kueri terhadap status permintaan GDPR saat ini
- Permintaan Keterangan: Pertanyaan tentang versi API dan Format Data yang didukung
- Pembatalan: Membatalkan permintaan GDPR selama tahap tertunda.
Pemilik Aplikasi harus menerapkan perubahan UI pada aplikasi mereka sehingga Pengguna Aplikasi dapat mengirimkan permintaan. Perhatikan bahwa permintaan GDPR adalah per satu pengguna pada satu waktu.
1. Permintaan GDPR
Alur Permintaan GDPR
Jenis-jenis permintaan GDPR, akses, portabilitas, penghapusan, dan koreksi, memiliki alur yang sama:
- Pengguna Aplikasi mengajukan permintaan.
- Pemilik Aplikasi membuat permintaan GDPR (lihat di bawah) dan mengirimkannya ke AppsFlyer.
- AppsFlyer menerima permintaan tersebut dan memberi respons "201 OK" untuk permintaan yang valid.
- Selama 48 jam berikutnya, permintaan ini menunggu giliran untuk diproses dan memiliki status tertunda. Pengguna Aplikasi dapat membatalkan permintaan tersebut.
- Setelah 48 jam, status permintaan berubah menjadi in_progress (dalam proses). AppsFlyer mengirimkan postback perubahan status . Saat ini, permintaan tidak dapat dibatalkan.
- Dalam 14 hari (lihat catatan di bawah), AppsFlyer memenuhi permintaan, dan status permintaan diperbarui menjadi selesai. AppsFlyer mengirimkan postback perubahan status.
- Dalam kasus penghapusan atau koreksi, data Pengguna Aplikasi dihapus.
- Dalam hal portabilitas atau akses, data Pengguna Aplikasi dapat diakses di dashboard AppsFlyer di bawah GDPR atau melalui Request API (lihat di bawah).
Catatan: Periode 14 hari ini dimulai setelah periode tertunda 48 jam berakhir. Dengan demikian, total periode pemenuhan permintaan adalah 16 hari setelah Pemilik Aplikasi mengirimkan permintaan ke AppsFlyer.
Format Permintaan GDPR
GDPR Request API dapat dikirimkan via HTTP POST ke titik akhir berikut ini:
https://hq1.appsflyer.com/api/gdpr/v1/opendsr_requests
Untuk otorisasi API, gunakan token V2 API yang sama seperti untuk Pull API. Pengguna admin dapat mengambil token dari halaman token API di dashboard. Tambahkan token ke header permintaan sebagai berikut: 'Otorisasi': 'Pembawa %AuthTokenV2% '
Parameter
Nama Properti | Wajib | Deskripsi |
---|---|---|
subject_request_id | Ya | String UUID v4. Dihasilkan oleh pengontrol pada saat pengajuan permintaan ke Prosesor. String ini dapat digunakan untuk memeriksa status permintaan, memperbarui, atau membatalkannya. |
subject_request_type | Ya |
Nilai string yang mewakili jenis Permintaan GDPR. Nilai bantuan:
|
subject_identities | Ya |
|
submitted_time | Ya |
|
property_id | Ya |
String yang mewakili aplikasi mobile yang mana�permintaan ini dicakup Contoh:
|
api_version | Tidak | Versi string yang diinginkan dari API GDPR Requests |
status_callback_urls | Tidak, tapi direkomendasikan |
|
platform |
Tidak |
Nilai adalah salah satu platform DSR yang didukung: |
Ya |
Untuk permintaan platform CTV, PC, atau Konsol, sertakan salah satu platform berikut: |
Objek Subject_identities
Jenis Objek | Wajib | Deskripsi |
---|---|---|
identity_type | Ya |
|
identity_value | Ya |
|
identity_format | Ya |
|
Contoh: permintaan penghapusan GDPR
Contoh permintaan penghapusan untuk platform android
, ios
, web
, windowsphone
:
curl --location --request POST 'https://hq1.appsflyer.com/api/gdpr/v1/opendsr_requests' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer %AuthTokenv2% \
--data-raw '{
"subject_request_id":"f4e5a271-f25e-4107-b681-************",
"subject_request_type":"erasure",
"submitted_time":"2020-07-05T10:00:00Z",
"platform": "android",
"subject_identities":[
{
"identity_type":"android_advertising_id",
"identity_value":"55*****-****-****-************",
"identity_format":"raw"
}
],
"api_version":"0.1",
"property_id":"com.*********.*********.*********",
"status_callback_urls":[
"https://examplecontroller.com/opendpr_callbacks"
]
}'
Contoh permintaan penghapusan untuk platformCTV
, PC
, dan Konsol
:
curl --location --request POST 'https://hq1.appsflyer.com/api/gdpr/v1/opendsr_requests' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer %AuthTokenv2% \
--data-raw '
{"requester": "test@email.com",
"subject_request_id":"valid-uuid4-string",
"subject_request_type":"erasure",
"submitted_time":"2020-07-05T10:00:00Z",
"subject_identities":[
{
"identity_type":"appsflyer_id",
"identity_value":"valid-appsflyer-id-string",
"identity_format":"raw"
}
],
"api_version":"0.1",
"property_id":"app-id",
"platform": "roku",
"status_callback_urls":[
"https://examplecontroller.com/opengdpr_callbacks"
]
}'
Contoh Kode Permintaan Penghapusan GDPR
/*
menggunakan paket okhttp instal dari maven
https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp
*/
impor okhttp3.*;
import java.io.IOException;
public class GdprSendRequest {
public static void main(String[] args){
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create(null, "" +
"{\r\n\"subject_request_id\": \"\"," +
"\r\n\"subject_request_type\": \"hapus\"," +
"\r\n \"platform\": \"android\"," +
"\r\n\"submitted_time\": \"2018-11-02T15:00:00Z\"," +
"\r\n\" subject_identities\": [\r\n" +
"{\r\n\"identity_type\": \"android_advertising_id\"," +
"\r\n\"identity_value\": \"\"," +
"\r\n\"identity_format\": \"raw\"\r\n}" +
"\r\n]," +
"\r\n\"property_id\": \"com.example.application\"} }");
Request request = new Request.Builder()
.url("https://hq1.appsflyer.com/api/gdpr/v1/opendsr_requests/opendsr_requests")
.post(body)
.addHeader("Content-Type", "aplikasi/json")
.addHeader("Terima", "application/json")
.addHeader("Otorisasi: Bearer", "")
.build();
coba {
Response response = client.newCall(request).execute();
System.out.println(response.code());
System.out.println(response.body().string());
System.exit(0);
} catch (IOException e) {
e.printStackTrace();
System.exit(1);
}
}
}
""" menggunakan paket permintaan python,
instal menggunakan permintaan instal pip """
permintaan impor
impor json
headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization: Bearer": ""
}
body = {
"subject_request_id": "",
"subject_request_type": "erasure ",
"submitted_time": "2018-10-02T15:00:00Z",
"platform": "android",
"subject_identities": [
{ "identity_type": "android_advertising_id",
"identity_value": "",
"identity_format": "raw" }
],
"property_id": "com.example .aplikasi"
}
body = json.dumps(body)
res = requests.request("POST",
"https://hq1.appsflyer.com/api/gdpr/v1/opendsr_requests",
headers=headers, data=body, params=params)
print(res.text)
/* menggunakan paket npm permintaan,
instal menggunakan npm instal permintaan */
var request = require("request");
var options = { method: 'POST',
url: 'https://hq1.appsflyer.com/api/gdpr/v1/opendsr_requests',
headers:
{ Accept: 'application/json',
'Content-Type': 'application/json',
'Authorization: Bearer': '' },
body:
{ subject_request_id: '',
subject_request_type: 'erasure',
submitted_time: '2018-10-02T15:00:00Z',
platform: 'android',
subject_identities:
[ { identity_type: 'android_advertising_id',
identity_value: '',
identity_format: 'raw' } ],
property_id: 'com.example.application'
},
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
using System;
using RestSharp;
namespace CS
{
class Gdpr
{
static void Main(string[] args)
{
var url = "https://hq1.appsflyer.com/api/gdpr/v1/opendsr_requests";
var client = new RestClient(url);
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "application/json");
request.AddHeader("Authorization: Bearer", "")
var body = "{\r\n\"subject_request_id\": \"\"," +
"\r\n \"subject_request_type\": \"erasure\"," +
"\r\n \"submitted_time\": \"2018-11-02T15:00:00Z\"," +
"\r\n \"platform\": \"android\"," +
"\r\n \"subject_identities\": [\r\n" +
"{ \r\n \"identity_type\": \"android_advertising_id\"," +
"\r\n \"identity_value\": \"\"," +
"\r\n \"identity_format\": \"raw\"\r\n }" +
"\r\n ]," +
"\r\n \"property_id\": \"com.example.application\"}";
request.AddParameter("undefined", body,ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
// handle response by reading response.StatusCode
Console.WriteLine(response.Content);
}
}
2. Permintaan Status
Setiap permintaan GDPR yang diajukan nanti akan dapat dilihat statusnya dengan menentukan subject_request_id
. Ada empat jenis status yang tersedia:
- pending - Permintaan valid telah diterima dan sedang dalam antrean
- in_progress - Permintaan sedang diproses
- completed - Permintaan telah diselesaikan
- canceled - Permintaan telah dibatalkan
Format Permintaan Status
Permintaan dapat dikirimkan via HTTP GET ke endpoint berikut:
https://hq1.appsflyer.com/api/gdpr/v1/opendsr_requests/<req_id>
Contoh Respons Status
HTTP/1.1 200 OK
Content-Type: application/json
X-OpenGDPR-Processor Domain: example processor.com
X-OpenGDPR-Signature:
kiGlog3PdQx+FQmB8wYwFC1fekbJG7Dm9WdqgmXc9uKkFRSM4uPzylLi7j083461xLZ+mUloo3tpsmyIZpt5eMfgo7ejXPh6lqB4ZgCnN6+1b6Q3NoNcn/+11UOrvmDj772wvg6uIAFzsSVSjMQxRs8LAmHqFO4cF2pbuoPuK2diHOixxLj6+t97q0nZM7u3wmgkwF9EHIo3C6G1SI04/odvyY/VdMZgj3H1fLnz+X5rc42/wU4974u3iBrKgUnv0fcB4YB+L6Q3GsMbmYzuAbe0HpVA17ud/bVoyQZAkrW2yoSy1x4Ts6XKba6pLifIHf446Bubsf5r7x1kg6Eo7B8zur666NyWOYrglkOzU4IYO8ifJFRZZXazOgk7ggn9obEd78GBc3kjKKZdwaCrLx7WV5y9TMDCf+2FILOJM/MwTUy1dLZiaFHhGdzld2AjbjK1CfVzyPssch0iQYYtbR49GhumvkYl11S4oDfu0c3t/xUCZWg0hoR3XL3B7NjcrlrQinB1KbyTNZccKR0F4Lk9fDgwTVkrAg152UqPyzXxpdzXjfkDkSEgAevXQwVJWBNf18bMIEgdH2usF/XauQoyrne7rcMIWBISPgtBPj3mhcrwscjGVsxqJva8KCVCKD/4Axmo9DISib5/7A6uczJxQG2Bcrdj++vQqK2succ=
{
"controller_id":"example_controller_id",
"expected_completion_time":"2018-11-01T15:00:01Z",
"subject_request_id":"a7551968-d5d6-44b2-9831-815ac9017798",
"request_status":"pending",
}
Postback Status
Seperti dijelaskan pada Alur Permintaan GDPR di atas, saat status permintaan GDPR berubah, dari pending menjadi in_progress kemudian completed, AppsFlyer mengirimkan postback GDPR ke endpoint yang meminta, disertai dengan properti status_callback_urls.
Contoh status postback:
POST /opengdpr_callbacks HTTP/1.1
Host: examplecontroller.com
Content-Type: application/json
X-OpenGDPR-Processor Domain: gdpr.appsflyer.com
X-OpenGDPR-Signature: kiGlog3PdQx+FQmB8wYwFC1fekbJG7Dm9WdqgmXc9uKkFRSM4uPzylLi7j083461xLZ+mUloo3tpsmyIZpt5eMfgo7ejXPh6lqB4ZgCnN6+1b6Q3NoNcn/+11UOrvmDj772wvg6uIAFzsSVSjMQxRs8LAmHqFO4cF2pbuoPuK2diHOixxLj6+t97q0nZM7u3wmgkwF9EHIo3C6G1SI04/odvyY/VdMZgj3H1fLnz+X5rc42/wU4974u3iBrKgUnv0fcB4YB+L6Q3GsMbmYzuAbe0HpVA17ud/bVoyQZAkrW2yoSy1x4Ts6XKba6pLifIHf446Bubsf5r7x1kg6Eo7B8zur666NyWOYrglkOzU4IYO8ifJFRZZXazOgk7ggn9obEd78GBc3kjKKZdwaCrLx7WV5y9TMDCf+2FILOJM/MwTUy1dLZiaFHhGdzld2AjbjK1CfVzyPssch0iQYYtbR49GhumvkYl11S4oDfu0c3t/xUCZWg0hoR3XL3B7NjcrlrQinB1KbyTNZccKR0F4Lk9fDgwTVkrAg152UqPyzXxpdzXjfkDkSEgAevXQwVJWBNf18bMIEgdH2usF/XauQoyrne7rcMIWBISPgtBPj3mhcrwscjGVsxqJva8KCVCKD/4Axmo9DISib5/7A6uczJxQG2Bcrdj++vQqK2succ=
{
"controller_id":"example controller id at the processor",
"expected_completion_time":"2018-11-01T15:00:01Z",
"status_callback_url":"https://examplecontroller.com/opengdpr_callbacks",
"Subject_request_id":"a7551968-d5d6-44b2-9831-815ac9017798",
"Request_status":"pending"
}
Memvalidasi postback
Untuk memvalidasi keaslian postback yang masuk:
- Buat daftar yang diizinkan untuk semua domain prosesor yang Anda izinkan untuk melakukan callback.
-
Jika nilai header untuk
X-OpenGDPR-Processor-Domain
ada di daftar yang diizinkan, ambil sertifikatnya.- URL sertifikat adalah nilai dari
processor_certificate
di badan respons/discovery
. - Anda juga dapat mengambil sertifikat langsung dari titik akhir AppsFlyer menggunakan token API V2 sebagai token pembawa di header otorisasi:
GET https://hq1.appsflyer.com/api/gdpr/v1/certificate
- URL sertifikat adalah nilai dari
-
Validasi sertifikat menggunakan pustaka untuk mengonfirmasi bahwa sertifikat:
- Dikeluarkan oleh otoritas tepercaya.
- Dikeluarkan untuk string yang sama yang disediakan dalam nilai header
X-OpenGDPR-Processor-Domain
. - Tidak kedaluwarsa.
- Setelah Anda mengonfirmasi bahwa sertifikat valid, gunakan untuk memvalidasi header
X-OpenGDPR-Signature
terhadap badan permintaan lengkap. AppsFlyer menggunakan SHA256 RSA sebagai algoritme penandatanganan. -
Dapatkan respons di header status:
202 Diterima
jika validasi berhasil.401 Tidak Diotorisasi
jika tanda tangan gagal divalidasi atau domain prosesor tidak ada dalam daftar yang diizinkan.
3. Permintaan Laporan
Saat Permintaan Akses atau Permintaan Portabilitas selesai, Anda dapat mengunduh laporan via HTTP GET ke titik akhir berikut:
https://hq1.appsflyer.com/api/gdpr/v1/download/[REQUEST_ID]
Laporan yang dihasilkan akan tersedia selama empat belas hari dari waktu penyelesaian.
4. Permintaan penemuan-sedang diproses
Untuk mempelajari format yang didukung oleh AppsFlyer, permintaan keterangan dapat dikirimkan via HTTP GET ke endpoint berikut:
https://hq1.appsflyer.com/api/gdpr/v1/discovery
Contoh Respons Keterangan
HTTP/1.1 200 OK
Content-Type: application/json
{
"api_version": "0.1",
"supported_identities": [
{
"identity_type": "android_advertising_id",
"identity_format": "raw"
},
],
"supported_subject_request_types": [
"erasure", "access", "portability", "rectification"
],
"processor_certificate": "https://exampleprocessor.com/cert.pem"
}
5. Permintaan Pembatalan
Anda dapat membatalkan permintaan GDPR, berdasarkan subject_request_id
, tetapi hanya selama fase pending .
Untuk melakukan itu, kirimkan HTTP DELETE dengan subject_request_id
ke:
https://hq1.appsflyer.com/api/gdpr/v1/opendsr_requests/<req_id>
Respons Pembatalan
Saat permintaan pembatalan GDPR diterima, AppsFlyer akan mengembalikan respons HTTP dengan kode status 202 dan beberapa parameter lainnya.
Setelah pembatalan permintaan diproses, AppsFlyer mengirimkan postback dengan status dibatalkan .
6. Menguji API untuk Permintaan GDPR
API AppsFlyer ini adalah API pengujian untuk Permintaan GDPR API AppsFlyer.
Bagaimana Cara Kerja API ini?
API pengujian bekerja seperti berikut:
1. Setelah permintaan GDPR dibuat, permintaan tersebut langsung mendapat status ‘Pending’. Untuk tujuan pengujian, status berubah setiap 30 detik.
2. Jika endpoint untuk postback status telah disertakan ke dalam permintaan GDPR, postback pertama akan dikirim segera setelah permintaan dan dua postback status tambahan akan dikirim dalam interval waktu 30 detik.
Titik Akhir Pengujian Permintaan GDPR: POST
https://hq1.appsflyer.com/api/gdpr/v1/stub
Titik Akhir Pengujian Permintaan Status: GET
https://hq1.appsflyer.com/api/gdpr/v1/stub/:requestId
Titik Akhir Pengujian Permintaan Penemuan: GET
https://hq1.appsflyer.com/api/gdpr/v1/stub/discovery
Titik Akhir Pengujian Permintaan Pembatalan: DELETE
https://hq1.appsflyer.com/api/gdpr/v1/stub/:requestId
Titik Akhir Pengujian Sertifikat: GET
https://hq1.appsflyer.com/api/gdpr/v1/stubcertificate
Titik Akhir Pengujian Laporan Akses/Portabilitas: GET
https://hq1.appsflyer.com/api/gdpr/v1/stub/download/:requestId
Catatan
- Token API V2 yang valid harus dimasukkan ke dalam header permintaan sebagai berikut:
'Otorisasi': 'Pembawa %AuthTokenV2% '
- Pada properti ‘property_id’, ID App harus dimiliki oleh pemilik akun (berdasarkan token API).
7. Permintaan log
Pengguna admin dapat mengakses permintaan GDPR yang dikirimkan ke Dashboard Log.
Laporan permintaan akses dan portabilitas lengkap juga dapat didownload dari dashboard ini.
Untuk mengakses Log Dashboard:
- 1. Buka dashboard utama dan klik nama user anda.
- Klik Log dan jendela berikut dibuka:
8. Kode pengembalian API GDPR dan pesan kesalahan
Kode pengembalian HTTP API GDPR dan pesan kesalahan dirinci dalam sesi ini.
Kode pengembalian API GDPR
Kode pengembalian | Deskripsi |
---|---|
201 | Dibuat |
202 | Permintaan pembatalan diterima |
400 |
Bad request (permintaan bermasalah). Bodi berisi kode dan pesan kesalahan seperti yang tercantum pada tabel berikut. |
Kode pengembalian kode 400 - bad request
Pesan yang memiliki kode 400 berisi JSON dengan kode dan pesan kesalahan.
{ "error":
{ "code":400, "af_gdpr_code": "%AF error code%", "message":"%error message text%"
}
}
Pesan kode pengembalian 400 bad request
Kode Error |
Deskripsi (pesan) kesalahan |
---|---|
e111 | Melebihi batas nilai |
e211 | Tidak dapat membatalkan permintaan dengan status tidak valid |
e212 | Permintaan tidak diizinkan. Penghapusan sedang berlangsung untuk identifier (pengidentifikasi). |
e213 | Permintaan sudah ada |
e214 | Permintaan tidak ditemukan |
e311 | Jenis konten permintaan tidak valid |
e312 | Versi API tidak valid |
e313 | subject_request_id tidak valid |
e314 | submitted_time format tidak valid |
e315 | status_callback_url length tidak valid |
e316 | status_callback_url format tidak valid |
e317 | app_id format tidak valid |
e318 | identity_type tidak valid |
e319 | Platform aplikasi tidak sesuai dengan jenis identitas |
e320 | identity_type tidak valid |
e321 | Pengguna LAT tidak didukung via api |
e322 | subject_request_type tidak valid |
e323 | subject_identities format tidak valid |
e324 | subject_identities length tidak valid |
e325 | subject_identities value tidak valid |
e411 | AppID salah atau bukan milik akun Anda |
e412 | Tidak ada hak akses untuk membatalkan permintaan penghapusan |
e413 | Tidak ada hak akses untuk melihat permintaan |
e511 | Masalah internal, tunggu 60 menit lalu coba lagi. Jika masalah berlanjut, hubungi tim dukungan AppsFlyer. support@AppsFlyer.com |
Karakteristik dan batasan
- Batasan tarif: 80 permintaan GDPR setiap 2 menit di tingkat akun (setara dengan 2.400 permintaan per jam dan 57.600 per hari). Permintaan yang melebihi batas ini akan gagal.
- UI menampilkan hingga 200 permintaan yang dipilih secara acak.
- Memeriksa status permintaan lebih dari 60 hari yang lalu mengembalikan "permintaan tidak ditemukan".