logoドキュメント
検索
ログイン

Web SDK統合ガイド

互換性

項目 説明
互換性 IE9+、Chrome、Firefox、Safari、Opera、主流のモバイルブラウザ、iOSおよびAndroidの埋め込みWebView

検証形式

["slide","icon","nine","match"]
              
              ["slide","icon","nine","match"]

            
このコードブロックはフローティングウィンドウ内に表示されます

現在サポートされている形式:

名称 説明
slide スライディングパズル
icon 順番にアイコンをクリック
nine ナイングリッド
match マッチ3ゲーム

クイックスタート

インポート

gt4.jsファイル

EngageLabによって提供されます。

gt4.jsをインポートすると、初期化関数initGeetestがグローバルにマウントされます。

<script src="https://captcha-stat.engagelab.com/www/gt4.js"></script>
              
              <script src="https://captcha-stat.engagelab.com/www/gt4.js"></script>

            
このコードブロックはフローティングウィンドウ内に表示されます

キャプチャの初期化

💡 ヒント

初期化の前に、サーバーから検証IDを取得する必要があります。設定パラメータの詳細を参照してください。

initGeetest関数を使用してキャプチャインスタンスを取得します。この関数の最初のパラメータはキャプチャの設定パラメータであり、2番目のパラメータは初期化完了後のコールバック関数です。

