Я разрабатываю Twilio Taskrouter.
Я не могу настроить 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.
targets
workflow
. - person Rob Di Marco   schedule 23.10.2017