> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ビジネス向け API 統合

> ユーザーがソーシャルメディアアカウントを接続できるようにする

Business プランまたは [Launch プラン](/multiple-users/business-launch-overview) 統合の重要な部分は、ユーザーまたはクライアントのために Ayrshare で新しいプロファイルアカウントを作成し、ユーザーが [ソーシャル連携ページ](/multiple-users/user-integration) を使用して自分のソーシャルネットワークをリンクできるようにすることです。
各ユーザーは Ayrshare の User Profile として設定されます。User Profile は、各ソーシャルネットワークに 1 つの接続を持ちます。

<Note>
  **これはお客様をオンボーディングする標準的な方法です。** ユーザーは以下で説明するホワイトラベル化された JWT URL 接続ページを通じて、自身のソーシャルアカウントを接続します — Ayrshare にログインすることも、ダッシュボードに触れることもありません。[ダッシュボード](/multiple-users/manage-user-profiles#using-the-dashboard) は社内チーム(プロファイルの作成と管理、テスト、クライアントに代わっての投稿など)のために予約されています。
</Note>

## 統合ワークフロー

Ayrshare をアプリケーションに統合するには、2 つの API 呼び出しを行う必要があります:

1. [Create Profiles エンドポイント](/apis/profiles/create-profile) を呼び出して、ユーザー用の新しい Ayrshare プロファイルを作成します。
2. [Generate JWT エンドポイント](/apis/profiles/generate-jwt) を呼び出して、JWT URL を取得します。

JWT URL により、ユーザーはシングルサインオン認証を通じてソーシャル連携ページに安全にアクセスできます。
このページを新しいタブ、ウィンドウ、またはビューコントローラーで表示し、ユーザーがソーシャルメディアアカウントを接続できるようにします。

<img src="https://mintcdn.com/ayrshare-docs/6mPR4kmwNEz1kMbX/images/multiple-users/linking-flow.webp?fit=max&auto=format&n=6mPR4kmwNEz1kMbX&q=85&s=5a6d2569f89cefbb3ce85837bbd2a9c3" alt="Workflow of connecting user profiles" width="3408" height="2069" data-path="images/multiple-users/linking-flow.webp" />

ユーザーがソーシャルメディアアカウントをリンクした後、API を介して投稿の公開、アナリティクスの取得、アカウントの管理ができるようになります。

<Note>
  セキュリティ上の理由から、ソーシャルメディアプラットフォームはユーザーがブラウザを通じて認証することを要求しており、バックエンドサーバー呼び出しでは実行できません。これにより、ユーザーは各プラットフォームの公式ログインページで直接ログインすることで、ソーシャルメディアアカウントを安全に接続できます。ソーシャルネットワークは、Ayrshare などの承認されたパートナードメインを通じてのみ認証が行われるように制限しています。また、iFrame もブロックしているため、Ayrshare 連携ページをサイトの iFrame 内に埋め込んだり表示したりすることはできません。
</Note>

## Ayrshare User Profile の作成

### API でプロファイルを作成する

新しいユーザーがシステムに登録するとき、またはクライアントがアプリのソーシャルネットワークリンクをクリックするとき、[/profiles/create-profile](/apis/profiles/create-profile) RESTful エンドポイント、または [NPM](/packages-guides/nodejs) や [PyPi](/packages-guides/python) パッケージを使用して、新しい Ayrshare プロファイルアカウントを作成します。

<Card title="Profiles" icon="code" href="/apis/profiles/overview" horizontal />

この呼び出しから返されるのは、ユーザーの *PROFILE KEY* です。このキーは、ユーザーに代わって投稿し、アカウントを管理するために使用されます。安全な場所に保管する必要があります。

### ダッシュボードでプロファイルを作成する(社内チーム)

社内チームは **Developer Dashboard** から直接 User Profile を作成することもできます — テスト、プロファイルの手動オンボーディング、単発の管理に役立ちます。これはチームツールであり、お客様向けのフローではありません: お客様にはダッシュボードへのアクセスが提供されることはなく、常に [JWT URL 接続ページ](#single-sign-on-with-jwt-authentication) を通じてオンボーディングされます。本番環境のオンボーディングでは、[API](/apis/profiles/create-profile) を使用してプログラム的にプロファイルを作成し、各新規ユーザーが自動的にプロビジョニングされるようにします。

<Card title="Manage User Profiles in Dashboard" icon="link" href="/multiple-users/manage-user-profiles#using-the-dashboard" horizontal />

### 統合パッケージ

Business プランまたは Launch プランのクライアントとしてのオンボーディング中に、重要なセットアップおよびドメイン情報、エンドポイント呼び出しの例などを含むパーソナライズされた統合パッケージを受け取りました。この情報については、プライマリアカウントホルダーに確認してください。

ダッシュボードの API ページで、統合パッケージを取得またはリセットすることもできます。まず Primary Profile に切り替えてください。

<img src="https://mintcdn.com/ayrshare-docs/6mPR4kmwNEz1kMbX/images/multiple-users/integration.webp?fit=max&auto=format&n=6mPR4kmwNEz1kMbX&q=85&s=ce8b1f0b733f87ad61d75f66029b84df" alt="Ayrshare Integration Package" width="900" height="200" data-path="images/multiple-users/integration.webp" />

## JWT 認証によるシングルサインオン

Ayrshare は JWT (JSON Web Token) を使用してユーザーを認証し、ソーシャル連携ページへのシングルサインオンを実行します。JWT はデジタル署名された情報を渡すための安全なメカニズムであり、Ayrshare がお客様およびユーザーを認証できるようにします。

### JWT の生成

アプリは、API Key、ユーザーの Profile Key、およびその他いくつかのパラメーターで構成される JWT を構築します。これは 1024 ビットの秘密鍵で署名されます。

<Note>
  JWT トークンは 5 分間有効です。より長い有効期限については [Max Pack](/additional/maxpack) を参照してください。
</Note>

Ayrshare にトークンとソーシャル連携 URL を作成させるには、[Generate JWT エンドポイント](/apis/profiles/generate-jwt) を使用してください。ソーシャル連携 URL を新しいタブまたはウィンドウで開くと、ユーザーが簡単に [ソーシャルネットワークをリンク](/multiple-users/user-integration) できます。

<Note>
  JWT URL はすべてのお客様に推奨されるオンボーディングパスです。ユーザーは各ソーシャルネットワークで直接自分で認証します — お客様のソーシャル認証情報を収集したり保存したりすることはありません。テスト中にチームがアカウントを手動でリンクする必要がある場合はダッシュボードから行うことができますが、これは社内の便利機能であり、お客様のオンボーディング方法ではありません。
</Note>

### Connect Accounts ページのホワイトラベル化

JWT URL によって開かれる接続ページは、ユーザーが目にする唯一の Ayrshare インターフェースであるため、独自のブランドにする必要があります。ロゴとカスタムヘッダーを追加し、表示するソーシャルネットワークを選択し、ページ言語を設定し、独自のヘルプリンクを使用します — さらに [Max Pack](/additional/maxpack) を使用すると、完全なカスタム CSS ファイル、favicon、ページタイトル、フッターを適用できます。これらのオプションは、Primary Profile からチームによって一度設定され、生成するすべての JWT URL に適用されます。

<Card title="White-Label the Connect Accounts Page" icon="palette" href="/multiple-users/manage-user-profiles#white-label-the-connect-accounts-page" horizontal>
  接続ページのすべてのブランディングおよびカスタマイズオプションを確認します。
</Card>

### プロファイルセッションの自動ログアウト

<Warning>
  **アクティブなプロファイルセッションを自動的にログアウトする方法**

  プロファイルがすでにログインしている場合、別のプロファイルの JWT を送信してもプロファイルは切り替わりません。これは、すでにログインしているユーザーの体験を高速にするために行われます。テスト時には、別のプロファイルで SSO 呼び出しを行う前に、現在のプロファイルからログアウトしてください。サインインされたプロファイルは、明示的にログアウトされるまでサインインされたままです。

  ただし、ユーザーが頻繁にアクセスする複数のプロファイルを持っている場合や、テストしたい場合など、ビジネス上のニーズがある場合は、SSO URL に URL パラメーターを含めます:

  `logout=true`

  たとえば:

  `https://profile.ayrshare.com?domain=[domain id]&jwt=[jwt token]&logout=true`

  これにより、ログアウトが強制され、新しいプロファイルにログインします。

  自動ログアウトの追加については、[Generate JWT エンドポイント](/apis/profiles/generate-jwt) も参照してください。

  **警告**: 自動ログアウトを使用すると、ユーザーにパフォーマンス遅延が発生するため、必要でない限り、ログアウトを強制しないこと、本番環境で使用しないことをお勧めします。
</Warning>

## ソーシャル連携 URL の開閉

Social Accounts ページには、ウィンドウを閉じてユーザーをサイトに戻す「Close」ボタンがあります。

### ソーシャル連携 URL を開く

ソーシャル連携 URL を開く際は、アンカー href の代わりに JavaScript の `window.open()` 関数を使用することをお勧めします。
「Close」ボタンは JavaScript を使用してウィンドウを閉じ、ほとんどのブラウザはスクリプトを介して開かれたウィンドウのみを閉じることを許可します。
Web サイトで次のサンプルコードを使用して、ソーシャル連携ウィンドウを起動できます。

```html Window Open theme={"system"}
<div onclick="window.open('https://profile.ayrshare.com?domain...', '_blank')">
  Link Social Networks
</div>
```

または

```html Window Open Function theme={"system"}
<button onclick="openNewTabAndRedirect()">Open New Tab and Redirect</button>
<script>
  function openNewTabAndRedirect() {
    // Open a new tab
    var newTab = window.open("https://profile.ayrshare.com?domain...");

    // Optional: Focus on the new tab
    newTab.focus();
  }
</script>
```

「Close」ボタンを制御して、ソーシャル連携タブを選択したページにリダイレクトするか、元のオープナータブ/ウィンドウをリダイレクトしてソーシャル連携タブを閉じることができます。
これは、redirect パラメーターを使用して、リダイレクト URL のクエリパラメーターに `origin=true` を追加することで実行できます。
詳細については [Generate JWT エンドポイント](/apis/profiles/generate-jwt) を参照してください。

### 閉じるときのリダイレクト

さらに、`Close` ボタンでページにリダイレクトし直したい場合(モバイルで役立つことが多い)、`redirect` GET パラメーターに https で始まる *URL エンコードされた* 文字列を渡します。
詳細については [Generate JWT エンドポイントパラメーター](/apis/profiles/generate-jwt#body-parameters) を参照してください。

```javascript JWT URL theme={"system"}
https://profile.ayrshare.com?domain=[domain id]&jwt=[jwt token]&redirect=https%3A%2F%2Fmywebsite.com
```

リダイレクトはそのプロファイルのために保存され、`redirect` パラメーターが渡されなくても、後続の SSO 呼び出しで使用されます。
`Close` ボタンを閉じる動作にリセットするには、パラメーター `redirect=null` を渡します。

## 詳細情報

### ユーザーのリンク/リンク解除通知

ユーザーがソーシャルネットワークをリンクまたはリンク解除すると、webhook 経由で通知を受け取ることができます。詳細については [Social Action Webhooks](/apis/webhooks/actions#social-action) ページを参照してください。

User Profile の接続されているソーシャルネットワークを取得するために、[user エンドポイント](/apis/user/profile-details) を使用することもできます。

### 複数セットのソーシャルアカウント

#### 概要

各 User Profile は 1 セットのソーシャルメディアアカウントを持ち、各ソーシャルネットワークに 1 つの接続を作成できます。
ユーザーまたはクライアントが 2 つの Facebook Page、2 つの Instagram アカウント、2 つの YouTube チャンネルなど、複数セットのソーシャルメディアアカウントを持っている場合、次の手順に従うことでこれらの複数セットのソーシャルメディアアカウントを管理できます:

1. **複数の User Profile を作成する** - ユーザーまたはクライアントが管理する必要があるソーシャルアカウントのセットごとに、Ayrshare システム内に [別々の User Profile を作成](/apis/profiles/create-profile) します。

2. **一意の Profile Key を保存する** - 各 User Profile には、User Profile 作成エンドポイントから返される独自の Profile Key があります。

3. **プロファイルにラベルを付ける** - どのソーシャルメディアアカウントに関連付けられているかを明確に識別するために、各 User Profile に [タイトル](/apis/profiles/create-profile#param-title) または [タグ](/apis/profiles/create-profile#param-tags) を付けます(例: "Facebook Page A" と "Facebook Page B")。

4. **データベースでマッピング** - 独自のシステムで、すべての関連する Profile Key をそれぞれのユーザーまたはクライアントに関連付けます。

5. **適切な Profile Key を使用する** - 特定のソーシャルアカウントのコンテンツを投稿したり、アナリティクスを取得したりする際は、そのアカウントに関連付けられた Profile Key を使用します。たとえば、Facebook Page A に投稿するには、Facebook Page A に接続されている User Profile の Profile Key を使用します。

#### 例

複数のクライアントアカウントの実践的なシナリオを考えてみましょう:

<ul className="custom-bullets">
  <li>**クライアント:** 2 つの店舗を持つ Joe's Restaurant Chain</li>
</ul>

Joe は各レストランの店舗ごとに別々のソーシャルメディアアカウントを必要としています:

**レストラン店舗 1:**

<ul className="custom-bullets">
  <li>Facebook Page: "Joe's Downtown Bistro"</li>
  <li>Instagram: @joesdowntownbistro</li>
  <li>LinkedIn: Joe's Downtown Bistro business page</li>
</ul>

**レストラン店舗 2:**

<ul className="custom-bullets">
  <li>Facebook Page: "Joe's Seaside Grill"</li>
  <li>Instagram: @joesseasidegrill</li>
  <li>LinkedIn: Joe's Seaside Grill business page</li>
</ul>

**実装ソリューション:**

1. Ayrshare で 2 つの別々の User Profile を作成します:

<ul className="custom-bullets">
  <li>User Profile 1: "Joe's Downtown Bistro Accounts" というタイトル</li>
  <li>User Profile 2: "Joe's Seaside Grill Accounts" というタイトル</li>
</ul>

2. 各プロファイルに適切なソーシャルアカウントを接続します:

<ul className="custom-bullets">
  <li>Profile 1: Downtown Bistro の Facebook、Instagram、LinkedIn をリンク</li>
  <li>Profile 2: Seaside Grill の Facebook、Instagram、LinkedIn をリンク</li>
</ul>

3. 両方の Profile Key をデータベースに保存し、Joe のアカウントに関連付けます:

   ```
   Client: Joe's Restaurant Chain
   - Profile Key 1: abc123... (Downtown location)
   - Profile Key 2: xyz789... (Seaside location)
   ```

4. Downtown 店舗の特別メニューの更新を投稿する場合は、API 呼び出しで Profile Key 1 を使用します。Seaside 店舗のシーフードプロモーションを投稿する場合は、Profile Key 2 を使用します。

複数の User Profile を作成し、適切に [タイトル](/apis/profiles/create-profile#param-title) または [タグ付け](/apis/profiles/create-profile#param-tags) し、システム内で単一のユーザーまたはクライアントに関連付けることで、Ayrshare を使用して同じプラットフォーム間で複数のソーシャルメディアアカウントを管理できます。
このアプローチにより、特定のアカウントごとにターゲットを絞った投稿とアナリティクス取得が可能になります。

### 次のステップ

ユーザー体験の詳細については、こちらを参照してください:

<Card title="User Integration" icon="link" href="/multiple-users/user-integration" horizontal />

ユーザーがソーシャルメディアリンクを設定したら、/post および /profile エンドポイントを使用して、ユーザーに代わって投稿を開始できます。

<Card title="Post API" icon="code" href="/apis/post/overview" horizontal />

<Card title="Profiles API" icon="code" href="/apis/profiles/overview" horizontal />
