メインコンテンツへスキップ

概要

数分で動作する音声エージェントと専用の電話番号を取得し、実際のアウトバウンド通話を発信します。 行うこと:
  1. エージェントを作成する
  2. 電話番号を購入する — OneInbox から直接、Twilio アカウント不要
  3. 発信する
  4. 結果を確認する
すべての API リクエストは:
Authorization: Bearer <api_key>

前提条件

項目場所
OneInbox API キーダッシュボードAPI KeysCreate API key
ターミナルcurl(Mac ターミナル、Windows PowerShell、または WSL)

ステップ 1 — エージェントを作成する

1 回の API 呼び出しです。名前を付けるだけで — OneInbox がデフォルトの LLM、ボイス、システムプロンプトを自動的に設定します。エージェントはすぐに通話を受ける準備ができています。
curl -X POST https://api.oneinbox.ai/v1/agents \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{ "name": "My First Agent" }'
{
  "id": "agt_abc123",
  "name": "My First Agent",
  "llm_id": "llm_xyz789",
  "created_at": "2026-06-01T10:00:00Z"
}
レスポンスから両方の ID を保存します:
  • id — エージェント(ボイス、言語、通話の動作)
  • llm_id — AI の頭脳(何を知っていて何ができるか)。複数のエージェントが 1 つの頭脳を共有できるように分離されています。

ステップ 2 — 電話番号を購入する

OneInbox から直接番号を購入します — Twilio やテレフォニーアカウントは不要です。 オプション A — 検索して特定の番号を選ぶ:
# 1. 利用可能な番号を検索
curl "https://api.oneinbox.ai/v1/phone-numbers/search?country=US&area_code=415&limit=10" \
  -H "Authorization: Bearer <api_key>"

# 2. 希望する番号を購入
curl -X POST https://api.oneinbox.ai/v1/phone-numbers/purchase \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "+14155551234",
    "friendly_name": "My First Number",
    "agent_id": "<agent_id>"
  }'
オプション B — 自動割り当て(検索をスキップ):
curl -X POST https://api.oneinbox.ai/v1/phone-numbers/purchase \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "country": "US",
    "area_code": "415",
    "friendly_name": "My First Number",
    "agent_id": "<agent_id>"
  }'
{
  "id": "phn_abc123",
  "phone_number": "+14155551234",
  "agent_id": "agt_abc123",
  "status": "active"
}
番号は双方向でライブです:発信でき、誰かがダイヤルするとエージェントに自動的に繋がります。
Twilio で既に番号をお持ちですか?持ち込み番号のパスは 電話番号 を参照してください。

ステップ 3 — 発信する

新しい番号を発信者 ID として任意の番号に電話をかけます:
curl -X POST https://api.oneinbox.ai/v1/calls \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "<agent_id>",
    "to_number": "+919876543210",
    "from_number": "+14155551234"
  }'
{
  "id": "call_abc123",
  "status": "initiated",
  "to_number": "+919876543210",
  "from_number": "+14155551234"
}
電話が鳴ります — 出るとエージェントとライブで話せます。

ステップ 4 — 通話結果を確認する

通話終了後、レコードを取得します:
curl https://api.oneinbox.ai/v1/calls/<call_id> \
  -H "Authorization: Bearer <api_key>"
{
  "id": "call_abc123",
  "status": "completed",
  "duration_seconds": 45,
  "messages": [
    { "role": "agent", "content": "Hi! How can I help?" },
    { "role": "user", "content": "I have a question about my order" }
  ],
  "outcome": "Interested",
  "ai_summary": "Caller asked about order status. Agent provided tracking info."
}
messagesoutcomeai_summary は通話終了後にのみ利用可能です。

エージェントをカスタマイズする

エージェントはデフォルトですぐに動作します。ユースケースに合わせてカスタマイズする場合は、何も再作成せずに更新できます。

個性を与える

システムプロンプトでエージェントの役割と動作を定義し、最初のメッセージで通話の開始方法を制御します:
# LLM にシステムプロンプトを設定
curl -X PATCH https://api.oneinbox.ai/v1/models/<llm_id> \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "system_prompt": "You are a helpful support agent for Acme Corp. Keep replies under two sentences. When the caller says goodbye, call end_call.",
    "temperature": 0.7
  }'

# エージェントに最初のメッセージと通話動作を設定
curl -X PATCH https://api.oneinbox.ai/v1/agents/<agent_id> \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "first_message": "Hi! Thanks for reaching out to Acme. How can I help?",
    "silence_timeout_seconds": 10,
    "enable_recording": true
  }'

ツールを追加する

ツールを使うと、通話中にエージェントがアクションを実行できます — 人間に転送、通話を終了、SMS 送信、ミーティング予約など。各ツールを作成して LLM に接続します:
# 人間のエージェントに転送
curl -X POST https://api.oneinbox.ai/v1/tools \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "transfer_to_human",
    "type": "transfer_call",
    "description": "Transfer to a human when the caller asks to speak to a person.",
    "transfer_to": "+15105550100"
  }'

# 通話をきれいに終了
curl -X POST https://api.oneinbox.ai/v1/tools \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "end_call",
    "type": "end_call",
    "description": "End the call after the task is done or the caller says goodbye."
  }'

# 両方のツールを LLM に接続
curl -X PATCH https://api.oneinbox.ai/v1/models/<llm_id> \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "tool_ids": ["<transfer_tool_id>", "<end_call_tool_id>"]
  }'
ツールタイプの全リストは ツール を参照してください — SMS、メール、カレンダー予約、データ抽出など。

ナレッジベースを追加する

エージェントがドキュメントや URL から質問に答えられるようにします:
# ナレッジベースソースを作成
curl -X POST https://api.oneinbox.ai/v1/knowledge-bases \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product FAQ",
    "source_type": "url",
    "url": "https://acme.com/faq"
  }'

# ナレッジベースをエージェントに接続
curl -X PATCH https://api.oneinbox.ai/v1/agents/<agent_id> \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "kb_ids": ["<kb_id>"]
  }'
ファイルのアップロード、URL の同期、ソースの管理については ナレッジベース を参照してください。

次のステップ

エージェント

ボイス、言語、録音、動作の設定

ツール

エージェントにアクションを与える — SMS、メール、データ取得、転送

ナレッジベース

ドキュメントをアップロードまたは URL を同期して回答の参照元にする

電話番号

自分の Twilio 番号を持ち込むか、アウトバウンド/インバウンドの詳細を学ぶ