AIチャットボットAPI

当社のREST APIで独自のAIチャットボット連携を構築できます。メッセージを送信すると、あらゆるプラットフォーム、アプリケーション、独自システム向けにAIが的確な回答を返します。

APIキーを取得 料金を見る

AIで自由に構築

REST APIにより、AIチャットボットの機能をあらゆるアプリケーションに組み込めます

# AIにメッセージを送信
curl -X POST https://asyntai.com/api/v1/chat/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "営業時間を教えてください。"}'

シンプルなREST API

メッセージ送信とAI応答の取得は、単一のエンドポイントで完結します。cURL、Python、JavaScript など、HTTPリクエストを送れる言語であれば利用できます。複雑なSDKは不要です。

# AIの応答
{
  "success": true,
  "response": "営業は月曜から金曜、
    9時から18時までです。ご用件をどうぞ。"
,
  "session_id": "abc123"
}

的確な応答

AIは貴社の事業内容を把握しています。ウェブサイト、資料、独自の指示をもとに、どのような質問にも正確で文脈に沿った回答を返します。

# 文脈を保った会話
{
  "message": "私の前の質問は何でしたか。",
  "session_id": "user_12345"
}

# AIが会話を記憶します

会話の記憶

セッションIDを使うと会話の文脈が保たれます。AIは以前のメッセージを記憶し、複数のやり取りを通じて一貫した回答を返します。

開発者のための設計

AIチャットボット機能をアプリに組み込むために必要なものがすべて揃っています

RESTful設計

標準的な作法に沿った、分かりやすいREST APIです。理解しやすく、組み込みやすく、保守も容易です。

シンプルな認証

APIキーによる安全な認証です。ヘッダーにキーを入れるだけでリクエストを送れます。

短い応答時間

速度を重視した設計です。AIの応答は秒単位ではなくミリ秒単位で返ります。

セッション管理

セッションIDによる会話追跡を標準で備えています。複数のメッセージにわたる文脈を手間なく維持できます。

多言語対応

AIは利用者の言語を判別し、その言語で応答します。追加の作業なしで世界中の利用者に対応できます。

安全で安定

HTTPS暗号化、レート制限、99.9%の稼働率。連携は安全で、常に利用できます。

AIチャットボットAPIで開発を始めますか。

100メッセージまで無料でチャットボットを試せます。API利用には有料プランが必要です。

APIキーを取得する

利用の流れ

3つの簡単な手順でAIチャットボットAPIを使い始められます

1

登録してAPIキーを取得

アカウントを作成し、ダッシュボードでAPIキーを発行します。AIはウェブサイトの内容を自動で取り込みます。

2

最初のリクエストを送る

チャットのエンドポイントにメッセージを含むPOSTリクエストを送ります。AIが処理し、的確な応答を返します。

3

どこにでも組み込める

モバイルアプリ、ウェブサイト、社内ツール、独自のプラットフォームなど、どこでもAPIを利用できます。

APIドキュメントを見る

活用例

AIチャットボットAPIは汎用性が高く、思いつくあらゆるプラットフォームやアプリでAIサポートを実現できます。

  • モバイルアプリ(iOS、Android、React Native)
  • 独自のウェブアプリケーション
  • 社内サポートツール
  • 音声アシスタントとIVRシステム
  • Slackボット、Discordボットなど
# Pythonの例
import requests

response = requests.post(
  "https://asyntai.com/api/v1/chat/",
  headers={"Authorization": "Bearer API_KEY"},
  json={"message": "こんにちは。"}
)

print(response.json()["response"])

分かりやすい料金体系

Freeプランにはダッシュボードでの試用メッセージが100件含まれます。API利用はStarter以上です。

Free
$0
ずっと無料
100メッセージ
始める
Starter
$39
月額
2,500メッセージ
始める
Pro
$449
月額
50,000メッセージ
始める

選ばれる理由

最小限の手間で高機能なAIチャットボット連携を構築できます

より早く公開

数か月のAI開発が不要になります。APIを組み込めば、今日からアプリに高度なチャットボット機能を追加できます。

常に最新

AIの知識はダッシュボードからいつでも更新できます。事業の変化に合わせてAPIを変更する必要はありません。

費用対効果が高い

使った分だけのお支払いです。インフラ費用、AI学習の費用、保守の手間はかかりません。

今日から始めましょう

API利用にはStarter、Standard、Proのいずれかが必要です。まず無料アカウントでチャットボットをお試しください。

APIキーを取得する

よくある質問

