> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# クラスターモードでのローカル OpenAPI アクセス

> YiDA専用クラスター環境でOpenAPIを呼び出す方法を解説。ドメイン取得、AK/SK設定、access_tokenを使ったAPI呼び出しの手順に加え、DingTalk Open Platformとクラスター版OpenAPIの主な差異やSDK設定まで、開発者向けに詳しく紹介します。

専用クラスター環境のアプリデータはプライベート環境に保存されており、パブリックネットワークからアクセスできません。そのため、DingTalk Open Platform 上の YiDA OpenAPI ではこれらのデータを取得できません。クラスター環境内で OpenAPI を呼び出す必要があります。クラスター環境の OpenAPI は基本的に DingTalk Open Platform と同じで、ホストと必要な AK/SK のみが異なります。

本記事では、YiDA専用版クラスター環境で YiDA OpenAPI を呼び出す方法について説明します。

<Note>
  注意:

  YiDA専用版は現在、高頻度で利用されるデータサービス API を公開しています。2023年12月31日時点で DingTalk Open Platform 上で利用可能な YiDA API 機能に基づき、合計 52 個の OpenAPI が利用可能です。
</Note>

## 呼び出しフロー

クラスター環境における YiDA API の呼び出しは、DingTalk Open Platform と類似しています。DingTalk Open Platform 上のすべての関連 OpenAPI は api.dingtalk.com 経由で呼び出されます。クラスター版 OpenAPI の場合は、api.dingtalk.com を組織のクラスター版 YiDA ドメインに置き換えるだけです。

1. 社内の YiDA専用版クラスターのドメイン（例: ddyd.corp.com）を取得します。
2. 社内のクラスター版の AK と SK を取得します。

<Note>
  社内の DingTalk 管理者にお問い合わせください。DingTalk Open Platform にログインし、社内アプリの中から「YiDA Dedicated Cluster」を検索し、**YiDA Dedicated Cluster Authentication App** という名前のアプリから関連情報を取得します。
</Note>

