概要

一般原則

HTTP リクエスト方法

KCSサービスは、可能な限り標準的なHTTPとRESTに近づくよう努めています。

リクエスト方法 用途
GET リソースの取得
POST 新しいリソースの作成またはリソースのクエリ
PUT 既存リソースの更新
DELETE 既存リソースの削除

HTTP ステータスコード

KCSサービスは、可能な限り標準的なHTTPとRESTに近づくよう努めています。

ステータスコード 用途
200 OK HTTPリクエスト成功時の標準応答。実際の応答はリクエスト方法によって異なります。
400 Bad Request クライアントエラーのため、サーバーがリクエストを処理できない、または処理しない場合。
401 Unauthorized 認証されていません。
404 Not Found リクエストされたリソースが見つかりません。
500 Internal Server Error サーバー内部エラー。

呼び出しアドレス

フォーマット

https://{tenant_kcs_domain}/api/sdk/{relative address}

括弧で囲まれた部分の意味は以下の通りです:

変数 説明
tenant_kcs_domain: テナントKCSドメイン テナント自身のKCSドメイン、例:knowledgeservice.udesk.cn
relative address: インターフェース相対アドレス APIの相対URL

認証トークンを取得するための完全なインターフェースアドレス:

https://knowledgeservice.udesk.cn/api/auth/open/token

認証方法

認証トークンの取得

パラメータ

名称 説明
appId テナントの一意識別子であり、テナントの認証識別子でもあります。Udesk担当者に連絡して取得してください。
appIdの取得方法:KCSページにログイン-->ホームページ-->F12を開く→initインターフェース
userId ユーザーID、【ユーザーセンター管理プラットフォーム--ユーザー管理】にログインし、ページ上で確認できるユーザーID

戻り値 認証トークンを取得するログインはtokenを返します。他のインターフェースでは以下のリクエストパラメータを追加する必要があります:

Authorization  Bearer {{token}}

有効期限 50分ごとに失効します。トークンを再取得する必要があります。

インターフェースレート制限

SDKインターフェースは、GuavaのRateLimiterを使用してインターフェースのレート制限を実装しています。

2種類のレート制限方法

1. グローバル統一制御(現在使用中)

@RateLimit(permitsPerSecond = "${rate.limit.adapter.out.permitsPerSecond}", timeout = "${rate.limit.adapter.out.timeout}")

ymlファイルで設定します:

rate:  
    limit:    
        default:    
            enabled: true    
        adapter:    
            out:    
                permitsPerSecond: 8   # 1秒あたり最大8リクエスト    
                timeout: 100          # トークン取得の最大待機時間は100ミリ秒

2、カスタムレート制限パラメータの使用(カスタムレート制限が優先されます。設定されている場合はカスタム設定を使用し、設定されていない場合は設定ファイルを使用します)

@RateLimit(permitsPerSecond = "8", timeout = "100")