AIチャットボットAPIについて知っておきたいこと

APIはどう始めますか。
こちらからAPIキーを取得してください。アカウントを作成し、AIが事業内容を把握できるようウェブサイトのURLを入力して、APIキーを発行します。次にcURL、Python、JavaScriptなど任意のHTTPクライアントで最初のリクエストを送ります。
対応しているプログラミング言語は何ですか。
HTTPリクエストを送れる言語であれば利用できます。Python、JavaScript、PHP、Ruby、Java、C#、Go、Swift、Kotlinなどが含まれます。ドキュメントにコード例を掲載しています。
会話の文脈はどのように機能しますか。
リクエストに session_id を含めてください。AIはそのセッション内の以前のメッセージをすべて記憶し、文脈に沿って応答します。利用者ごと、会話ごとに一意の識別子を使ってください。
AIはどのように事業内容を把握しますか。
ウェブサイトのURLを登録すると自動で読み取ります。PDFやテキストの資料をアップロードしたり、独自の指示を追加したり、質問と回答の組を登録したりもできます。いずれもダッシュボードで行い、APIの変更は不要です。
レート制限はどうなっていますか。
レート制限はプランによって異なります。APIはリアルタイムのチャット用途を想定しています。より高い上限が必要な場合はご相談ください。
APIは安全ですか。
はい。すべてのリクエストはHTTPSで暗号化されます。APIキーは秘密に保ち、クライアント側のコードには決して記載しないでください。自社サーバーからの呼び出しを推奨します。
開発者向けリファレンス

最初のリクエスト

POSTを1回送るだけで、ナレッジベースに基づくAIの回答が返ります。SDKの導入は不要です。

POST /api/v1/chat/curl
curl -X POST https://asyntai.com/api/v1/chat/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "日本への発送は可能ですか。"}'

# 200 OK
{
  "success": true,
  "response": "はい、日本へは3〜5日で発送します。",
  "session_id": "api_1042_87"
}

最初の呼び出しの前にナレッジベースに内容を登録してください。APIは自社の資料、価格、規約に基づいて回答します。ナレッジベースが空の場合、回答は一般的なものになります。

認証

すべてのリクエストはヘッダーにAPIキーを含めます。2つのヘッダー形式が使え、動作は同じです。どちらかを選んでください。キーは設定 → APIで発行します。

ヘッダーのみ対応します。キーをクエリ文字列から読み取ることはありません。URLに含めたキーはサーバーログ、プロキシログ、ブラウザ履歴、Refererヘッダーに残るため、その方法には対応していません。

使える2つの形式http
# 方式A - ベアラートークン
Authorization: Bearer YOUR_API_KEY

# 方式B - 専用ヘッダー
X-API-Key: YOUR_API_KEY

チャットのエンドポイント

POST https://asyntai.com/api/v1/chat/

リクエストボディ

項目必須説明
messagestring必須利用者のメッセージ。空の場合は400を返します。
session_idstring任意会話ごとに独自に決める識別子。同じ値を再送すると文脈が保たれます。省略するとアカウント全体で1つのセッションを共有します。
website_idinteger任意どのエージェントが回答するか。省略した場合は主要サイト、なければアカウントの最初のサイトが使われます。

レスポンスボディ

項目説明
successbooleanAIが回答を生成した場合はtrue
responsestring回答の本文。
session_idstringこのメッセージが記録されたセッション。次の呼び出しで送り返してください。

会話の記憶

固定のsession_idを渡すと、その会話の直近10件が文脈として渡されます。そのため「それはいくらですか」といった追加の質問も正しく解釈されます。利用者ごとに異なるsession_idを使ってください。省略すると、アカウントのすべての呼び出しが1つの履歴を共有します。本番環境では通常望ましくありません。

2回の呼び出しで文脈を保つjson
// 1回目の呼び出し
{ "message": "日本への発送は可能ですか。", "session_id": "user-8842" }

// 2回目の呼び出し - session_idが同じなので「それ」が伝わります
{ "message": "それはいくらですか。", "session_id": "user-8842" }

組み込みの例

コピーして貼り付け、キーを差し替えてください。

サーバー側のfetchjavascript
const res = await fetch('https://asyntai.com/api/v1/chat/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    message: '日本への発送は可能ですか。',
    session_id: 'user-8842'
  })
});

const data = await res.json();
if (!data.success) throw new Error(data.error);
console.log(data.response);

// APIキーをブラウザのコードに含めないでください。自社サーバーまたは
// エッジ関数から呼び出し、結果を中継してください。
Python 3python
import requests