<Steps>
  <Step title="ステップ 1">
    前の手順で取得した AK/SK を使用して /v1.0/oauth2/accessToken エンドポイントを呼び出し、アプリの access\_token を取得します。リクエストパラメータについては、社内アプリの access\_token を取得する方法を参照してください。

    <Warning>
      Open Platform では、呼び出しは [https://api.dingtalk.com/v1.0/oauth2/accessToken](https://api.dingtalk.com/v1.0/oauth2/accessToken) となります。

      社内の YiDA ドメインが [https://your-org-private-yida-domain.com](https://your-org-private-yida-domain.com) であると仮定すると、クラスター版の呼び出しは次のようになります:

      [https://your-org-private-yida-domain.com/v1.0/oauth2/accessToken](https://your-org-private-yida-domain.com/v1.0/oauth2/accessToken)

      access\_token はデフォルトで 2 時間有効です。
    </Warning>
  </Step>

  <Step title="access_token を使用して YiDA API を呼び出す" />
</Steps>

DingTalk Open Platform は、開発者向けに Java、PHP、Python、.NET の SDK を提供しています。クラスター版 OpenAPI も同様の呼び出しをサポートしています。

<Note>
  社内アプリとサードパーティ社内アプリは同じサーバーサイド SDK を共有しています。以下のいずれかのリンクをクリックしてダウンロードしてください。

  * 社内アプリ: サーバーサイド SDK をダウンロードします。
  * サードパーティ社内アプリ: サーバーサイド SDK をダウンロードします。
</Note>

5. DingTalk Open Platform SDK を使用している場合は、次の変更を適用します。

変更 1: ドメインが http を使用する場合、config.protocol = "http" を設定します。

変更 2: client.\_endpoint に社内の実際の YiDA ドメインを明示的に設定します。

```java theme={"theme":{"light":"github-light","dark":"github-dark"}}
private static com.aliyun.dingtalkyida_2_0.Client createOpenApiClient() {
        Config config = new Config();
        config.regionId = "central";
        config.protocol = "http";
        config.connectTimeout = 60 * 1000;
        config.readTimeout = 60 * 1000;
        try {
            com.aliyun.dingtalkyida_2_0.Client client = new com.aliyun.dingtalkyida_2_0.Client(config);
          client._endpoint =  "your-org-private-yida-domain.com";
            return client;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
```

## クラスター API 一覧

YiDA は豊富な API 機能を提供しており、開発者は YiDA を企業の業務システムと統合できます。現在、API は主にフォーム、作業フロー、アプリ向けに公開されています。

<table>
  <tr>
    <td>モジュール</td>
    <td>標準サーバー API</td>
    <td>説明</td>
  </tr>

  <tr>
    <td rowSpan={7}>作業フロー</td>
    <td>YiDA 承認フローを開始する</td>
    <td>DingTalk Open Platform 上で YiDA 承認フローを開始します。</td>
  </tr>

  <tr>
    <td>ワークフローインスタンスを削除する</td>
    <td>ワークフローインスタンスを削除します。</td>
  </tr>

  <tr>
    <td>ワークフローインスタンスを終了する</td>
    <td>ワークフローインスタンスを終了します。</td>
  </tr>

  <tr>
    <td>インスタンス ID の一覧を取得する</td>
    <td>インスタンス ID の一覧を取得します。</td>
  </tr>

  <tr>
    <td>複数のワークフローインスタンスを一括取得する</td>
    <td>ID を指定して複数のワークフローインスタンスの詳細を一括取得します。</td>
  </tr>

  <tr>
    <td>ワークフローインスタンスを取得する</td>
    <td>YiDA からワークフローインスタンス情報を取得します。</td>
  </tr>

  <tr>
    <td>ID でワークフローインスタンスを取得する</td>
    <td>ID を指定してワークフローインスタンスの詳細を取得します。</td>
  </tr>

  <tr>
    <td rowSpan={20}>フォーム</td>
    <td>指定したアプリのフォーム一覧を取得する</td>
    <td>アプリのフォーム一覧をページングで取得します。</td>
  </tr>

  <tr>
    <td>フォーム内のコンポーネント情報を取得する</td>
    <td>フォーム ID を指定して、フォームまたはワークフローフォーム内のコンポーネント情報を取得します。</td>
  </tr>

  <tr>
    <td>フォームインスタンスデータを検索する</td>
    <td>フォームインスタンスデータを検索します。</td>
  </tr>

  <tr>
    <td>フォームデータを保存する</td>
    <td>承認フローなしで YiDA フォームインスタンスを作成します。</td>
  </tr>

  <tr>
    <td>フォームデータを更新する</td>
    <td>フォームデータを更新します。</td>
  </tr>

  <tr>
    <td>フォームデータを検索する</td>
    <td>フォームインスタンス ID を指定してフォームデータを検索します。</td>
  </tr>

  <tr>
    <td>社員コンポーネントの値を取得する</td>
    <td>社員コンポーネントの値を取得します。</td>
  </tr>

  <tr>
    <td>フォームコンポーネント定義の一覧を取得する</td>
    <td>フォームコンポーネント定義の一覧を取得します。</td>
  </tr>

  <tr>
    <td>サブフォームコンポーネントのデータを取得する</td>
    <td>フォームインスタンス ID とサブフォームコンポーネント ID を指定して、サブフォームコンポーネントのデータを取得します。</td>
  </tr>

  <tr>
    <td>フォームデータを削除する</td>
    <td>フォームデータを削除します。</td>
  </tr>

  <tr>
    <td>複数のフォームインスタンス ID を取得する</td>
    <td>複数のフォームインスタンス ID を取得します。</td>
  </tr>

  <tr>
    <td>複数のフォームインスタンスを一括取得する</td>
    <td>複数のフォームインスタンスの詳細を一括取得します。</td>
  </tr>

  <tr>
    <td>複数のフォームインスタンスを一括削除する</td>
    <td>複数のフォームインスタンスレコードを一括削除します。</td>
  </tr>

  <tr>
    <td>複数のフォームインスタンスを一括作成する</td>
    <td>複数のフォームインスタンスレコードを一括作成します。</td>
  </tr>

  <tr>
    <td>フォームインスタンス内のコンポーネント値を一括更新する</td>
    <td>フォームインスタンス ID を指定して、YiDA フォームインスタンス内のコンポーネント値を一括更新します。</td>
  </tr>

  <tr>
    <td>フォームインスタンスを作成または更新する</td>
    <td>フィルターを使用してフォームインスタンスを作成または更新します。</td>
  </tr>

  <tr>
    <td>高度な検索条件でフォームインスタンスデータを検索する（サブフォームコンポーネントデータを含む）</td>
    <td>フィルターを使用してフォームインスタンスの詳細を取得します。</td>
  </tr>

  <tr>
    <td>高度な検索条件でフォームインスタンスデータを検索する（サブフォームコンポーネントデータを除く）</td>
    <td>フィルターを使用してフォームインスタンスの詳細を取得します（サブフォームコンポーネントのデータを除く）。</td>
  </tr>

  <tr>
    <td>フォームインスタンスデータでフォームインスタンスを一括更新する</td>
    <td>YiDA フォームコンポーネントのデータを使用して、フォームインスタンス情報を一括更新します。</td>
  </tr>

  <tr>
    <td>フォームの変更履歴を検索する</td>
    <td>フォームの変更履歴を検索します。</td>
  </tr>

  <tr>
    <td rowSpan={5}>承認タスク</td>
    <td>承認履歴を取得する</td>
    <td>承認履歴を取得します。</td>
  </tr>

  <tr>
    <td>YiDA 承認タスクを承認または却下する</td>
    <td>YiDA 承認タスクを承認または却下します。</td>
  </tr>

  <tr>
    <td>タスクを転送する</td>
    <td>タスクを転送します。</td>
  </tr>

  <tr>
    <td>コメントを送信する</td>
    <td>フォームまたはワークフローインスタンスにコメントを送信します。</td>
  </tr>

  <tr>
    <td>YiDA フォームインスタンスのコメントを一括検索する</td>
    <td>YiDA フォームのすべてのコメントを一括検索します。</td>
  </tr>

  <tr>
    <td>アプリ</td>
    <td>YiDA アプリ一覧を検索する</td>
    <td>社内の YiDA アプリ一覧を検索します。</td>
  </tr>
</table>
