API リファレンス

アカウント

アカウント取得

単一アカウントの設定を返します。provider_data に含まれる機密のプロバイダ資格情報は、セキュリティのためこのレスポンスから意図的に除外されます。保留中の QR コードや認証コードなどの認証状態は、Authentication エンドポイントで別途公開されます。

GEThttps://api.unifyport.ai/v1/accounts/{account_id}

対応チャネル

all

呼び出す前に

対象ワークスペースの X-Api-Key をサーバー側で使用します。実行前にすべてのプレースホルダーを置き換えます。

パラメーターの取得元
account_id
アカウント作成・取得応答の data.id を使います。識別子は X-Api-Key のワークスペースに属します。 アカウント取得

リクエストパラメータ

ヘッダー

X-Api-Key
string必須

ワークスペース API キー。このヘッダーからワークスペースを特定します。

パスパラメータ

account_id
string必須

accounts ルートで使用される識別子。

リクエストボディ

このエンドポイントは 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_profile
object

display_name などプロバイダが報告するプロフィール。アカウントが認証される前は省略されます。

id
string

チャネル側アカウント識別子。WhatsApp は LID を返し、プロフィール同期前は省略されることがあります。

device_id
integer

現在のセッションを識別できる場合に、WhatsApp アカウント詳細で任意に返されるログイン端末番号。再認証で変わる場合があり、恒久的な端末識別子ではありません。

minimum: 0 · maximum: 65535

phone
string

空白、ハイフン、先頭の + を除去した正規化電話番号。

username
string

プロバイダが報告した username(存在する場合)。

display_name
string

アカウントの表示名。WhatsApp では BusinessName を優先し、なければ PushName にフォールバックして生成されます。

push_name
string

WhatsApp アカウントで現在設定されている PushName。他のプロバイダではこのフィールドの意味を定義しません。

business_name
string

WhatsApp BusinessName。プロバイダが返さない場合は省略されます。

first_name
string

プロバイダが報告した名(存在する場合)。

last_name
string

プロバイダが報告した姓(存在する場合)。

avatar_url
string

プロバイダが報告したアカウントのアバター URL。

bio
string

プロバイダが報告した自己紹介またはステータス文。

platform
string

WhatsApp がペアリング時に報告するログインプラットフォーム識別子。不透明な文字列として扱い、未知の値も受け入れてください。他のプロバイダではこのフィールドの意味を定義しません。device_platform とは別のフィールドです。

billing
object

残高アカウントだけの支払済み期間。残高から購入を推測しません。

period_start_at
string

サーバーの支払済み期間開始。

format: date-time

period_end_at
string

サーバーの支払済み期間終了。

format: date-time

amount_minor
integer

サーバーの不変金額、USD セント単位。正確な整数で扱います。

minimum: 1 · format: int64

currency
string

USD のみ。

operation_id
string

billing.operation_id または削除応答の公開 ID。同じワークスペースで原文のまま使います。

state
string

課金・操作状態。認証、接続、返金入金を証明しません。

enum: ACTIVE, DELETING, DELETED, COMPENSATED, REVIEW

id
string

一意のアカウント識別子(acc_...)。アカウントスコープのルートで使用します。

name
string

人が読みやすいアカウント名。

provider
string

チャネルの識別子です。後続の呼び出しでは返された値をそのまま使ってください。この API の値は以下の enum を参照してください。

enum: telegram, whatsapp, line, twitter, facebook, zalo, tiktok, whatsapp-protocol

region
string

アカウントで選択されたデフォルトのネットワーク出口リージョン。

status
string

アカウントのライフサイクル状態(例: active)。

runtime_status
string

正規化されたランタイム状態。unknown、starting、running、stopping、stopped、reconnecting、disconnected、error のいずれか。

enum: unknown, starting, running, stopping, stopped, reconnecting, disconnected, error

auth_mode
string

アカウントが使用する認証フロー: code、qrcode、または session。TikTok は qrcode と session をサポートしますが、既存アカウントでの両モード間の切り替えはサポートしません。

capabilities[]
string[]

send_message や receive_message など、アカウントで有効化されている機能。

metadata
object

アカウントに保存された自分の環境ラベル。

provider_account_ref
string

自社システムとアカウントを紐付けるために付与できる、プロバイダ側の識別子。

proxy
object

顧客が明示的に設定したプロキシ。プラットフォームのデフォルト出口の認証情報は返されません。

レスポンス

200

200 OK

リクエスト成功。レスポンスボディの例を参照してください。

400

Bad Request

リクエストボディ、パス、またはパラメータが不正です。

401

Unauthorized

X-Api-Key ヘッダが欠落しているか無効です。

403

Forbidden

リクエストは識別されましたが、この操作は許可されていません。

404

Not Found

要求されたリソースが見つかりません。error.code と現在の操作を合わせて確認してください。

500

Internal 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"
  }
}