describeSoftphoneLayout()
Salesforce CRM Call Center のソフトフォンのレイアウト情報を取得します。
構文
1DescribeSoftphoneLayoutResult[] = connection.describeSoftphoneLayout();使用方法
ソフトフォンレイアウト情報の取得にこのコールを使用します。Salesforce CRM Call Center のコンテキストでのみ使用し、クライアントプログラ���から直接コールしないでください。
引数
このコールはオブジェクトを取りません。
応答
| 名前 | 型 | 説明 |
|---|---|---|
| callTypes | DescribeSoftphoneLayoutCallType[] | 許可された各通話種別と関連付けられた属性のセット。通話種別は、着信、発信、および内線のいずれかとなります。 |
| id | ID | レイアウトの ID。レイアウトオブジェクトは API からは公開されません。 |
| name | string | 通話種別名。着信、発信、および内線のいずれかとなります。 |
DescribeSoftphoneLayoutCallType
各 DescribeSoftphoneLayoutResult オブジェクトには 1 つ以上の通話種別が含まれます。
| 名前 | 型 | 説明 |
|---|---|---|
| infoFields | DescribeSoftphoneLayoutInfoField[] | ソフトフォンレイアウト内の情報項目のセット。 |
| name | string | レイアウトの名前。 |
| screenPopOptions | DescribeSoftphoneScreenPopOption[] | 通話の詳細が既存のレコードに一致する場合、またはしない場合のスクリーンポップ表示方法を指定するソフトフォンレイアウトの設定。 この項目は、API バージョン 18.0 以降で使用できます。 |
| screenPopsOpenWithin | string | 通話の詳細が既存のレコードに一致する場合、または一致しない場合に、新しいブラウザウィンドウに画面ポップを表示するかどうかを指定するソフトフォンレイアウトの設定。 この項目は、API バージョン 18.0 以降で使用できます。 |
| sections | DescribeSoftphoneLayoutSection[] | ソフトフォンレイアウト内のオブジェクト名と対応する項目名のセット。通話種別には、オブジェクトごとに 1 つのセクションがあります。 |
DescribeSoftphoneLayoutInfoField
ソフトフォンレイアウト内の情報項目。
| 名前 | 型 | 説明 |
|---|---|---|
| name | string | ソフトフォンレイアウト内の Salesforce オブジェクトに対応しない情報を含む項目の名前。たとえば、通話者 ID はこの項目で指定することができます。この項目には通話種別の静的情報が格納されます。 |
DescribeSoftphoneLayoutSection
DescribeSoftphoneLayoutResult オブジェクトで返される各通話種別には、通話種別ごとに 1 つのセクションが含まれます。各セクションには、オブジェクトと項目のペアが含まれます。
| 名前 | 型 | 説明 |
|---|---|---|
| entityApiName | string | 取引先とケースのセットなど、ソフトフォンレイアウトに表示される項目に対応する Salesforce アプリケーションのオブジェクト名。 |
| items | DescribeSoftphoneLayoutItem[] | ソフトフォンレイアウト項目のセット。 |
DescribeSoftphoneLayoutItem
各レイアウト項目は、Salesforce のレコードに対応します。
| 名前 | 型 | 説明 |
|---|---|---|
| itemApiName | string | 取引先「Acme」など、ソフトフォンレイアウトに表示される項目に対応する Salesforce アプリケーションのレコード名。 |
DescribeSoftphoneScreenPopOption
DescribeSoftphoneLayoutResult オブジェクトで返される各通話種別には、通話種別ごとに 1 つの screenPopOptions 項目が含まれます。各 screenPopOptions 項目には、スクリーンポップ設定の詳細が含まれます。
| 名前 | 型 | 説明 |
|---|---|---|
| matchType | string | 単一レコードまたは複数レコードに一致する通話詳細、あるいは一致するレコードがない通話詳細に対して、スクリーンポップを実行するためのソフトフォンレイアウトの設定。 |
| screenPopData | string | 通話の matchType に応じてポップする特定のオブジェクトまたはページについてのソフトフォンレイアウトの設定。たとえば、通話の詳細があるレコードに一致した場合、指定した Visualforce ページをポップします。 |
| screenPopType | picklist | 通話の matchType に応じてスクリーンポップを実行する方法を指定する設定。たとえば、通話の詳細があるレコードに一致した場合に詳細ページを表示するか、どのページも表示しないか、といった指定を行います。 |
サンプルコード — Java
このサンプルでは、ソフトフォンのレイアウトを describe して、コンソールにそのプロパティを書き込みます。次に、許可された通話種別を取得します。各通話種別で、情報項目、レイアウトセクション、およびレイアウトセクションのレイアウト項目を取得します。これらの値をコンソールに書き込みます。
1public void describeSoftphoneLayout() {
2 try {
3 DescribeSoftphoneLayoutResult result =
4 connection.describeSoftphoneLayout();
5 System.out.println("ID of retrieved Softphone layout: " +
6 result.getId());
7 System.out.println("Name of retrieved Softphone layout: " +
8 result.getName());
9 System.out.println("\nContains following " +
10 "Call Type Layouts\n");
11 for (DescribeSoftphoneLayoutCallType type :
12 result.getCallTypes()) {
13 System.out.println("Layout for " + type.getName() +
14 " calls");
15 System.out.println("\tCall-related fields:");
16 for (DescribeSoftphoneLayoutInfoField field :
17 type.getInfoFields()) {
18 System.out.println("\t\t{" + field.getName());
19 }
20 System.out.println("\tDisplayed Objects:");
21 for (DescribeSoftphoneLayoutSection section :
22 type.getSections()) {
23 System.out.println("\t\tFor entity " +
24 section.getEntityApiName() +
25 " following records are displayed:"
26 );
27 for (DescribeSoftphoneLayoutItem item :
28 section.getItems()) {
29 System.out.println("\t\t\t" + item.getItemApiName());
30 }
31 }
32 }
33 } catch (ConnectionException ce) {
34 ce.printStackTrace();
35 }
36}サンプルコード — C#
このサンプルでは、ソフトフォンのレイアウトを describe して、コンソールにそのプロパティを書き込みます。次に、許可された通話種別を取得します。各通話種別で、情報項目、レイアウトセクション、およびレイアウトセクションのレイアウト項目を取得します。これらの値をコンソールに書き込みます。
1/// Demonstrates how to retrieve the layout information
2/// for a Salesforce CRM Call Center Softphone
3public void DescribeSoftphoneLayoutSample()
4{
5 try
6 {
7 DescribeSoftphoneLayoutResult dsplResult = binding.describeSoftphoneLayout();
8
9 // Display the ID and Name of the layout
10 Console.WriteLine("ID of retrieved Softphone layout: {0}", dsplResult.id);
11 Console.WriteLine("Name of retrieved Softphone layout: {0}", dsplResult.name);
12
13 // Display the contents of each Call Type
14 Console.WriteLine("\nContains following Call Type Layouts\n");
15 foreach (DescribeSoftphoneLayoutCallType dsplCallType in dsplResult.callTypes)
16 {
17 Console.WriteLine("Layout for {0} calls", dsplCallType.name);
18
19 // Display the call-related fields contained in the call type
20 Console.WriteLine("\tCall-related fields:");
21 foreach (DescribeSoftphoneLayoutInfoField dsplInfoField
22 in dsplCallType.infoFields)
23 {
24 Console.WriteLine("\t\t{0}", dsplInfoField.name);
25 }
26
27 // Display the objects that are included in the layout
28 Console.WriteLine("\tDisplayed Objects:");
29 foreach (DescribeSoftphoneLayoutSection dsplSection
30 in dsplCallType.sections)
31 {
32 Console.WriteLine("\t\tFor entity {0} following records are displayed:",
33 dsplSection.entityApiName);
34 foreach (DescribeSoftphoneLayoutItem dsplItem in dsplSection.items)
35 {
36 Console.WriteLine("\t\t\t{0}", dsplItem.itemApiName);
37 }
38 }
39 }
40 }
41 catch (SoapException e)
42 {
43 Console.WriteLine(e.Message);
44 Console.WriteLine(e.StackTrace);
45 Console.WriteLine(e.InnerException);
46 }
47}