public void ShouldDeserializeComplexWorkflowConfiguration3() { var workFlow = new Workflow(); workFlow.Configuration = "{\"default_filter\":{\"queue\":\"WQccc\"},\"filters\":[{\"expression\":\"1==1\",\"friendly_name\":\"Prioritizing Filter\",\"targets\":[{\"priority\":\"1\",\"queue\":\"WQccc\",\"timeout\":\"300\"}]}]}"; var workFlowConfiguration = new WorkflowConfiguration(); var filter = new Filter { FriendlyName = "Prioritizing Filter", Expression = "1==1", Targets = new List<Target>() { new Target { Queue="WQccc", Priority="1", Timeout="300" } } }; workFlowConfiguration.Filters.Add(filter); workFlowConfiguration.DefaultFilter = new Target() { Queue = "WQccc" }; var config = workFlow.WorkflowConfiguration; Assert.AreEqual(workFlowConfiguration.ToString(), config.ToString()); }
public void ShouldSerializeComplexWorkflowConfiguration1() { var workFlowConfiguration = new WorkflowConfiguration(); var filter = new Filter { FriendlyName = "Prioritizing Filter", Expression = "1==1", Targets = new List <Target>() { new Target { Queue = "WQccc", Priority = "1", Timeout = "300" } } }; workFlowConfiguration.Filters.Add(filter); workFlowConfiguration.DefaultFilter = new Target() { Queue = "WQccc" }; var result = workFlowConfiguration.ToString(); Assert.AreEqual("{\"default_filter\":{\"queue\":\"WQccc\"},\"filters\":[{\"expression\":\"1==1\",\"friendly_name\":\"Prioritizing Filter\",\"targets\":[{\"priority\":\"1\",\"queue\":\"WQccc\",\"timeout\":\"300\"}]}]}", result); }
public void ShouldSerializeWorkflowDefaultFilterConfiguration() { var workFlowConfiguration = new WorkflowConfiguration(); workFlowConfiguration.DefaultFilter = new Target() { Queue = "WQccc" }; var result = workFlowConfiguration.ToString(); Assert.AreEqual("{\"default_filter\":{\"queue\":\"WQccc\"},\"filters\":[]}", result); }
public void ShouldDeserializeWorkflowDefaultFilterConfiguration() { var workFlow = new Workflow(); workFlow.Configuration = "{\"default_filter\":{\"queue\":\"WQccc\"},\"filters\":[]}"; var workFlowConfiguration = new WorkflowConfiguration(); workFlowConfiguration.DefaultFilter = new Target() { Queue = "WQccc" }; var config = workFlow.WorkflowConfiguration; Assert.AreEqual(workFlowConfiguration.ToString(), config.ToString()); }
static void Main(string[] args) { // Find your Account Sid and Auth Token at twilio.com/user/account string AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; string AuthToken = "your_auth_token"; string WorkspaceSid = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; string salesQueue = "WQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; string marketingQueue = "WQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; string supportQueue = "WQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; string everyoneQueue = "WQXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; var client = new TaskRouterClient(AccountSid, AuthToken); // sales var salesRule = new Filter() { FriendlyName = "Sales", Expression = "type == 'sales'", Targets = new List <Target>() { new Target { Queue = salesQueue } } }; // marketing var marketingRule = new Filter() { FriendlyName = "Marketing", Expression = "type == 'marketing'", Targets = new List <Target>() { new Target { Queue = marketingQueue } } }; // support var supportRule = new Filter { FriendlyName = "Support", Expression = "type == 'support'", Targets = new List <Target>() { new Target { Queue = supportQueue } } }; var workflowConfiguration = new WorkflowConfiguration(); workflowConfiguration.Filters.Add(salesRule); workflowConfiguration.Filters.Add(marketingRule); workflowConfiguration.Filters.Add(supportRule); workflowConfiguration.DefaultFilter = new Target() { Queue = everyoneQueue }; // convert to json var workflowJSON = workflowConfiguration.ToString(); // call rest api Workflow workflow = client.AddWorkflow(WorkspaceSid, "Sales, Marketing, Support Workflow", workflowJSON, "http://example.com", "http://example2.com", 30); Console.WriteLine(workflow.FriendlyName); }