--- title: API概要 info: 4つの異なるAPIを理解し、それぞれを使用するタイミングを知る。 image: /images/user-guide/api/api-overview.png sectionInfo: Twentyを他のツールに接続する方法を学ぶ。 --- Header Twentyは開発者に優しい設計で、強力なAPIを提供し、カスタムデータモデルに適応します。 異なる統合ニーズに対応する4つの異なるAPIタイプを提供します。 異なる統合ニーズに対応する4つの異なるAPIタイプを提供します。 ## 開発者優先アプローチ Twentyは、あなたのデータモデルに特化したAPIを生成します。これはつまり: - **長いIDが不要**:オブジェクトとフィールド名をエンドポイントに直接使用 - **標準とカスタムオブジェクトを同等に扱う**:カスタムオブジェクトも組み込みのものと同じAPI処理を受ける - **専用エンドポイント**:各オブジェクトとフィールドに固有のAPIエンドポイントが設けられる - **カスタムドキュメント**:ワークスペースのデータモデルに特化して生成 Your custom API generates personalized documentation accessible via Settings → API & Webhooks after creating an API key. このドキュメントは、正確なデータモデルとフィールド設定を反映しています。 ## 4つのAPIタイプ Twentyは、**REST**および**GraphQL**形式のAPIを提供しています。 ### REST APIs #### 1. REST Metadata API - **目的**:ワークスペースとデータモデルの構造を管理 - **ユースケース**: - オブジェクトやフィールドの作成、変更、削除 - ワークスペース設定の構成 - データモデルの関係管理 - **アクセス**:RESTエンドポイントを通じて利用可能 #### 2. REST Core API - **目的**:実際のデータレコードを管理 - **ユースケース**: - 記録の作成、読み取り、更新、削除 - 特定のデータのクエリ - レコードの関係管理 - **アクセス**:RESTエンドポイントを通じて利用可能 ### GraphQL APIs #### 3. GraphQL Metadata API - **目的**:RESTメタデータAPIと同じですが、GraphQLの利点付き - **ユースケース**:同じワークスペースとデータモデル管理 - **追加の利点**: - 複数のメタデータタイプを1つのリクエストでクエリ - 正確なフィールド選択 - 複雑なクエリの性能向上 #### 4. GraphQL Core API - **目的**:RESTコアAPIと同じですが、GraphQLの利点付き - **ユースケース**:同じデータレコード管理 - **追加の利点**: - **バッチ操作**:全ての操作で利用可能 - **アップサート操作**:一度の呼び出しで記録を作成または更新 - リレーションシップを1つのリクエストでクエリ - 正確なデータフェッチ ## バッチ操作 ### RESTとGraphQLのバッチサポート RESTとGraphQL APIの両方が、ほとんどの操作でバッチ操作をサポートしています: - **バッチサイズ**:リクエストあたり最大60記録 - **利用可能な操作**:複数の記録を作成、更新、削除 - **性能**:個々のAPI呼び出しよりもはるかに速い ### GraphQLのみの機能 - **バッチアップサート**:GraphQL APIでのみ利用可能 - **使用法**:複数形のオブジェクト名を使用(例:`CreateCompanies`ではなく`CreateCompany`) - **要件**:このため、単数形と複数形のオブジェクト名は区別する必要があります ## APIドキュメントへのアクセス 1. Go to **Settings → API & Webhooks** 2. APIキーを作成する(ドキュメントアクセスに必要) 3. カスタムドキュメントとプレイグラウンドにアクセス 4. 実際のデータモデルでAPIをテスト あなたのドキュメントは、カスタムオブジェクト、フィールド、およびリレーションシップを反映しているため、ワークスペース固有です。 ## 各APIの使用タイミング ### メタデータAPIを使用するとき: - データモデルを設定するとき - カスタムオブジェクトやフィールドを作成するとき - ワークスペース設定を構成するとき ### コアAPIを使用するとき: - 日常業務のデータ(人、会社、機会)を管理するとき - 外部システムと統合するとき - カスタムアプリケーションを構築するとき - データワークフローを自動化するとき ### GraphQLを選ぶとき: - バッチ操作が必要なとき - API呼び出しを最小限にしたいとき - アップサート機能が必要なとき - 複雑な統合を作成しているとき ### RESTを選ぶとき: - より簡素なAPI構造を好むとき - 基本的な統合を構築するとき - チームがRESTに慣れているとき - 単純なCRUD操作が必要なとき ## 次のステップ - **[API & Webhooks設定](/l/ja/user-guide/integrations-api/api-webhooks)**:APIキーとWebhooksの作成方法を学ぶ - **カスタムドキュメント**:設定 → API & Webhooksで個別APIドキュメントにアクセス