Integration Hub

Integration Hubは、サードパーティの認証およびWebサービスとCXoneの統合に対応するための標準化された方法を提供します。 Webサービスは、アプリケーション、プラットフォーム、またはシステムである可能性があります。

Integration Hubは、CXoneでRESTAPI呼び出しを操作できる方法の1つです。 Integration Hubを使用する利点は、接続を追加して複数の場所で使用できることです。 他の方法では、使用するたびに接続を構築する必要があります。

さらに、Integration Hubは、MTLSやシークレットなどのセキュリティも強化されています。 シークレットとして追加された変数は暗号化され、直接アクセスすることはできません。

接続と接続テンプレート

接続は、APIリクエストの詳細、認証の詳細、CXoneで使用したい変数を定義します。  接続には、すべてのタイプの接続情報が含まれている必要はありません。 サポートされている情報のタイプを任意に組み合わせて保持できます。

Integration Hubに追加する各接続は、接続テンプレートに基づいて作成されます。 テンプレートは、テンプレートで作成されるすべての接続に適用される基本情報を定義します。 これは次を含んでいます:

  • 接続先のWebサービスの名前。
  • 統合方法。 現在、サポートされている方法はREST APIのみです。
  • 認証のタイプ(ある場合)。 現在、OAuth 2.0または認証なしを選択できます。
  • 認証用のカスタムヘッダー(必要な場合)。
  • テンプレートに基づいて行われたリクエストで利用可能な動詞。 動詞は、データの取得やレコードの作成など、接続済Webサービスで実行できるアクションです。

Integration HubNICEが所有するシステムテンプレートと、自分で作成するテンプレートの2タイプのテンプレートがあります。 システムテンプレートにはIntegration Hubが付属し、削除することはできません。 それには以下が含まれます:

  • NICE CXone開発ポータルAPI Developer Portalで利用可能なエンドポイントと統合し、Studioフレームワークのアクションへの依存を軽減します。 OAuth 2.0認証を使用します。 認証を決定するために、それは検出URLを使用します。 クライアント証明書はサポートしていません。

システムテンプレートや自分で作成したテンプレートは変更できません。 ただし、カスタムテンプレートは削除できます。 後でカスタムテンプレートの何かを変更する必要がある場合は、テンプレートを削除して新しいテンプレートを作成することができます。 接続自体を変更することもできます。 カスタムテンプレートを削除しても、そのテンプレートで作成された接続には影響しません。

テンプレートはIntegration Hubの接続ライブラリーで利用可能です。 接続はIntegration Hubの自分の接続の下にリストされます。 最大50個の接続を作成できます。 テンプレートの数に制限はありません。

リクエスト

リクエストはAPI呼び出しです。 これらは、Webサービスに接続するために使用される次の情報を指定します。

  • URL:接続先のリソースの場所。
  • メソッド(動詞):データの取得や新しいレコードの作成など、リクエストで実行するアクション。 Integration Hubは以下の動詞をサポートしています:GET、PUT、POST、DELETE、TRACE、PATCH、HEAD、OPTIONS。 接続で使用できる動詞は、接続の作成に使用されるテンプレートで定義されます。
  • ヘッダー:リクエストに関する追加情報が含まれるリクエストの一部。 これには、言語、資格情報などが含まれます。
  • クエリーパラメーター:APIリクエストで情報を渡す方法。 これらはキーと値のペアとして設定されます。 これらを使用して、レスポンスで返されるデータをフィルター処理、並べ替え、カスタマイズ、または制御できます。
  • 本文:リクエストのコンテンツ。 フォーマットは、接続する先のAPIの要件によって異なります。  本文のメディアタイプは、接続先のリソースが期待するものと一致させる必要があります。 これはMIMEタイプまたはコンテンツタイプとしても知られています。 以下は、サポートされているオプションとそれに関連するコンテンツヘッダーです:
    • ApplicationJson: application/json
    • ApplicationJsonPatch: application/json-patch+json
    • FormURLEncoded: application/x-www-form-urlencoded
    • TextHtml: text/html
    • TextPlain: text/plain
    • TextXml: text/xml

Integration Hub接続には最大50件のリクエストを含めることができます。 一度にアクティブにできるリクエスト数に制限はありません。

CXoneではレスポンスのサイズに32Kbの制限があります。 クエリーパラメーターを使用して、返されるデータをフィルター処理します。 これにより、その制限内に留まることができます。

手動とStudioリクエスト

Integration Hubは接続のリクエストに対して次の2つのオプションをサポートします。

  • 手動:手動リクエストは、リクエストの追加ページのオプションを使用してIntegration Hub構築されます。 オプションにシークレットを使用することができます。 手動リクエストは、データが変更されない場合に一般的に使用されます。 Studioスクリプトを必要とせず、Integration Hubから直接実行できますStudioスクリプト内で実行することもできます
  • Studio:場合によっては、APIリクエストをIntegration Hubで手動リクエストとして構築できないことがあります。 たとえば、パスパラメーター、変数の置換を必要とするリクエスト、またはSOAP Webサービスに接続するリクエストは、Studioスクリプトで構築する必要があります。 ただし、Integration Hub接続でこれらのリクエストを追跡する必要がある場合があります。 Studioリクエストオプションを使用するとそれが可能になります。 Studioリクエストは、接続のすべての手動リクエストとともに、接続のリクエストタブに表示されます。

変数

Integration Hubでは、値のペアを変数として格納することができます。 変数はデフォルトでは暗号化されていません。 ただし、変数をシークレットに変えて暗号化することはできます。 変数をシークレットとしてマークすることで、パスワードやキーのような機密情報のセキュリティを高めることができます。

変数は、それらを作成した接続内で使用することができます。 Studioスクリプトで接続または認証リクエストを実行した場合、スクリプト内でその接続から変数を使用できます

シークレットは保存時に暗号化されます。 Integration Hubはデータを暗号化するために、Advanced Encryption Standard (AES)を使用します。 データは暗号化されたデータベースに保存されます。 データが復号化されるのは実行時のみです。

Integration HubStudioアクション

認証を使用したり、Studioスクリプトでリクエストを行ったりする場合は、次のStudioアクションを使用します:

  • CONNECTAUTH:このアクションにより、スクリプトに認証の詳細またはシークレットを含めることができます。 認証の詳細と変数は、Integration Hub接続で定義する必要があります。
  • CONNECTREQUEST:このアクションにより、Integration Hub接続で定義されたリクエストを使用できます。 手動リクエストStudioリクエストを使用するには、このアクションが必要です。

Integration HubStudioアクションに関する重要な事実

  • それにはIntegration Hubが必要です。 CXoneシステムでIntegration Hubが有効になっていない場合、アクションは機能しません。
  • スクリプトには各アクションのインスタンスを複数含めることができます。
  • 変数置換を使用すると、異なるリクエストを実行したり、単一のスクリプトで複数の接続からの認証を使用したりすることができます。
  • CXoneでAPI呼び出しを行う他の方法と同様に、接続済Webサービスからのレスポンスを受信して適切に処理するには、追加のスクリプトが必要です。
  • CONNECTAUTHのカスタマイズは一切できません。 Integration Hubの接続で定義されている認証リクエストを実行します。