コンテンツにスキップ

ノードの操作

ノードの概要はIDLink APIの概要をご参照ください。

作成

ノードの新規作成を行います。既に存在する場合はエラーが返ります。

POST /v1/{customer_id}/node/_create

リクエストヘッダ

keyもしくはidsにsecure:trueの属性を持つIDタイプが含まれている場合、認証が必要になります。

リクエストボディ

{
    "schema": "{SCHEMA}",
    "key": {
        "type": "{TYPE}",
        "id": "{ID}"
    },
    "ids": [
        {"type": "{TYPE}", "id": "{ID}"}
    ]
}
キー名 タイプ 必須 説明
schema STRING 必須 作成するノードを所属させるスキーマID。
key OBJECT 必須 スキーマ内のノードを識別するためのIDタイプと値の組み合わせ。
key.type STRING 必須 スキーマ内のノードを識別するためのIDタイプ。スキーマのIDタイプと一致する必要があります。
key.id STRING 必須 スキーマ内のノードを識別するためのID。
ids ARRAY[OBJECT] - 作成するノードに含めるIDタイプと値の組み合わせ。
ids.type STRING - 作成するノードに含めるIDタイプ。
ids.id STRING - 作成するノードに含めるID。

リクエストサンプル

curl -X POST https://${HostName}/v1/${CustomerId}/node/_create \
-d '{"schema": "popinfo_app", "key": {"type": "popinfo_id", "id": "00000000-0000-0000-0000-000000000000"}, "ids": [{"type": "member_id", "id": "user_001"}]}'

レスポンス

HTTP/1.1 201 {}

IDの追加

作成済みのノードにIDを追加します。
指定したタイプのノードが存在しなければエラーを返します。
また追加予定のIDが既に存在する場合もエラーを返します。

POST /v1/{customer_id}/node/_insert

リクエストヘッダ

keyもしくはidsにsecure:trueの属性を持つIDタイプが含まれている場合、認証が必要になります。

リクエストボディ

{
    "schema": "{SCHEMA}",
    "key": {
        "type": "{TYPE}",
        "id": "{ID}"
    },
    "ids": [
        {"type": "{TYPE}", "id": "{ID}"}
    ]
}
キー名 タイプ 必須 説明
schema STRING 必須 対象ノードが所属しているスキーマID。
key OBJECT 必須 対象ノードを特定するためのIDタイプと値の組み合わせ。
key.type STRING 必須 対象ノードを特定するためのIDタイプ。スキーマのIDタイプと一致する必要があります。
key.id STRING 必須 対象ノードを識別するためのIDの値。
ids ARRAY[OBJECT] 必須 追加するIDタイプと値の組み合わせ。
ids.type STRING 必須 追加するIDタイプ。
ids.id STRING 必須 追加するID。

リクエストサンプル

curl -X POST https://${HostName}/v1/${CustomerId}/node/_insert \
-d '{"schema": "popinfo_app", "key": {"type": "popinfo_id", "id": "00000000-0000-0000-0000-000000000000"}, "ids": [{"type": "ad_id", "id": "11111111-1111-1111-1111-111111111111"}]}'

レスポンス

HTTP/1.1 201 {}

更新

ノードの持つIDの更新を行います。 条件に合致するIDが存在しなかった場合、登録は行われません。

POST /v1/{customer_id}/node/_update

Info

条件に合致するIDが存在しなかった時に新規で登録が必要な場合は、更新または作成をご利用ください

リクエストヘッダ

keyもしくはidsにsecure:trueの属性を持つIDタイプが含まれている場合、認証が必要になります。

リクエストボディ

{
    "schema": "{SCHEMA}",
    "key": {
        "type": "{TYPE}",
        "id": "{ID}"
    },
    "set": {
       "type": "{TYPE}",
       "id": "{ID}"
    },
    "where": {
        "type": "{TYPE}",
        "id": "{ID}"
    }
}
キー名 タイプ 必須 説明
schema STRING 必須 対象ノードが所属しているスキーマID。
key OBJECT 必須 対象ノードを特定するためのIDタイプと値の組み合わせ。
key.type STRING 必須 対象ノードを特定するためのIDタイプ。スキーマのIDタイプと一致する必要があります。
key.id STRING 必須 対象ノードを識別するためのIDの値。
set OBJECT 必須 更新後のIDタイプと値の組み合わせ。
ids.type STRING 必須 更新後のIDタイプ。
ids.id STRING 必須 更新後のID。
where OBJECT 必須 更新対象のIDタイプと値の組み合わせ。
ids.type STRING - 更新対象のIDタイプ。
ids.id STRING - 更新対象のID。

リクエストサンプル

curl -X POST https://${HostName}/v1/${CustomerId}/node/_update \
-d '{"schema": "popinfo_app", "key": {"type": "popinfo_id", "id": "00000000-0000-0000-0000-000000000000"}, "set": {"type": "ad_id", "id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"}, "where": {"type": "ad_id", "id": "11111111-1111-1111-1111-111111111111"}}'

