スクリプトとAPI

SOAPまたはRESTful API標準を使用するStudioスクリプトでウェブサービスに接続できます。以下のメソッドで接続できます:

  • REST APIStudioアクション
  • Integration Hub
  • API Studioアクション
  • CRMワークフロー統合

 

RESTful Webサービス

Studioスクリプトを使用して、SnippetアクションでRESTプロキシを使用してRESTful APIに接続できます。GetRestProxy()関数を使用してこのサービスにアクセスできます。RESTプロキシを使用すると、スクリプトでリモートのウェブサーバーとやり取りできるようになります。そのために使用できるプロパティや関数が用意されています。

RESTプロキシでは、動的データオブジェクトを使用する必要があります。動的データタイプにより、スクリプトはXMLやJSONでフォーマットされたレスポンスを扱うことができます。ダイナミックデータオブジェクトは、これらの形式のデータを受け取り、読み取ることができます。XMLまたはJSONに変換できるオブジェクトを動的に作成することもできます。これらの能力は、RESTful APIを使用するために必要です。

RESTプロキシを使用するには、スクリプトにSnippetアクションを追加し、[Snippet Editor ]ウィンドウを開きます。以下の構文でGetRESTProxy()関数を呼び出します。

ASSIGN proxy = GetRESTProxy() 
 proxy.<property | function>([parameters]) 

<property | function>については、以下のセクションで説明するプロパティと関数から選択します。

プロパティ

プロパティ 詳細
StatusCode MakeRestRequest()の呼び出しに続くHTTPステータスコードを収容します。このプロパティは変更できません。その関数が失敗した場合、ステータスコードは保持されなくなります。
StatusDescription MakeRestRequest()の呼び出しに続くHTTPステータスの説明を収容します。このプロパティは変更できません。
ContentType

デフォルトのcontent-typeヘッダーのオーバーライドを許可します。デフォルトはapplication/x-www-form-urlencodedです。

呼び出しによっては、ヘッダーを変更する必要があるかもしれません。たとえば、JSONを送信する場合、これをapplication/jsonに変更します。このプロパティを変更する必要があります。

ProxyTimeoutSeconds 申請タイムアウトを変更できます。デフォルトは10秒です。このプロパティを変更する必要があります。

関数

以下の表は、RESTful APIに接続する際に使用できる関数についての情報です。文字列のエンコードやハッシュを行うRESTプロキシ関数もあります。

関数 詳細
MakeRestRequest(URL) 指定されたURLに対してHTTP申請を実行します。
AddHeader HTTP申請にカスタムヘッダーを追加します。
ClearHeaders AddHeaderで追加されたカスタムヘッダーをすべてクリアします。

ASSIGN proxy = GetRESTProxy()
ASSIGN proxy.ContentType = "application/json"
ASSIGN url = "https://catfact.ninja/fact"
ASSIGN verb = "GET"
ASSIGN result = proxy.MakeRestRequest(url,payload,'JSON',verb)

 

ASSIGN restProxy=GetRESTProxy()

restProxy.AddHeader("x-api-key", "qwer") //Assigning incorrect header for demonstration purposes
restProxy.ClearHeaders()
restProxy.AddHeader("x-api-key", "asdf")
ASSIGN restProxy.ProxyTimeoutSeconds = "2"
ASSIGN restProxy.ContentType = "application/json"

ASSIGN uri = "http://postman-echo.com/post"

DYNAMIC beowulfCharacteristics
ASSIGN beowulfCharacteristics.name = "Beowulf"
ASSIGN beowulfCharacteristics.occupation= "Hero" 
ASSIGN beowulfCharacteristics.foe = "Grendel"
ASSIGN payloadJSON = "{beowulfCharacteristics.asJSON()}

SOAP Web Services

Studioスクリプトを使用して、SOAPベースのウェブサービスを使用できます。これには、WSDLまたはプロキシDLLをStudioにインポートする必要があります。インポートされたDLLは、NICE CXoneによって承認されなければならない。DLLは認可された後、事業単位閉じた テクニカルサポート、請求、およびCXone環境のグローバル設定の管理に使用される高レベルの組織グループのファイルストレージのルートに保存されます。

SOAPウェブサービスを使用するには、NICE CXoneからの支援が必要です。詳細についてはCXoneアカウント担当者までお問い合わせください。

スニペットでSOAPを使用する

SOAPベースのウェブサービスをStudioスクリプトで使用する場合は、スニペットを作成する必要があります。Snippetアクションをスクリプトに追加します。[スニペットエディター]ウィンドウで、生成して事業単位閉じた テクニカルサポート、請求、およびCXone環境のグローバル設定の管理に使用される高レベルの組織グループのファイル・ストレージに格納したプロキシDLLファイルの名前を指定するUSESステートメントを追加します。

次のスニペットは、SOAPベースのウェブサービスをStudioスクリプトで使用する例です。

USES "sf.dll"
cStart="{now}"
sforce=new SforceService()
session=new SessionHeader()
loginResult=sforce.login("demo@nice.com",password6")
sforce.sessionheadervalue=session
session.sessionid=loginResult.sessionid
sforce.url=loginresult.serverUrl

t=new Task()
t.ActivityDate=#"8/20/2050"
t.Description="Call placed by {first }{Last}."
t.Subject="Call @{cStart}"
t.Status="Completed"
t.CallType="Outbound"
t.OwnerId=SF_Agent_ID
t.ReminderDateTime="{cStart}"

SWITCH Type
{
   CASE "CON" { t.WhoId=SF_Obj_ID }
   CASE "LEA" { t.WhoId=SF_Obj_ID }
   CASE "ACC" { t.WhatId=SF_Obj_ID }
   CASE "OPP" { t.WhatId=SF_Obj_ID }
   CASE "CAS" { t.WhatId=SF_Obj_ID }
}
SaveResult=sforce.create(t)