1. REST API

実体

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

システム内の各エンティティは、エンティティリソースによって表されます。このリソースは、エンティティの状態の取得、エンティティの作成、更新、削除に使用できます。

メモ

エンティティAPIは、Try it機能を含むインタラクティブコンソールで使用でき、OpenAPI定義ファイルをダウンロードできます。

次の追加方法がサポートされています。

POST /api/entities/{entityId}/copy

id=entityIdを持つエンティティをターゲットエンティティにコピーします。ターゲット エンティティは、新しいエンティティまたは既存のエンティティにすることができます。

要求の一般的な本文構造は次のとおりです。

{
  // Identifier of a copy profile that could be used for copying of an entity
  "copy_profile_identifier": string 

  // Id of an entity that will be updated by copying values from an original entity
  "copy_profile_id": long? 

  // Id of an entity that will be updated by copying values from an original entity
  "destination_entity_id": long? 

  // Relations copy options 
  "relation_copy_options": 
  [
    {
      // Relation name
      "relation": string 

      // Copy method
      "method": string 

      // Copy settings of related entities (the entire general structure)
      "related_copy_options": {} 
    }
  ]

  // Properties copy options: an array of properties configurations
  "property_copy_options": 
  [
    {
      // Property name
      "property": string 

      // Copy method
      "method": string

      // New property value
      "new_value": string 
    }
  ]
}
大事な
  • すべてのパラメータはオプションです。

  • コピープロファイルのIDとIDの両方を指定すると、後者のみが考慮されます。

  • プロパティまたはリレーションのコピープロパティを指定する場合、コピープロファイルのIDと識別子は考慮されません。

使用可能なリレーションのコピー方法は次のとおりです。

  • Keep - 同じ関連付けられたエンティティへの参照を作成します(同じIDを保持します)。

  • Remove - 空のリレーションを作成します(すべてのIDを削除します)。

  • Copy - 関連付けられたエンティティのコピーへの参照を作成します(関連するエンティティをコピーしてリンクします)。

  • Overwrite - すべての参照を新しい参照に置き換えます(新しいIDを設定します)。

  • Append - 既存の参照を保持したまま新しい参照を追加します(既存のIDに新しいIDを追加します)。

  • Ignore - リレーションをスキップし、宛先エンティティの元の値を保持します(ターゲットエンティティが新しいエンティティの場合、値はnullです)。

使用可能なプロパティのコピー方法は次のとおりです。

  • Keep - ソースエンティティの値をターゲットエンティティに適用します(デフォルトの方法)

  • Remove - Targetプロパティ値をnullに設定します。

  • Overwrite - ターゲット プロパティの値を新しい値で上書きします。

  • Ignore - ソース エンティティの値を無視し、ターゲット エンティティの値を保持します。

次の例は、さまざまなコピー要求を示しています。リクエストの構造は同じで、JSONペイロードのみが変更されます。

POST http://<HOSTNAME>/api/entities/{entityId}/copy
Host: hostname
Content-Type: application/json

実施例1

{
  "property_copy_options": [
    {
      "property": "BlockName",
      "method": "Overwrite",
      "new_value": "Block A"
    }
  ],
  "relation_copy_options": [
    {
      "relation": "BlockToTask",
      "method": "Copy",
      "related_copy_options": {
        "property_copy_options": [
          {
            "property": "DoneDate",
            "method": "Remove"
          }
        ],
        "relation_copy_options": [
          {
            "relation": "TaskToAssetDeliverables",
            "method": "Remove"
          }
        ]
      }
    }
  ]
}

実施例2

{
  "copy_profile_id": 777,
  "destination_entity_id": 12345
}

実施例3

{
  "copy_profile_identifier": "M.EntityCopyProfile.SomeProfile"
}
この記事を改善するための提案がある場合は、 お知らせください!