GDPR APIリファレンス

GDPR リクエストをサポートするための Singular API の使用方法をご覧ください。

 

GDPRエンドポイント

エンドポイント メソッド URL 説明
Discovery GET https://gdpr.singular.net/gdpr/discovery SingularがGDPR APIを通じて処理できる、現在サポートされているすべてのリクエストタイプを返します。
Requests POST https://gdpr.singular.net/gdpr/requests このエンドポイントを使用して、要求されたデータ主体のデバイス ID を指定しながら HTTP POST リクエストで送信された新しい GDPR リクエストを送信します。
Status GET https://gdpr.singular.net/gdpr/requests/request_id リクエストIDによって識別される、以前に送信されたリクエストの現在のステータスを返します。
Cancellation DELETE https://gdpr.singular.net/gdpr/requests/request_id 以前のリクエストをキャンセルするには、このエンドポイントを使用します。これは、リクエストが "pending "ステータスにある限り可能です。

ディスカバリー・エンドポイント

GET https://gdpr.singular.net/api/gdpr/discovery

使用法

OpenGDPR Discovery エンドポイントは、Singular が GDPR API を通じて処理できる、現在サポートされているすべてのリクエストタイプを返します。

サンプルクエリ

import requests
  response = requests.get("https://gdpr.singular.net/api/gdpr/discovery")
  print(response.text)

サンプル出力

{
    "api_version": "0.1.4",
    "supported_identities": [
      {"identity_format": "raw","identity_type": "android_advertising_id"},
      {"identity_format": "raw","identity_type": "android_id"},
      {"identity_format": "raw","identity_type": "ios_advertising_id"},
      {"identity_format": "raw","identity_type": "ios_vendor_id"},
      {"identity_format": "raw","identity_type": "user_id"}
    ],
    "supported_subject_request_types": [
        "erasure",
        "access"
    ]
  }

リクエストエンドポイント

POST https://gdpr.singular.net/api/gdpr/requests

使用法

OpenGDPR Requests エンドポイントは、リクエストされたデータ主体のデバイス ID を指定しながら HTTP POST リクエストで送信された新しい GDPR リクエストを処理します。

サポートされるリクエスト

OpenGDPR Requests エンドポイントは、異なる GDPR の権利に対応する、以下のタイプのリクエストをサポートしています:

  • `erasure` - GDPRの第17条「消去する権利」の一部として、データ消去に対するユーザリクエストをサポートします。
  • `access` - GDPRの第15条「アクセスする権利」の一環として、データへのアクセスに関するユーザーリクエストをサポートします。

サポートされるID

OpenGDPR Requestsエンドポイントは、以下のタイプのIDをサポートしています:

  • `android_advertising_id` - GAIDまたはAIFAとしても知られるGoogle Advertising IDを提供することによって行われるリクエスト
  • `android_id` - ANDI とも呼ばれる Android ID を提供するリクエスト
  • `ios_advertising_id` - iOSのAdvertising IDであるIDFAを提供するリクエスト。 ゼロのIDFA("00000000-0000-0000-0000-00000000")を含む"limit-ad-trackingまたはATT AuthorizationStatusdenied "デバイスのリクエストは無視され、APIはエラーを返しません。
  • `ios_vendor_id` - ベンダー用の iOS ID である IDFV を指定したリクエスト
  • `user_id` - カスタムユーザIDを指定したリクエスト

サンプルクエリ

import requests
  
  url = "https://gdpr.singular.net/api/gdpr/requests"
  
  payload = {
    "subject_request_id": "1c8b23f4-12eb-4fe8-af1c-0f72807dfec2",
    "subject_request_type": "access",
    "submitted_time": "2018-05-25T10:00:00Z",
    "subject_identities": [
      {
        "identity_type": "android_advertising_id",
        "identity_value": "38400000-8cf0-11bd-b23e-10b96e40000d",
        "identity_format": "raw"
      }
    ],
    "property_id": "Android:com.myapp.xyz",
  }
  
  headers = {
    "content-type": "application/json",
    "Authorization": "[API_KEY]"
  }
  
  response = requests.post(url, json=payload, headers=headers)
  print(response.text)

クエリパラメータ

パラメータ 形式 説明
subject_request_id String UUIDv4 文字列  
subject_request_type String OpenGDPR Request のタイプを表す文字列。Singularは現在、以下の値をサポートしています:"消去"、"ポータビリティ"、"アクセス"  
subject_identities Array リクエストを満たす各Device IDのタイプ、値、フォーマットを記述したIDオブジェクトのリスト。リクエストには最大100個のデバイスIDを含めることができます。
[
  {
    "identity_type":
"android_advertising_id", "identity_value":
"38400-8cf0-11bd-b23e-1000d", "identity_format": "raw" } ]
submitted_time   データ対象者による最初のリクエストの時刻を表すRFC 3339の日付文字列。 2010-05-25T10:00:00Z
property_id String 関連するアプリを指定するための[プラットフォーム]:[ロングネーム]のペア。 iOS:com.myapp.xyz

サンプル出力

{
    "controller_id":"example_controller_id",
    "received_time":"2018-05-25T10:00:01Z",
    "expected_completion_time": "2018-06-24T10:00:01Z",
    "encoded_request":"<BASE64 ENCODED REQUEST>",
    "subject_request_id":"1c8b23f4-12eb-4fe8-af1c-0f72807dfec2",
    "results_url": "https://url-to-results-in-json-format",
    "api_version": "0.1.4"
  }

ステータス・エンドポイント

GET https://gdpr.singular.net/api/gdpr/requests/<REQUEST_ID>

使用法

リクエストIDによって識別される、以前に送信されたリクエストの現在のステータスを返します。

サンプルクエリ

import requests
  url = "https://gdpr.singular.net/api/gdpr/requests/"
  subject_request_id = "1c8b23f4-12eb-4fe8-af1c-0f72807dfec2"
  headers = {"Authorization": "<API KEY>"}
  response = requests.get(url+subject_request_id, headers=headers)
  print(response.text)

サンプル出力

{
      "controller_id": "example_controller_id",
      "request_status": "completed",
      "expected_completion_time": "2018-06-24T10:00:01Z",
      "subject_request_id": "1c8b23f4-12eb-4fe8-af1c-0f72807dfec2",
      "api_version": "0.1.4"
  }

キャンセルエンドポイント

DELETE https://gdpr.singular.net/gdpr/requests/<REQUEST_ID>

使用法

以前のリクエストをキャンセルするには、このエンドポイントを使用します。これは、リクエストが "pending" ステータスにある限り可能です。

サンプルクエリ

import requests
  url = "https://gdpr.singular.net/api/gdpr/requests/"
  subject_request_id = "1c8b23f4-12eb-4fe8-af1c-0f72807dfec2"
  headers = {"Authorization": "<API KEY>"}
  response = requests.delete(url+subject_request_id, headers=headers)
  print(response.text)

サンプル出力

{
    "controller_id":"example_controller_id",
    "subject_request_id":"1c8b23f4-12eb-4fe8-af1c-0f72807dfec2",
    "received_time":"2018-05-25T10:00:01Z",
    "api_version":"0.1"
  }