API リファレンス
API キーを取得Sofia API v1 の全エンドポイントとそのパラメータ、スコープ、例。ご自身のキーで各エンドポイントを試せるプレイグラウンド付き。
ベース URL https://api.sofia-post.com/api · OpenAPI ドキュメント
OAuth
GET
/v1/oauth/authorize認可を開始するユーザーのブラウザーで開きます。未知のクライアントや未登録の redirect_uri は 400、それ以外は Sofia の同意画面へリダイレクトします。GET/.well-known/oauth-authorization-server/api/v1/oauthサーバーメタデータを取得するSofia API の OAuth 2.0 認可サーバーメタデータ(RFC 8414)を返し、クライアントがエンドポイントと対応オプションを検出できます。POST/v1/oauth/tokenアクセストークンを発行するclient_credentials、authorization_code、refresh_token を 3600 秒有効なトークンに交換します。アカウント
プラットフォーム
店舗
GET
/v1/establishments店舗を一覧表示するトークンが操作する Workspace の店舗を返します。この ID を、投稿、メディア一覧、インサイトの establishmentId に使います。GET/v1/establishments/{id}/accounts連携済みアカウントを一覧表示する店舗に連携されたネットワークを返します。トークンやシークレットは含まず、アカウントの名前と accountId の選択に必要な情報のみです。POST/v1/establishments/{id}/connection-links連携リンクを作成する本人が Sofia でネットワークを認可するホスト型リンクを返し、ネットワークのトークンはアプリに渡りません。有効期間 30 分、ライブアプリのみ。GET/v1/establishments/{id}/insights店舗のインサイトを取得するSofia が連携アカウントごとに収集した最新の有効な数値を返します。未収集のアカウントは 0 ではなく awaiting と表示されます。メディア
GET
/v1/mediaメディアを一覧表示する店舗のメディアライブラリを新しい順にページ単位で返し、現在の有効期間内の署名付き URL を付けます。テストでもライブでも使えます。POST/v1/mediaメディアを取り込むファイル(multipart)か https URL を店舗のメディアライブラリに追加します。ライブアプリと有効な購読が必要です。GET/v1/media/{id}メディアを取得するライブラリのメディア 1 件を、現在の有効期間内の署名付き URL とともに返します。その ID を投稿で再利用できます。DELETE/v1/media/{id}メディアを削除するアプリと同じく、店舗のライブラリからメディアを外します。ファイル自体は消えず、予約済みの投稿は画像を保持します。投稿
GET
/v1/posts投稿を一覧表示するトークンが届く店舗の投稿を新しい順に返します。店舗、ステータス、期間、作成者で絞り込め、ページ単位で取得できます。POST/v1/posts投稿を公開するライブアプリは即時公開・予約・下書き保存、テストアプリはシミュレーションのみ。?dry_run=true ならすべて検証し、何も書き込みません。GET/v1/posts/{id}投稿を取得する各ネットワークの状態、公開後のリンク、失敗時のエラーを含む投稿を返します。ライブは Workspace の任意の投稿、テストはシミュレーション分を読み取ります。PATCH/v1/posts/{id}投稿を編集する送信前なら targets の置換、scheduledAt の設定、draft と scheduled の切り替えができます。DELETE/v1/posts/{id}投稿を削除するアプリと同じく投稿を削除します。予約分は送信されず、公開済みの投稿はネットワークから削除されます。テストアプリには実際に削除するものがありません。Webhook
GET
/v1/webhookswebhook を一覧表示するアプリケーションの webhook を、署名シークレットなしで返します。シークレットは登録時にしか返されません。POST/v1/webhookswebhook を登録するSofia が署名付き JSON で呼び出す https URL を登録します。最大 5 回再試行。シークレットは 1 回のみ表示、最大 10 件。DELETE/v1/webhooks/{id}webhook を削除するwebhook を削除します。再試行待ちの配信を含め、以後は何も受信しません。この呼び出しはボディを返しません。POST/v1/webhooks/{id}/testテストイベントを送信する署名付きの webhook.test イベントを通常どおり配信します。受信側を待たずに署名を確認できます。1 分あたり最大 5 回です。