レスポンス

HTTP/1.1 200 {}

更新なければ作成

ノードの持つIDの更新を行います。
条件に合致するIDが存在しなかった場合、新しくIDを追加します。

POST /v1/{customer_id}/node/_upsert

リクエストヘッダ

keyもしくはidsにsecure:trueの属性を持つIDタイプが含まれている場合、認証が必要になります。

リクエストボディ

{
    "schema": "{SCHEMA}",
    "key": {
        "type": "{TYPE}",
        "id": "{ID}"
    },
    "set": {
       "type": "{TYPE}",
       "id": "{ID}"
    },
    "where": {
        "type": "{TYPE}",
        "id": "{ID}"
    }
}
キー名 タイプ 必須 説明
schema STRING 必須 対象ノードが所属しているスキーマID。
key OBJECT 必須 対象ノードを特定するためのIDタイプと値の組み合わせ。
key.type STRING 必須 対象ノードを特定するためのIDタイプ。スキーマのIDタイプと一致する必要があります。
key.id STRING 必須 対象ノードを識別するためのIDの値。
set OBJECT 必須 変更後のIDタイプと値の組み合わせ。
ids.type STRING 必須 変更後のIDタイプ。
ids.id STRING 必須 変更後のID。
where OBJECT 必須 変更対象のIDタイプと値の組み合わせ。
ids.type STRING - 変更対象のIDタイプ。
ids.id STRING - 変更対象のID。

リクエストサンプル

curl -X POST https://${HostName}/v1/${CustomerId}/node/_upsert \
-d '{"schema": "popinfo_app", "key": {"type": "popinfo_id", "id": "00000000-0000-0000-0000-000000000000"}, "set": {"type": "ad_id", "id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"}, "where": {"type": "ad_id", "id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"}}'

レスポンス

HTTP/1.1 200 {}

キーの再設定

ノードの識別に使われるキーの再設定を行います。

POST /v1/{customer_id}/node/_rekeying

リクエストヘッダ

keyがsecure:trueの属性を持つIDタイプの場合、認証が必要になります。

リクエストボディ

{
    "schema": "{SCHEMA}",
    "key": {
        "type": "{TYPE}",
        "id": "{ID}"
    },
    "set": {
        "id": "{ID}"
    },
}
キー名 タイプ 必須 説明
schema STRING 必須 対象ノードが所属しているスキーマID。
key OBJECT 必須 対象ノードを識別するためのIDタイプと値の組み合わせ。
key.type STRING 必須 対象ノードを識別するためのIDタイプ。スキーマのIDタイプと一致する必要があります。
key.id STRING 必須 対象ノードを識別するためのID。
set OBJECT 必須 変更後のID情報。
set.id STRING 必須 変更後のID。

リクエストサンプル

curl -X POST https://${HostName}/v1/${CustomerId}/node/_rekeying \
-d '{"schema": "popinfo_app", "key": {"type": "popinfo_id", "id": "00000000-0000-0000-0000-000000000000"}, "set": {"id": "11111111-1111-1111-1111-111111111111"}}'

レスポンス

HTTP/1.1 200 {}

削除

ノード内のID、もしくはノード自体の削除を行います。
ノードからwhereで指定した条件のIDを削除します。
whereが指定されなかった場合はノード自体を削除します。

POST /v1/{customer_id}/node/_delete

リクエストヘッダ

keyもしくはidsにsecure:trueの属性を持つIDタイプが含まれている場合、認証が必要になります。

リクエスト

{
    "schema": "{SCHEMA}",
    "key": {
        "type": "{TYPE}",
        "id": "{ID}"
    },
    "where": {
        "type": "{TYPE}",
        "id": "{ID}"
    }
}
キー名 タイプ 必須 説明
schema STRING 必須 対象ノードが所属しているスキーマID。
key OBJECT 必須 対象ノードを特定するためのIDタイプと値の組み合わせ。
key.type STRING 必須 対象ノードを特定するためのIDタイプ。スキーマのIDタイプと一致する必要があります。
key.id STRING 必須 対象ノードを識別するためのIDの値。
where OBJECT - IDを削除する場合、削除対象のIDタイプをIDを指定します。
ids.type STRING - 削除するIDタイプ。
ids.id STRING - 削除するID。

リクエストサンプル

ノードの削除を行う場合

curl -X POST https://${HostName}/v1/${CustomerId}/node/_delete \
-d '{"schema": "popinfo_app", "key": {"type": "popinfo_id", "id": "00000000-0000-0000-0000-000000000000"}}'

ノード内の特定のIDの削除を行う場合

curl -X POST https://${HostName}/v1/${CustomerId}/node/_delete \
-d '{"schema": "popinfo_app", "key": {"type": "popinfo_id", "id": "00000000-0000-0000-0000-000000000000"}, "where": {"type": "ad_id", "id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"}}'

レスポンス

HTTP/1.1 204