2017-10-23 10 views
0

Twilio Taskrouter를 개발 중입니다.Twilio Taskrouter 워크 플로우에서 skip_if를 구성하는 방법

콘솔에서 skip_if를 구성 할 수없고 API를 업데이트 할 수 없습니다. https://www.twilio.com/docs/api/taskrouter/worker-presence

업데이트 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" 
     } 
    } 
} 

하지만 JSON을 실행하기 전에 내 twilio 콘솔이 표시됩니다.

+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

감사합니다. 이러한 기능을 이해합니다. –