リファレンス
API キーと認証
キーを生成し、リクエストに署名し、エンドユーザーを認証します。
AskAIs Customer Service は 2 種類の認証情報を提供します。
- API キー — バックエンドがワークスペースとして REST API を呼び出すためのもの
- 受信トレイのシークレットキー — 訪問者の識別ペイロードに署名するためのもの
API キー
設定 → API Keys で生成します。キーは一度だけ表示されます。bearer トークンとして渡します。
curl https://cs.askais.com/api/v1/conversations \
-H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"いつでも失効できます。保存されるのはキーのハッシュであり、平文ではありません。
訪問者識別の署名
ログイン済みユーザーについては、悪意ある訪問者が他のユーザーになりすませないよう、識別ペイロードをサーバー側で署名します。
// Node.js example
import { createHmac } from "node:crypto";
const payload = JSON.stringify({
externalId: user.id,
email: user.email,
ts: Date.now(),
});
const signature = createHmac("sha256", INBOX_SECRET_KEY)
.update(payload)
.digest("hex");
res.json({ payload, signature });続いてブラウザ側で、両方を SingChat.identify() に渡します。
SingChat.identify(JSON.parse(payload), signature);キーのローテーション
受信トレイのシークレットキーをローテーションすると、古い署名は直ちに無効になります。デプロイのタイミングを計画してください。ローテーション後、バックエンドが新しい署名付きペイロードを配信するまで、クライアントは匿名チャットにフォールバックします。
レート制限
- 公開 API キー:キーごとに 1 分あたり 60 リクエスト(バースト 120)
- ウィジェットの識別:訪問者ごとに 1 分あたり 10 回
- メッセージ送信:会話ごとに 1 分あたり 30 件