API リファレンス

チャネル

Telegram 認証

確認コード、QR コードのスキャン、既存セッションのいずれかで Telegram を接続します。方式を選び、対応する手順で認可を完了してください。

認可方式を選ぶ

code

認証コードフロー:サーバーが Telegram にコードを要求し、ユーザーが SMS またはアプリ内で受け取って送信し直します。

  1. 1. POST /v1/accounts に provider=telegram、auth_mode=code、provider_data.phone を指定します。provider_data の api_id と api_hash は任意で、省略するとプラットフォームのデフォルトのアプリ認証情報が使用されます。
  2. 2. POST /v1/accounts/{account_id}/auth/start で Telegram に認証コードを送らせる。
  3. 3. ユーザーが受け取ったコードを POST /v1/accounts/{account_id}/auth/code で送信。
  4. 4. 2FA が有効な場合は status=awaiting_password が返るので、POST /v1/accounts/{account_id}/auth/password でパスワードを送信。
  5. 5. 認証成功後はまず runtime_status を確認してください。起動がまだ必要な場合にのみ POST /v1/accounts/{account_id}/runtime/start を呼び出します。
  • provider_data.api_id — 任意。my.telegram.org で取得した Telegram App ID。省略するとプラットフォームのデフォルトのアプリ認証情報が使用されます。独自のアプリを使う場合は、同じアプリの api_id と api_hash を両方とも文字列で指定してください。
  • provider_data.api_hash — 任意。my.telegram.org で取得した Telegram App Hash。省略するとプラットフォームのデフォルトのアプリ認証情報が使用されます。独自のアプリを使う場合は、同じアプリの api_id と api_hash を両方とも文字列で指定してください。
  • provider_data.phone — E.164 形式の電話番号。code フローでのみ必要。

qrcode

QR コードフロー:QR トークンを取得し、ユーザーに Telegram アプリで読み取らせます。

  1. 1. POST /v1/accounts に provider=telegram、auth_mode=qrcode を指定します。provider_data の api_id と api_hash は任意で、省略するとプラットフォームのデフォルトのアプリ認証情報が使用されます。
  2. 2. POST /v1/accounts/{account_id}/auth/qr/start を呼ぶと、表示用の QR トークンが返る。
  3. 3. POST /v1/accounts/{account_id}/auth/qr/check を status=authorized になるまでポーリング。QR は約 30 秒で失効するので、その都度 qr/start を再実行。
  4. 4. 認証成功後はまず runtime_status を確認してください。起動がまだ必要な場合にのみ POST /v1/accounts/{account_id}/runtime/start を呼び出します。
  • provider_data.api_id — 任意。my.telegram.org で取得した Telegram App ID。省略するとプラットフォームのデフォルトのアプリ認証情報が使用されます。独自のアプリを使う場合は、同じアプリの api_id と api_hash を両方とも文字列で指定してください。
  • provider_data.api_hash — 任意。my.telegram.org で取得した Telegram App Hash。省略するとプラットフォームのデフォルトのアプリ認証情報が使用されます。独自のアプリを使う場合は、同じアプリの api_id と api_hash を両方とも文字列で指定してください。

session

セッション取り込みフロー:既に認証済みの Telegram アカウントを UnifyPort に取り込みます。

  1. 1. POST /v1/accounts に provider=telegram、auth_mode=session を指定。
  2. 2. POST /v1/accounts/{account_id}/auth/session に params.session_url を渡し、ダウンロード可能な .session ファイルを指す。
  3. 3. 認証成功後はまず runtime_status を確認してください。起動がまだ必要な場合にのみ POST /v1/accounts/{account_id}/runtime/start を呼び出します。
  • params.session_url — 既存の Telegram セッションの URL または参照。

注記

  • Telegram の code、qrcode、session のどの認証モードでも、呼び出し側が api_id と api_hash を用意する必要はありません。省略するとプラットフォームのデフォルトのアプリ認証情報が使用されます。独自のアプリを使う場合は、同じ Telegram アプリの両方の認証情報を provider_data に文字列で指定してください。
  • 2FA パスワードは試行ごとにステートレスです。間違えた場合は cancel してから /auth/qr/start または /auth/start をやり直してください。
  • QR トークンは約 30 秒で失効します。失効したら qr/start を呼び直して更新し、UI で QR を再描画してください。
  • アカウント構成時に webhook URL が自動注入されます。認証状態の遷移とログインイベントは受信メッセージと同じ webhook エンドポイントに届きます。