更新なければ作成
ノードの持つ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 {}