最終更新日: 2025年9月11日
以下では、開発者プラットフォームのアプリ機能に関するリファレンス情報(設定ファイルの定義、スコープの詳細など)を紹介します。
プロジェクトの構成
- 全てのプロジェクトコンポーネントは、最上位レベルの
hsproject.json
設定ファイルで指定されたsrc
ディレクトリー内に配置される必要があります。 - アプリの全ての機能とコンポーネントは
src/app/
ディレクトリー内に配置される必要があります。このapp/
ディレクトリー内に、アプリでサポートする予定の機能ごとのサブディレクトリーを次のように定義します。- アプリイベントは
app-events/
内で設定されます。 - アプリオブジェクトは
app-objects/
内で定義されます。 - 全てのカード機能は
cards/
内で定義されます。 - 設定ページ機能は
settings/
内で定義されます。 - テレメトリーは
telemetry/
内で設定されます。 - Webhook配信登録は
webhooks/
内で定義されます。 - カスタム ワークフロー アクションは
workflow-actions/
内で定義されます。
- アプリイベントは
- 各機能のサブディレクトリー内で、
*-hsmeta.json
ファイルを使用して機能を設定します。ファイル名の前に、そのアプリを記述する名前(例:my-app-hsmeta.json
)を付けることができます。ただし、ファイルの末尾は-hsmeta.json
である必要があります。これらのファイルは、該当するフォルダーのルートレベルに配置されている必要があります(例:app/my-app-hsmeta.json
、cards/my-card-hsmeta.json
)。
app-hsmeta.json
ファイルの設定について、詳しくは下記のアプリ スキーマ セクションを参照してください。アプリの機能を追加する準備ができたら、アプリ機能の追加セクションをご覧ください。
GitHubでサンプルを表示
*-hsmeta.json
設定ファイル内の各プロパティーの型検証を行うことができます。
UIDを指定する
uid
フィールドは、特定のアプリ内部で一意の識別子です。また、これはプロジェクト全体で重複しないラベルにする必要があります。アプリ機能ごとに、それぞれの*-hsmeta.json
ファイル内に独自のuid
が定義されます。これは、アプリのapp-hsmeta.json
ファイルで選択する最上位レベルuid
とは区別される必要があります。
アプリスキーマ
アプリの最上位レベルの設定は、app
ディレクトリー内のapp-hsmeta.json
設定ファイルの中で指定されます。
app-hsmeta.json
で使用できる設定オプションを以下に示します。
GitHubでサンプルを表示
*でマークされたフィールドは必須です。
フィールド | 型 | 説明 |
---|---|---|
uid * | 文字列 | アプリの内部固有ID。プロジェクト全体で重複しないラベルにする必要があります。最大64文字の任意の文字列を指定できます。大文字または小文字を使用できます。数字、アンダースコア(_ )、ダッシュ(- )、ピリオド(. )を含めることができます。 |
type * | 文字列 | コンポーネントのタイプ。親フォルダーの名前(app )に一致している必要があります。 |
description * | 文字列 | インストールを実行するユーザーに対するアプリの動作の説明。最大8192文字の任意の文字列を指定できます。 |
name * | 文字列 | HubSpotに表示されるアプリの名前。最大200文字までの任意の文字列を指定できます。先頭や末尾を空白文字にすることはできません。 |
distribution * | 文字列 | アプリの配布方法。次のいずれかに設定できます。
詳しくは、下記の配布のセクションをご覧ください。 |
auth * | オブジェクト | アプリの認証方法の詳細を含むオブジェクト。詳しくは、下記の認証のセクションをご覧ください。 |
permittedUrls | オブジェクト | アプリが呼び出すことができるURLを含む配列。URLではHTTPSスキームを使用する必要があります。また、URLにはオーソリティー、とその後に(必要に応じて)オプションのパスプレフィックスを含める必要があります。 |
supportEmail | 文字列 | ユーザーがサポートを受けるために連絡できる有効なEメールアドレス。 |
documentationUrl | 文字列 | ユーザーがサポートドキュメントを参照するためにアクセスできる外部URL。HTTPSを使用する必要があります。 |
supportUrl | 文字列 | ユーザーが追加のサポートを受けるためにアクセスできる外部URL。HTTPSを使用する必要があります。 |
supportPhone | 文字列 | ユーザーがサポートを受けるために連絡できる電話番号。プラス記号(+ )で始まる必要があります。 |
配布
アプリスキーマのdistribution
フィールドを使用すると、アプリの配布方法を次のように設定できます。
- HubSpotアプリマーケットプレイスにアプリを掲載する予定の場合は、
distribution
フィールドを"marketplace"
に設定します。このオプションのアプリスキーマの例については、こちらをご覧ください。このオプションを選択する場合は、下記の認証セクションで詳しく説明されているように、auth
プロパティー内のtype
を必ずoauth
に設定してください。 - 許可リストに含まれる特定のアカウントセットにアプリのインストールを許可する場合、またはインストールを一度に1つのアカウントに制限する場合には、
distribution
を"private"
に設定します。auth
プロパティー内のtype
を、次のように適切に設定してください。- プロジェクト設定で構成した許可リストに基づき複数のアカウントにアプリをインストールするには、認証の
type
をoauth
に設定します。このオプションのアプリスキーマの例については、こちらを参照してください。 - インストールを1つのアカウント(開発に使用するのと同じアカウント、またはインストールするユーザーがアクセスできる別のアカウント)に制限するには、認証の
type
をstatic
に設定します。静的認証のアプリスキーマの例については、こちらを参照してください。
- プロジェクト設定で構成した許可リストに基づき複数のアカウントにアプリをインストールするには、認証の
認証
アプリの認証を設定するには、アプリスキーマのauth
プロパティーを使用します。アプリのスコープ要件、リダイレクトURL、認証タイプを指定できます。
*でマークされたフィールドは必須です。
フィールド | 型 | 説明 |
---|---|---|
type * | 文字列 | 認証タイプ。次のいずれかに設定できます。
|
redirectUrls * | 配列 | OAuthプロセスで再ルーティング先として許可されるURLのリスト。各アプリには少なくとも1つの認証リダイレクトURLが必要であり、このURLではHTTPSを使用する必要があります。唯一の例外として、テスト目的の場合はhttp://localhost を使用できます。 |
requiredScopes * | 配列 | アプリの必須スコープのリスト。各アプリには少なくとも1つのスコープが含まれる必要があります。アプリを正常にインストールするには、インストールを行うユーザーがこれらのスコープを付与する必要があります。スコープの詳細については、以下の説明をご確認ください。 |
optionalScopes | 配列 | アプリの任意のスコープのリスト。アプリをインストールするアカウントまたはユーザーに適切な権限がない場合は、インストール時にこれらのスコープを認証から除外できます。その場合、作成されるリフレッシュトークンやアクセストークンにはスコープが含まれません。スコープの詳細については、以下の説明をご確認ください。 |
conditionallyRequiredScopes | 配列 | インストールURLのscope クエリーパラメーターに含まれている場合にのみ必須であるスコープのリスト。スコープの詳細については、以下の説明をご確認ください。 |
スコープ
アプリ設定ファイルのauth
フィールドでは、必須スコープ、条件次第で必須となるスコープ、任意のスコープという3種類のスコープを指定できます。
関連付けられたCRMオブジェクトタイプに顧客がアクセスできるようにするには、少なくともread
スコープをアプリに含める必要があります。
アプリ機能を追加する
Webhook配信登録、カスタム ワークフロー アクション、アプリカードなどのアプリ機能を設定するには、下記のガイドを参照して、関連する*-hsmeta.json
ファイルをプロジェクトに追加する方法を詳しくご確認ください。