更新なければ作成
ノードの持つIDの更新を行います。 条件に合致するIDが存在しなかった場合、新しくIDを追加します。
POST /v1/{CUSTOMER_ID}/node/_upsert
リクエストヘッダ
keyもしくはidsにsecure:trueの属性を持つIDタイプが含まれている場合、認証が必要になります。
コンテンツタイプ
- Content-Type: application/json
リクエストボディ
{
"schema": string,
"key": {
"type": string,
"id": string
},
"set": {
"type": string,
"id": string
},
"where": {
"type": string,
"id": string
}
}
キー名 | タイプ | 必須 | 説明 |
---|---|---|---|
schema | STRING | ◯ | 対象ノードが所属しているスキーマ。 |
key | OBJECT | ◯ | 対象ノードを特定するためのIDタイプとIDの組み合わせ。 |
key.type | STRING | ◯ | 対象ノードを特定するためのIDタイプ。スキーマのIDタイプと一致する必要があります。 |
key.id | STRING | ◯ | 対象ノードを識別するためのID。 |
set | OBJECT | ◯ | 更新後のIDタイプとIDの組み合わせ。 |
set.type | STRING | ◯ | 更新後のIDタイプ。 |
set.id | STRING | ◯ | 更新後のID。 |
where | OBJECT | ◯ | 更新対象のIDタイプとIDの組み合わせ。 |
where.type | STRING | ◯ | 更新対象のIDタイプ。 |
where.id | STRING | 更新対象のID。 |
リクエストサンプル
curl -X POST -H "Content-type: application/json" https://{HOST_NAME}/v1/{CUSTOMER_ID}/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 {}