アカウント
アカウント一覧
現在の Workspace のプロバイダアカウントを一覧表示します。アカウントの認証状態は Authentication エンドポイントで取得します。
https://api.unifyport.ai/v1/accounts対応チャネル
呼び出す前に
対象ワークスペースの X-Api-Key をサーバー側で使用します。実行前にすべてのプレースホルダーを置き換えます。
リクエストパラメータ
ヘッダー
X-Api-Keyワークスペース API キー。このヘッダーからワークスペースを特定します。
クエリパラメータ
limit1 ページあたりの最大アカウント数。1〜100 で、省略時は 20 です。無効な値や limit の重複指定は 400 invalid_request(numeric_code=10000)を返します。次ページでは値を変更できます。
minimum: 1 · maximum: 100
cursorアカウント一覧の不透明なカーソル。省略または空文字列で最初のページを取得し、次ページでは前の応答の data.next_cursor をそのまま渡します。発行時の workspace でのみ有効です。無効な cursor、重複指定、別の workspace での使用は 400 invalid_request(numeric_code=10000)を返します。
リクエストボディ
このエンドポイントは JSON ボディを必要としません。
結果の確認
data.items からアカウントを読み取ります。data.has_more が true なら、data.next_cursor を変更せず cursor として次のページを取得します。認証状態は認証 API で別途確認します。
レスポンス 200 OK
{
"request_id": "<REQUEST_ID>",
"data": {
"items": [
{
"id": "acc_example",
"name": "Telegram Production",
"provider": "telegram",
"region": "global",
"status": "active",
"runtime_status": "running",
"auth_mode": "qrcode",
"capabilities": [
"send_message",
"receive_message"
],
"metadata": {
"env": "production"
},
"provider_account_ref": "provider-side-identifier",
"provider_profile": {
"id": "778899",
"phone": "8600000000000",
"username": "production_bot",
"display_name": "Production Bot",
"first_name": "Production",
"last_name": "Bot",
"avatar_url": "https://example.com/avatar.jpg",
"bio": "Customer support"
}
}
],
"has_more": false
}
}
レスポンスボディ
provider_profileobjectdisplay_name などプロバイダが報告するプロフィール。アカウントが認証される前は省略されます。
provider_profiledisplay_name などプロバイダが報告するプロフィール。アカウントが認証される前は省略されます。
idチャネル側アカウント識別子。WhatsApp は LID を返し、プロフィール同期前は省略されることがあります。
device_id現在のセッションを識別できる場合に、WhatsApp アカウント詳細で任意に返されるログイン端末番号。再認証で変わる場合があり、恒久的な端末識別子ではありません。
minimum: 0 · maximum: 65535
phone空白、ハイフン、先頭の + を除去した正規化電話番号。
usernameプロバイダが報告した username(存在する場合)。
display_nameアカウントの表示名。WhatsApp では BusinessName を優先し、なければ PushName にフォールバックして生成されます。
push_nameWhatsApp アカウントで現在設定されている PushName。他のプロバイダではこのフィールドの意味を定義しません。
business_nameWhatsApp BusinessName。プロバイダが返さない場合は省略されます。
first_nameプロバイダが報告した名(存在する場合)。
last_nameプロバイダが報告した姓(存在する場合)。
avatar_urlプロバイダが報告したアカウントのアバター URL。
bioプロバイダが報告した自己紹介またはステータス文。
platformWhatsApp がペアリング時に報告するログインプラットフォーム識別子。不透明な文字列として扱い、未知の値も受け入れてください。他のプロバイダではこのフィールドの意味を定義しません。device_platform とは別のフィールドです。
billingobject残高アカウントだけの支払済み期間。残高から購入を推測しません。
billing残高アカウントだけの支払済み期間。残高から購入を推測しません。
period_start_atサーバーの支払済み期間開始。
format: date-time
period_end_atサーバーの支払済み期間終了。
format: date-time
amount_minorサーバーの不変金額、USD セント単位。正確な整数で扱います。
minimum: 1 · format: int64
currencyUSD のみ。
operation_idbilling.operation_id または削除応答の公開 ID。同じワークスペースで原文のまま使います。
state課金・操作状態。認証、接続、返金入金を証明しません。
enum: ACTIVE, DELETING, DELETED, COMPENSATED, REVIEW
id一意のアカウント識別子(acc_...)。アカウントスコープのルートで使用します。
name人が読みやすいアカウント名。
providerチャネルの識別子です。後続の呼び出しでは返された値をそのまま使ってください。この API の値は以下の enum を参照してください。
enum: telegram, whatsapp, line, twitter, facebook, zalo, tiktok, whatsapp-protocol
regionアカウントで選択されたデフォルトのネットワーク出口リージョン。
statusアカウントのライフサイクル状態(例: active)。
runtime_status正規化されたランタイム状態。unknown、starting、running、stopping、stopped、reconnecting、disconnected、error のいずれか。
enum: unknown, starting, running, stopping, stopped, reconnecting, disconnected, error
auth_modeアカウントが使用する認証フロー: code、qrcode、または session。TikTok は qrcode と session をサポートしますが、既存アカウントでの両モード間の切り替えはサポートしません。
capabilities[]send_message や receive_message など、アカウントで有効化されている機能。
metadataアカウントに保存された自分の環境ラベル。
provider_account_ref自社システムとアカウントを紐付けるために付与できる、プロバイダ側の識別子。
proxy顧客が明示的に設定したプロキシ。プラットフォームのデフォルト出口の認証情報は返されません。
has_moreアカウント一覧に次のページがあるかどうか。
next_cursorアカウント一覧の次ページ用の不透明なカーソル。has_more=true の場合のみ返します。次ページでは cursor としてそのまま渡してください。最終ページでは省略されます。
レスポンス
200200 OK
リクエスト成功。レスポンスボディの例を参照してください。
400Bad Request
リクエストボディ、パス、またはパラメータが不正です。
401Unauthorized
X-Api-Key ヘッダが欠落しているか無効です。
403Forbidden
リクエストは識別されましたが、この操作は許可されていません。
404Not Found
要求されたリソースが見つかりません。error.code と現在の操作を合わせて確認してください。
500Internal Server Error
サービスで予期しないエラーが発生しました。
失敗時の対応
HTTP 状態と error.code/numeric_code を確認し、request_id を保存します。原因に応じてパラメーター修正・認証・状態確認を行い、送信や書き込みの再試行前に前回の結果を確認します。 エラーリファレンス
HTTP ステータス、error.code、error.numeric_code を現在の操作と合わせて確認します。数値コードは文字列です。request_id は調査用で、冪等性キーやタスク ID ではありません。
- invalid_request · 10000 · 400
JSON 本文と必須項目を確認してください。
対処と再試行: 操作とチャネルの条件に従ってパラメーターを修正してから再実行します。同じ無効なリクエストを繰り返しても解決しません。
JSON の例です。message は実際の原因によって変わります · 400 · 10000
{ "request_id": "req_example", "error": { "code": "invalid_request", "numeric_code": "10000", "message": "Invalid request parameters" } }- invalid_target_workspace · 11003 · 400
上書き対象のワークスペースが空、または形式が無効です。上書き用ヘッダーを削除し、対象ワークスペースの API Key を使用してください。
発生条件: ワークスペースを上書きする X-Workspace-Id リクエストヘッダーを送った場合に適用されます。
対処と再試行: 操作とチャネルの条件に従ってパラメーターを修正してから再実行します。同じ無効なリクエストを繰り返しても解決しません。
JSON の例です。message は実際の原因によって変わります · 400 · 11003
{ "request_id": "req_example", "error": { "code": "invalid_target_workspace", "numeric_code": "11003", "message": "Invalid target workspace" } }- invalid_api_key · 11001 · 401
API Key が正しく有効か確認してください。
対処と再試行: request_id と構造化されたコードを保存し、現在の操作を調査してから次の対応を決めます。
JSON の例です。message は実際の原因によって変わります · 401 · 11001
{ "request_id": "req_example", "error": { "code": "invalid_api_key", "numeric_code": "11001", "message": "Invalid API key" } }- missing_api_key · 11000 · 401
X-Api-Key ヘッダーを追加してください。
対処と再試行: request_id と構造化されたコードを保存し、現在の操作を調査してから次の対応を決めます。
例 · 401 · 11000
{ "request_id": "req_xxx", "error": { "code": "missing_api_key", "numeric_code": "11000", "message": "Missing X-Api-Key header" } }- workspace_override_forbidden · 11002 · 403
この API Key に許可されていないワークスペースの上書きを要求しています。上書き用ヘッダーを削除し、対象ワークスペースの API Key を使用してください。
発生条件: ワークスペースを上書きする X-Workspace-Id リクエストヘッダーを送った場合に適用されます。
対処と再試行: request_id と構造化されたコードを保存し、現在の操作を調査してから次の対応を決めます。
JSON の例です。message は実際の原因によって変わります · 403 · 11002
{ "request_id": "req_example", "error": { "code": "workspace_override_forbidden", "numeric_code": "11002", "message": "Workspace override is not allowed" } }- target_workspace_not_found · 11004 · 404
上書きで指定したワークスペースが存在しないか利用できません。所有範囲を確認し、上書き用ヘッダーを削除して対象ワークスペースの API Key を使用します。再試行で権限は増えません。
発生条件: ワークスペースを上書きする X-Workspace-Id リクエストヘッダーを送った場合に適用されます。
対処と再試行: 対象の識別子、所有範囲、現在のワークスペースを確認します。不存在やアクセス不可が確認された対象を、一時的なサービス障害として自動再試行しないでください。
JSON の例です。message は実際の原因によって変わります · 404 · 11004
{ "request_id": "req_example", "error": { "code": "target_workspace_not_found", "numeric_code": "11004", "message": "Target workspace not found" } }- list_accounts_failed · 20000 · 500
アカウント一覧:サービスが有効な照会結果を返せませんでした。
対処と再試行: request_id を保存し、識別子とアカウントのアクセス範囲を確認します。原因を確認してから照会を再試行してください。照会失敗は空の結果やリソースの不存在を意味しません。
JSON の例です。message は実際の原因によって変わります · 500 · 20000
{ "request_id": "req_example", "error": { "code": "list_accounts_failed", "numeric_code": "20000", "message": "Failed to list accounts" } }