アカウント
アカウント取得
単一アカウントの設定を返します。provider_data に含まれる機密のプロバイダ資格情報は、セキュリティのためこのレスポンスから意図的に除外されます。保留中の QR コードや認証コードなどの認証状態は、Authentication エンドポイントで別途公開されます。
https://api.unifyport.ai/v1/accounts/{account_id}対応チャネル
呼び出す前に
対象ワークスペースの X-Api-Key をサーバー側で使用します。実行前にすべてのプレースホルダーを置き換えます。
パラメーターの取得元
- account_id
- アカウント作成・取得応答の data.id を使います。識別子は X-Api-Key のワークスペースに属します。 アカウント取得
リクエストパラメータ
ヘッダー
X-Api-Keyワークスペース API キー。このヘッダーからワークスペースを特定します。
パスパラメータ
account_idaccounts ルートで使用される識別子。
リクエストボディ
このエンドポイントは JSON ボディを必要としません。
結果の確認
この API に記載された応答項目と HTTP 状態で結果を判断し、関連操作から次の手順を選びます。
レスポンス 200 OK
{
"request_id": "<REQUEST_ID>",
"data": {
"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"
}
}
}
レスポンスボディ
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顧客が明示的に設定したプロキシ。プラットフォームのデフォルト出口の認証情報は返されません。
レスポンス
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 本文と必須項目を確認してください。
発生条件: 空でないリクエスト本文を送り、Content-Type が application/json ではない場合に適用されます。
対処と再試行: 操作とチャネルの条件に従ってパラメーターを修正してから再実行します。同じ無効なリクエストを繰り返しても解決しません。
JSON の例です。message は実際の原因によって変わります · 400 · 10000
{ "request_id": "req_example", "error": { "code": "invalid_request", "numeric_code": "10000", "message": "Content-Type must be application/json" } }- 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" } }- get_account_failed · 20001 · 500
アカウント取得:サービスが有効な照会結果を返せませんでした。
対処と再試行: request_id を保存し、識別子とアカウントのアクセス範囲を確認します。原因を確認してから照会を再試行してください。照会失敗は空の結果やリソースの不存在を意味しません。
JSON の例です。message は実際の原因によって変わります · 500 · 20001
{ "request_id": "req_example", "error": { "code": "get_account_failed", "numeric_code": "20001", "message": "Failed to get account" } }- get_account_failed · 20020 · 500
account_id を確認し、アカウントが属するワークスペースの X-Api-Key を使います。このワークスペースにないアカウントには現在のキーでアクセスできません。
発生条件: アカウントが見つからない場合、従来の HTTP ステータスと操作の code を維持し、numeric_code でアカウントの不存在を示します。
対処と再試行: 対象の識別子、所有範囲、現在のワークスペースを確認します。不存在やアクセス不可が確認された対象を、一時的なサービス障害として自動再試行しないでください。
JSON の例です。message は実際の原因によって変わります · 500 · 20020
{ "request_id": "req_example", "error": { "code": "get_account_failed", "numeric_code": "20020", "message": "Account not found" } }