resp = requests.post(
    "https://asyntai.com/api/v1/chat/",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "message": "日本への発送は可能ですか。",
        "session_id": "user-8842",
    },
    timeout=30,
)

data = resp.json()
if not data["success"]:
    raise RuntimeError(data["error"])

print(data["response"])
PHP 8php
$ch = curl_init('https://asyntai.com/api/v1/chat/');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer YOUR_API_KEY',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'message'    => '日本への発送は可能ですか。',
        'session_id' => 'user-8842',
    ]),
]);

$data = json_decode(curl_exec($ch), true);
curl_close($ch);

if (empty($data['success'])) {
    throw new Exception($data['error']);
}
echo $data['response'];
Node.js 18+javascript
const ASYNTAI_KEY = process.env.ASYNTAI_API_KEY;

export async function ask(message, sessionId) {
  const res = await fetch('https://asyntai.com/api/v1/chat/', {
    method: 'POST',
    headers: {
      'X-API-Key': ASYNTAI_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({ message, session_id: sessionId })
  });

  if (res.status === 429) throw new Error('月間メッセージ上限に達しました');

  const data = await res.json();
  if (!data.success) throw new Error(data.error);
  return data.response;
}
Shellcurl
curl -X POST https://asyntai.com/api/v1/chat/ \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "日本への発送は可能ですか。",
    "session_id": "user-8842"
  }'

エラー応答

失敗時は必ず{"success": false, "error": "..."}と、次のいずれかのステータスコードを返します。

Status意味対処
400JSONの形式が不正、messageが無い、またはアカウントに属さないwebsite_idを指定しています。送信内容を修正してください。errorの文字列に原因が示されます。
401APIキーが無いか、どのアカウントとも一致しません。ヘッダー名と、キーが再発行されていないかを確認してください。
403アカウントがFreeプランです。API利用にはStarter、Standard、Proのいずれかが必要です。プランを変更してください
429月間メッセージ上限に達しました。ボディには"limit_reached": trueも含まれます。送信を控えてプランを変更するか、次の請求期間をお待ちください。
503AIサービスがこのリクエストに応答できませんでした。間隔を空けて再試行してください。一時的な事象です。

ステータスコードだけでなくsuccessも確認してください。大量に送信する場合は429を個別に処理してください。そうしないと、上限到達が利用者には単なる障害に見えます。

エンドポイント一覧

ベースURLはhttps://asyntai.com/api/v1/です。すべてのエンドポイントで同じ認証を使います。

Chat

メソッドパス用途
POST/chat/メッセージを送り、AIの回答を受け取ります。

サイトとエージェント

メソッドパス用途
GETPOST/websites/エージェントの一覧取得、または作成して読み取りを開始します。
GET/websites/{id}/エージェントの詳細。
GETPATCH/websites/{id}/settings/ウィジェット設定の取得または変更。
GETPUT/websites/{id}/instructions/AIの指示の取得または置き換え。

ナレッジベース

メソッドパス用途
GET/knowledge/AIが参照できる内容の一覧。
POST/knowledge/text/テキストを追加します。
POST/knowledge/url/URLでページを追加します。
POST/knowledge/spreadsheet/表計算ファイルを追加します。
GETDELETE/knowledge/{context_id}/項目の取得または削除。
POSTPUT/knowledge/{context_id}/tags/項目のタグを管理します。

会話とデータ

メソッドパス用途
GET/conversations/過去の会話。
GET/sessions/メッセージ件数付きのセッション。
GET/leads/チャットボットが取得した連絡先。
GET/account/プラン、利用量、上限。

Webhooks

メソッドパス用途
GETPOST/webhooks/Webhookの一覧取得または登録。
DELETE/webhooks/{webhook_id}/Webhookを削除します。

条件と上限

項目内容
プランAPI利用には有料プラン(Starter、Standard、Pro)が必要です。Freeアカウントは403を受け取ります。
メッセージ上限APIのメッセージは、ウィジェットの会話と同じ月間上限に算入されます。現在値はGET /api/v1/account/で確認できます。
履歴の件数session_idごとに直近10件までが文脈として渡されます。
通信HTTPSのみ。リクエストとレスポンスのボディはJSONです。
キーの再発行設定 → APIでキーを再発行できます。古いキーは直ちに使えなくなります。

AIで開発を始めませんか。

無料アカウントを作成し、ダッシュボードでチャットボットをお試しください。APIキーの取得には有料プランをお選びください。

APIキーを取得 - 有料プランが必要