YOKIYAKI API
外部アプリケーションからYOKIYAKIのコンプライアンスチェック機能を利用できます
薬機法・景表法対応
リアルタイム分析
REST API
クイックスタート
1アカウント作成
YOKIYAKIアカウントを作成してログインします
2APIキー発行
設定画面からAPIキーとシークレットを発行します
3APIコール
認証ヘッダーを付けてAPIエンドポイントを呼び出します
認証
すべてのAPIリクエストには、以下のHTTPヘッダーが必要です:
x-api-key- あなたのAPIキーx-api-secret- あなたのAPIシークレットAPIキーとシークレットは設定 > APIから発行できます。シークレットは発行時のみ表示されるため、安全な場所に保存してください。
エンドポイント
POST
/functions/v1/api-risk-checkテキストのコンプライアンスリスクを分析します
リクエストボディ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
text | string | ○ | チェック対象のテキスト(最大50,000文字) |
sensitivity | string | - | 検出感度: strict(厳格), standard(標準・デフォルト), lenient(寛容) |
レスポンス
| フィールド | 型 | 説明 |
|---|---|---|
success | boolean | リクエスト成功/失敗 |
data.threat_level | string | 脅威レベル: none, low, medium, high, critical |
data.total_risks | number | 検出されたリスクの総数 |
data.sensitivity | string | 使用された検出感度 |
data.risks | array | 検出されたリスクの詳細配列 |
risks[].category | string | リスクカテゴリ |
risks[].severity | string | 重大度: low, medium, high, critical |
risks[].description | string | リスクの説明 |
risks[].exact_phrase | string | 問題のある最小限のフレーズ(ぼかし対象) |
risks[].context | string | 問題フレーズの前後の文脈 |
risks[].suggestion | string | exact_phraseの代替表現 |
risks[].related_law | string | 関連法令 |
credits_remaining | number | 残りクレジット数 |
POST
/functions/v1/api-verify-credentialsAPIキーとシークレットが有効かどうかを検証します(クレジット消費なし)
用途: 外部連携アプリ(U-KOMIなど)が認証情報を保存する前に、APIキーとシークレットが正しいかを確認するために使用します。 このエンドポイントはクレジットを消費せず、last_used_atも更新しません。
リクエストヘッダー
| ヘッダー | 必須 | 説明 |
|---|---|---|
x-api-key | ○ | 検証するAPIキー |
x-api-secret | ○ | 検証するAPIシークレット |
レスポンス
200成功
{
"valid": true,
"message": "API credentials are valid"
}401認証エラー
{
"valid": false,
"error": "Invalid API key" // or "Invalid API secret", "API key has been revoked"
}使用例(cURL)
curl -X POST "https://pkdzwlrpzhezzjwzjkkl.supabase.co/functions/v1/api-verify-credentials" \
-H "x-api-key: yk_your_api_key_here" \
-H "x-api-secret: yks_your_api_secret_here"コード例
bash
curl -X POST "https://pkdzwlrpzhezzjwzjkkl.supabase.co/functions/v1/api-risk-check" \
-H "Content-Type: application/json" \
-H "x-api-key: yk_your_api_key_here" \
-H "x-api-secret: yks_your_api_secret_here" \
-d '{
"text": "この化粧品を使うと肌が10歳若返ります!シミやシワが完全に消えて、誰もが驚く美肌に生まれ変わります。",
"sensitivity": "standard"
}'レスポンス例
成功リスク検出時
json
{
"success": true,
"data": {
"threat_level": "high",
"total_risks": 2,
"sensitivity": "standard",
"risks": [
{
"category": "効能効果の誇大表現",
"severity": "high",
"description": "「10歳若返る」という表現は、化粧品で得られる効果として誇大であり、薬機法違反の可能性があります。",
"exact_phrase": "10歳若返ります",
"context": "この化粧品を使うと肌が10歳若返ります!",
"suggestion": "ハリと潤いを与えます",
"related_law": "薬機法第66条",
"risk_source": "L1"
},
{
"category": "医薬品的効能効果の標榜",
"severity": "high",
"description": "「シミやシワが完全に消える」は医薬品的な効能効果であり、化粧品では標榜できません。",
"exact_phrase": "完全に消えて",
"context": "シミやシワが完全に消えて、誰もが驚く美肌に生まれ変わります。",
"suggestion": "目立たなくして",
"related_law": "薬機法第66条",
"risk_source": "L1"
}
]
},
"credits_remaining": 48
}エラークレジット不足時
json
{
"success": false,
"error": "Insufficient credits",
"pages_used": 100,
"pages_limit": 100
}エラーコード
| HTTPステータス | エラー | 説明 |
|---|---|---|
400 | Text field is required | textパラメータが指定されていません |
400 | Text exceeds maximum length | テキストが50,000文字を超えています |
401 | API credentials required | 認証ヘッダーが指定されていません |
401 | Invalid API key | APIキーが無効です |
401 | Invalid API secret | APIシークレットが無効です |
401 | API key has been revoked | APIキーが無効化されています |
403 | No active subscription found | 有効なサブスクリプションがありません |
403 | Subscription is not active | サブスクリプションが無効です |
403 | Insufficient credits | クレジットが不足しています |
500 | Internal server error | サーバー内部エラー |
利用制限
クレジット消費
1回のAPIコールで1クレジットを消費します。残りクレジットはレスポンスのcredits_remainingで確認できます。
テキスト長制限
1回のリクエストで送信できるテキストは最大50,000文字です。
今すぐ始めましょう
アカウントを作成してAPIキーを発行し、コンプライアンスチェックを自動化しましょう