var config = { captchaId: 'xxxx', // 検証ID apiServers: ['https://captcha-api.engagelab.com'], // 検証サーバーアドレスのリスト、必須設定 staticServers: ['https://captcha-stat.engagelab.com/www/js'] // 静的リソースサーバーアドレスのリスト、必須設定 } /** * @desc 初期化完了後のコールバック * @param { Object } gt キャプチャインスタンス */ var callback = function(gt) { // キャプチャインスタンスに基づいて関連業務を処理、例えばキャプチャウィンドウのトリガー、検証成功イベントのリスニングなど... } initGeetest(config, callback)
              
              var config = {
    captchaId: 'xxxx', // 検証ID
    apiServers: ['https://captcha-api.engagelab.com'], // 検証サーバーアドレスのリスト、必須設定
    staticServers: ['https://captcha-stat.engagelab.com/www/js'] // 静的リソースサーバーアドレスのリスト、必須設定
}
/**
 * @desc 初期化完了後のコールバック
 * @param { Object } gt キャプチャインスタンス
 */
var callback = function(gt) {
  // キャプチャインスタンスに基づいて関連業務を処理、例えばキャプチャウィンドウのトリガー、検証成功イベントのリスニングなど...
}
initGeetest(config, callback)

            
このコードブロックはフローティングウィンドウ内に表示されます

キャプチャウィンドウのトリガー

💡 ヒント

設定パラメータproductとペアになり、キャプチャウィンドウをトリガーする方法は2つあります:

  • 組み込みボタンをクリックしてトリガーします。(productの値がbindでない場合)
  • キャプチャインスタンスのshowCaptchaメソッドを呼び出します。(productの値がbindの場合)
<div id="captch_wrap" class="captch-wrap"></div> var config = { captchaId: 'xxxx', // 検証ID apiServers: ['https://captcha-api.engagelab.com'], // 検証サーバーアドレスのリスト、必須設定 staticServers: ['https://captcha-stat.engagelab.com/www/js'], // 静的リソースサーバーアドレスのリスト、必須設定 product: 'bind' // シナリオ2 } /** * @desc 初期化完了後のコールバック * @param { Object } gt キャプチャインスタンス */ var callback = function(gt) { gt.onReady(function() { // シナリオ1: EngageLabが提供する組み込みボタンを使用してキャプチャウィンドウをトリガー // 組み込みボタンを指定エリアに追加 gt.appendTo("#captch_wrap") // シナリオ2: キャプチャウィンドウのカスタムトリガー // 特定のイベントでインスタンスのshowCaptchaメソッドを呼び出す // 例えば、キャプチャが準備完了後に即座にトリガー gt.showCaptcha() }) } initGeetest(config, callback)
              
              <div id="captch_wrap" class="captch-wrap"></div>
var config = {
    captchaId: 'xxxx', // 検証ID
    apiServers: ['https://captcha-api.engagelab.com'], // 検証サーバーアドレスのリスト、必須設定
    staticServers: ['https://captcha-stat.engagelab.com/www/js'], // 静的リソースサーバーアドレスのリスト、必須設定
    product: 'bind' // シナリオ2
}
/**
 * @desc 初期化完了後のコールバック
 * @param { Object } gt キャプチャインスタンス
 */
var callback = function(gt) {
    gt.onReady(function() {
      // シナリオ1: EngageLabが提供する組み込みボタンを使用してキャプチャウィンドウをトリガー
      // 組み込みボタンを指定エリアに追加
      gt.appendTo("#captch_wrap")
      // シナリオ2: キャプチャウィンドウのカスタムトリガー
      // 特定のイベントでインスタンスのshowCaptchaメソッドを呼び出す
      // 例えば、キャプチャが準備完了後に即座にトリガー
      gt.showCaptcha()
    })
}
initGeetest(config, callback)

            
このコードブロックはフローティングウィンドウ内に表示されます

検証結果の取得

/** * @desc 初期化完了後のコールバック * @param { Object } gt キャプチャインスタンス */ var callback = function(gt) { // キャプチャウィンドウをトリガー... // 検証結果をリスニング gt.onSuccess(function(res) { console.log(res) }) } initGeetest({...}, callback)
              
              /**
 * @desc 初期化完了後のコールバック
 * @param { Object } gt キャプチャインスタンス
 */
var callback = function(gt) {
    // キャプチャウィンドウをトリガー...
    // 検証結果をリスニング
    gt.onSuccess(function(res) {
        console.log(res)
    })
}
initGeetest({...}, callback)

            
このコードブロックはフローティングウィンドウ内に表示されます

設定パラメータ

設定パラメータ

パラメータ 説明 デフォルト値
captchaId string 検証ID、EngageLabバックエンドから取得 必須
product string キャプチャウィンドウ表示モード、選択可能な値: float, popup, bind float
language string 渡された値が優先され、次に現在のブラウザ言語が優先されます。どちらも一致しない場合、デフォルト値が使用されます zh
protocol string ネットワークプロトコル //
apiServers array 検証リクエストサービスアドレス(プロトコルを除く)、['https://captcha-api.engagelab.com']として設定必須 -
staticServers array 検証に必要な静的リソースサービスアドレス(プロトコルを除く)、['https://captcha-stat.engagelab.com/www/js']として設定必須 -
post boolean trueに設定するとリクエストメソッドはajax、そうでない場合はjsonp false
showSuccessTip boolean productがbindの場合、成功通知ウィンドウを制御 true
riskType string スライド、クリックなどの検証形式を指定(バックエンドシステムの検証モードがリスク融合モードに設定されている場合のみ有効) -
timeout number 検証リクエストのタイムアウト 30000
offlineCb function カスタムオフライン処理関数 -
onError function キャプチャ初期化前のエラーキャプチャ -
mask Object キャプチャウィンドウマスクの設定
nativeButton Object 組み込みボタンに関連する設定
toolbar Array ツールバー設定
clientType string クライアントタイプ、選択可能な値: web
width string キャプチャウィンドウの幅を設定。最大幅は340px(キャプチャウィンドウの高さは自動調整、アスペクト比は約 340px
zoom number 特殊なシナリオのためのスケーリング値、最大値に制限されない(Firefoxブラウザでは固定値1) 1

マスクオブジェクト設定

パラメータ 説明 デフォルト値
backgroundColor string 有効な色の値 -
outside boolean キャプチャエリア外をクリックするとキャプチャを閉じる -

ネイティブボタンオブジェクト設定

パラメータ 説明 デフォルト値
width string 組み込みトリガーボタンの幅 -
height string 組み込みトリガーボタンの高さ -

ツールバー配列設定

initGeetest({..., toolbar: ['close', 'refresh']}, function() {...})
              
              initGeetest({..., toolbar: ['close', 'refresh']}, function() {...})

            
このコードブロックはフローティングウィンドウ内に表示されます

言語設定

initGeetest({..., language: 'zh'}, function() {...})
              
              initGeetest({..., language: 'zh'}, function() {...})

            
このコードブロックはフローティングウィンドウ内に表示されます
有効な値 説明
close string キャプチャウィンドウを閉じるボタン
refresh string キャプチャウィンドウをリフレッシュするボタン

言語 (18種類)

選択可能な値 言語
ara アラビア語
deu ドイツ語
eng 英語
fra フランス語
ind インドネシア語
jpn 日本語
kor 韓国語
msa マレー語
pon ブラジルポルトガル語
por ヨーロッパポルトガル語
rus ロシア語
spa スペイン語
tha タイ語
udm ウイグル語
vie ベトナム語
zh 簡体字中国語
zho-hk 繁体字中国語(香港)
zho-tw 繁体字中国語(台湾)

動作検証オフラインモード

オフラインモードは極端な状況に対応するために設定されており、異常なキャプチャ検証プロセスが通常の業務プロセスに影響を与えないようにします。

オフラインモードは主に、ウェブサイトのメインサーバーが検証サーバーに接続できず、接続タイムアウトなどの問題が発生した場合に発生します。

オフラインモードでは、すべての検証プロセスが検証サーバーをバイパスします。統合者は検証ロジックを追加するか、製品のダウングレード計画を持つ必要があります。

image

検証サーバーがオフラインモードに入ると、

クライアントプロセスは変更されず、キャプチャをトリガーすると即座に成功し、onSuccessに入ります。

業務システムはキャプチャシステムに二次検証を送信し、タイムアウトした場合はオフラインと確認されます。

initGeetest({...}, function(gt) { ... gt.onSuccess(function(res) { console.log(res) // 検証成功結果の例 { captcha_id: "59bbe0f128f0624fdd185a6a2207aa54", captcha_output: "X000Q5p.....i-SFRyH1", client_type: "web", gen_time: "1648204854", lot_number: "200e2e58e1d3a6906e08cc9ff5c6e0b5", offline: true, pass_token: "e000b4dc372c1397976f7b8f12d66ea8d5c993ab2db5810258e835429f6fa4ae" } // 業務システムに送信... }) })
              
              initGeetest({...}, function(gt) {
    ...
    gt.onSuccess(function(res) {
        console.log(res) // 検証成功結果の例
        {
            captcha_id: "59bbe0f128f0624fdd185a6a2207aa54",
            captcha_output: "X000Q5p.....i-SFRyH1",
            client_type: "web",
            gen_time: "1648204854",
            lot_number: "200e2e58e1d3a6906e08cc9ff5c6e0b5",
            offline: true,
            pass_token: "e000b4dc372c1397976f7b8f12d66ea8d5c993ab2db5810258e835429f6fa4ae"
        }
        // 業務システムに送信...
    })
})

            
このコードブロックはフローティングウィンドウ内に表示されます
icon
お問い合わせ