SDKを使用してGenesys Cloud Platform APIを呼び出す

 メモ:   この記事は、Salesforce向けGenesys Cloudに適用されます。

このページで説明されている機能は近日リリース予定です。 詳細については、 リリースノート

管理パッケージで弊社のSDKを使用して、SalesforceでGenesys Cloud Platform APIを呼び出すことができます。 SDKはSalesforce Apexプログラミング言語を使用しています。 

メモ:   この高度なカスタマイズの記事は、Salesforceに精通している開発者を対象としています。

特定のユーザー コンテキストに関連付けられておらず、OAuth クライアントの権限で許可されている任意の Platform API を呼び出すことができます。 OAuthクライアントは、Salesforceの認証設定用に作成したOAuthクライアントです。 詳細については、以下を参照してください。 認証.

当社のSDKにアクセスするには、 名前空間。 休息クラスからSDKにアクセスする例については、を参照してください。 Genesys Cloud for Salesforce SDKの例 (GitHub)。

休憩クラス

Genesys Cloud for Salesforceを介してGenesys Cloud Platform API上で動作するメソッドが含まれています。 

ネームスペース

purecloud.SDK.Rest

利用先

SalesforceのGenesys Cloudを介してPlatform APIでデータを取得、POST、PUT、または削除するには、これらの方法を使用します。

残りの方法

以下のメソッドは、Restクラスで使用できます。

プラットフォームAPIエンドポイントにHTTP GETリクエストを送信します。

パラメーター

名前 データ・タイプ 必須またはオプション 説明
URL 文字列  必須 プラットフォームAPIのパス(例: /api/v2/users/{userId}.
ヘッダー 地図<String, String=""> 任意 HTTP ヘッダーに追加されたカスタム データ。 

戻り値

データ・タイプ 説明
Http応答 ネイティブのSalesforce HttpResponseを返します。

次の例は、特定のユーザーに関する情報を返します。 /api/v2/users/{userId} エンドポイント。

HttpResponse response = purecloud.SDK.Rest.get('/api/v2/users/6a50987a-f00c-4b10-b627-4a677f9f0263', new Map<String, String>{'CustomHeaderValue' => 'Foo'});

プラットフォームAPIエンドポイントにHTTP PUTリクエストを送信します。

パラメーター

名前 データ・タイプ 必須またはオプション 説明
URL 文字列  必須 プラットフォームAPIのパス(例: /api/v2/users/search(ユーザー/検索).
身体 文字列  必須 シリアル化されたJSONオブジェクト。
ヘッダー 地図<String, String=""> 任意 HTTP ヘッダーに追加されたカスタム データ。 

戻り値

データ・タイプ 説明
Http応答 ネイティブのSalesforce HttpResponseを返します。

次の例では、チャット参加者の属性を次のように変更します。 / api / v2 / conversations / chats / {conversationId} / participants / {participantId} / attributes 終点。 リクエストの本文は次のようにフォーマットされます {「属性」: {「attrib1」: 「JohnDoe」、「attrib2」: 「Foo」}}

Map<String,Object> attributes = new Map<String,Object> { 
    'attrib1' => 'John Doe',
    'attrib2' => 'Foo'
};
Map<String,Object> body = new Map<String,Object> { 
    'attributes' => attributes 
};
HttpResponse response = purecloud.SDK.Rest.patch('/api/v2/conversations/chats/42a09688-c7e2-4d49-b9b8-8667d321a6f7/participants/5ad38568-9b97-4db6-850b-48b750566b06/attributes', JSON.serialize(body), new Map<String, String>{'CustomHeaderValue' => 'Foo'});

プラットフォームAPIエンドポイントにHTTP POSTリクエストを送信します。

パラメーター

名前 データ・タイプ 必須またはオプション 説明
URL 文字列  必須 プラットフォームAPIのパス(例: /api/v2/users/search(ユーザー/検索).
身体 文字列  必須 シリアル化されたJSONオブジェクト。
ヘッダー 地図<String, String=""> 任意 HTTP ヘッダーに追加されたカスタム データ。 

戻り値

データ・タイプ 説明
Http応答 ネイティブのSalesforce HttpResponseを返します。

次の例は、ユーザーを名前で検索し、 /api/v2/users/search(ユーザー/検索) エンドポイント。 この例では、2 つのマッピングされたオブジェクトを使用して JSON 文字列を生成します。 リクエストの本文は次のようにフォーマットされます {「クエリ」: [{ "田畑": [「名前」]、「値」: 「JohnDoe」、「type」: 「含む」}]}

Map<String,Object>query=new Map<String,Object>{
    'fields'=newList<String>{'name'},
    'value'=>'John Doe',
    'type' =>'CONTAINS'
};
Map<String,Object>body=newMap<String,Object>{
    'query' => new List<Object>{ query }
};
HttpResponse response = purecloud.SDK.Rest.post('/api/v2/users/search', JSON.serialize(body), new Map<String, String>{'CustomHeaderValue' => 'Foo'});

プラットフォームAPIエンドポイントにHTTP PUTリクエストを送信します。

パラメーター

名前 データ・タイプ 必須またはオプション 説明
URL 文字列  必須 プラットフォームAPIのパス(例: /api/v2/users/{userId}/callForwarding.
身体 文字列  必須 シリアル化されたJSONオブジェクト。
ヘッダー 地図<String, String) 任意 HTTP ヘッダーに追加されたカスタム データ。 

戻り値

データ・タイプ 説明
Http応答 ネイティブのSalesforce HttpResponseを返します。

次の例は、特定のユーザの通話転送設定を更新し、 /api/v2/users/{userId}/callForwarding エンドポイント。 

String body = '{ "enabled": true, "phoneNumber": "+13175550123" }';
HttpResponse response = purecloud.SDK.Rest.put('/api/v2/users/6a50987a-f00c-4b10-b627-4a677f9f0263/callForwarding', body, new Map<String, String>{'CustomHeaderValue' => 'Foo'});

プラットフォームAPIエンドポイントにHTTP DELリクエストを送信します。

パラメーター

名前 データ・タイプ 必須またはオプション 説明
URL 文字列  必須 プラットフォームAPIのパス(例: /api/v2/users/{userId}/station/associatedStation.
ヘッダー 地図<String, String=""> 任意 HTTP ヘッダーに追加されたカスタム データ。 

戻り値

データ・タイプ 説明
Http応答 ネイティブのSalesforce HttpResponseを返します。

次の例は、ステーションとユーザー間の関連付けを削除し、 /api/v2/users/{userId}/ステーション/関連ステーション エンドポイント。

HttpResponse response = purecloud.SDK.Rest.del('/api/v2/users/6a50987a-f00c-4b10-b627-4a677f9f0263/station/associatedstation', new Map<String, String>{'CustomHeaderValue' => 'Foo'});

詳細については、以下を参照してください。 Salesforce向けGenesys CloudのSDK.

統合の詳細については、以下を参照してください。Salesforce向けGenesys Cloudについて.