2017-10-23 10 views
0

Twilio Taskrouterを開発しています。Twilio Taskrouterワークフローでskip_ifを設定するには

コンソールでskip_ifを設定できません。また、APIを更新することもできません。 https://www.twilio.com/docs/api/taskrouter/worker-presence

私はUpdate APIを試しましたが、応答JSONにskip_ifがあります。

ただし、コンソールJSONにskip_ifはありません。

skip_ifの設定方法を教えてください。

ありがとうございます@philnash。 私のコードは以下の通りです。

public function test_retrieveWorkflow() 
    { 
     $account_sid = "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
     $auth_token = "xxxxxxxxxxxxxxx"; 
     $client = new Client($account_sid, $auth_token); 

     $workspace_sid = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; 
     $workflow_sid = 'WWxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; 
     $workflow = $client->taskrouter 
      ->workspaces($workspace_sid) 
      ->workflows($workflow_sid) 
      ->fetch(); 

     $configurations = json_decode($workflow->configuration, true); 
     $filters = $configurations['task_routing']['filters']; 
     foreach ($filters as &$filter) { 
      foreach ($filter['targets'] as &$target) { 
       $target['skip_if'] = 'workers.available == 0'; 
      } 
     } 

     $configurations['task_routing']['filters'] = $filters; 
     $configurations = json_encode($configurations); 
     $workflow = $workflow->update(['configuration' => $configurations]); 
     var_dump($workflow); 
    } 

申し訳ありませんが、期待通りの結果を書いています。 上記のコードを実行する前に、

{ 
"task_routing": { 
    "filters": [ 
     { 
      "targets": [ 
       { 
        "queue": "WQyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy", 
        "expression": "task.email==worker.email", 
        "timeout": "10" 
       }, 
       { 
       ... 
       } 
      ], 
      "filter_friendly_name": "filter by email", 
      "expression": "1==1" 
     } 
    ], 
    "default_filter": { 
     "queue": "WQxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
    } 
} 

上記のコードを実行すると、JSONが実行されます。

{ 
    "task_routing": { 
     "filters": [ 
      { 
       "targets": [ 
        { 
         "queue": "WQyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy", 
         "expression": "task.email==worker.email", 
         "timeout": "10", 
         "skip_if": "workers.available == 0" 
        }, 
        { 
        ... 
        } 
       ], 
       "filter_friendly_name": "filter by email", 
       "expression": "1==1" 
      } 
     ], 
     "default_filter": { 
      "queue": "WQxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
     } 
    } 
} 

しかし、私のtwilioコンソールはJSONを実行する前に表示されます。

+0

あなたを -

https://www.twilio.com/docs/api/taskrouter/worker-presence

(ドキュメント内のノートを参照してください、それは現在、いずれかのビューでコンソールに表示されません):私はすべてのあなたの質問に答えるべきか、この機能のドキュメントを更新しました「コンソールでskip_ifを設定できません」と言って、どこで設定しようとしていますか?それは 'workflow'の' targets'にあるべきです。 –

+0

あなたは何を正確に試しましたか?使用しているコードと期待している結果を含めることはできますか? – philnash

+0

ありがとう@RobDiMarco。 task_routing> filters> targets> skip_ifを設定しようとしました。 –

答えて

1

TaskRouter PMここに。

+0

ありがとう、私はこれらの機能を理解している;) –

関連する問題