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を実行する前に表示されます。
あなたを -
https://www.twilio.com/docs/api/taskrouter/worker-presence
(ドキュメント内のノートを参照してください、それは現在、いずれかのビューでコンソールに表示されません):私はすべてのあなたの質問に答えるべきか、この機能のドキュメントを更新しました「コンソールでskip_ifを設定できません」と言って、どこで設定しようとしていますか?それは 'workflow'の' targets'にあるべきです。 –
あなたは何を正確に試しましたか?使用しているコードと期待している結果を含めることはできますか? – philnash
ありがとう@RobDiMarco。 task_routing> filters> targets> skip_ifを設定しようとしました。 –