ノードの操作
ノードの概要は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