From 7e2f58cc30bcc9df76098159e0a7874eb208cee5 Mon Sep 17 00:00:00 2001 From: vmalinovskiy Date: Tue, 19 Jul 2016 18:04:12 +0300 Subject: [PATCH 1/2] vmalinovskiy: release body calculation updated --- build.gradle | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 68b138b..084935f 100644 --- a/build.gradle +++ b/build.gradle @@ -200,8 +200,10 @@ nugetPush { def releaseDescription() { String releaseNotes = file("Changelog.txt").text - Integer start = releaseNotes.indexOf("Version") + 28; - Integer end = releaseNotes.indexOf("Version", start); - String currentReleaseChanges = releaseNotes.substring(start, end).trim() + String firstVersionEntry = releaseNotes.find(~/Version.*/) + Integer start = releaseNotes.indexOf(firstVersionEntry) + firstVersionEntry.size() + releaseNotes = releaseNotes.substring(start, releaseNotes.size()) + String secondVersionEntry = releaseNotes.find(~/Version.*/) + String currentReleaseChanges = releaseNotes.substring(0, (secondVersionEntry == null ? releaseNotes.size() - 1 : releaseNotes.indexOf(secondVersionEntry))).trim() "$currentReleaseChanges" } \ No newline at end of file From f00a0358bb1ce4683c7218b88a3db641e8021757 Mon Sep 17 00:00:00 2001 From: vmalinovskiy Date: Thu, 27 Oct 2016 17:11:21 +0300 Subject: [PATCH 2/2] vmalinovskiy: added new parameter to Number Lease config and ActionRecord dtos --- CallfireApiClient.nuspec | 8 +++-- Changelog.txt | 3 ++ .../CallBroadcastsApiIntegrationTest.cs | 12 +++---- .../TextBroadcastsApiIntegrationTest.cs | 19 +++++------ .../Numbers/NumberLeasesApiIntegrationTest.cs | 33 +++++++++++++++++-- .../Api/CallsTexts/CallRecording.cs | 15 --------- .../Api/Numbers/NumberLeasesApiTest.cs | 25 ++++++++++++-- .../CallfireApiClient.Tests.csproj | 1 - .../callsApi/response/findCalls.json | 4 +++ .../callstexts/callsApi/response/getCall.json | 2 ++ .../request/updateNumberLeaseConfig.json | 30 +++++++++++++++-- .../Api/CallsTexts/Model/ActionRecord.cs | 8 ++++- .../Api/CallsTexts/Model/CallRecipient.cs | 5 +-- .../Api/Campaigns/Model/DayOfWeek.cs | 16 --------- .../Api/Campaigns/Model/Schedule.cs | 18 +++------- .../{Campaigns => Common}/Model/LocalDate.cs | 5 ++- .../{Campaigns => Common}/Model/LocalTime.cs | 5 ++- .../Model/LocalTimeRestriction.cs | 5 ++- .../Api/Common/Model/WeeklySchedule.cs | 23 +++++++++++++ .../Api/Numbers/Model/CallTrackingConfig.cs | 18 +++++++--- .../Api/Numbers/Model/GoogleAnalytics.cs | 18 ++++++++++ .../CallfireApiClient.csproj | 9 ++--- .../Properties/AssemblyInfo.cs | 2 +- 23 files changed, 190 insertions(+), 94 deletions(-) delete mode 100644 src/CallfireApiClient.Tests/Api/CallsTexts/CallRecording.cs delete mode 100644 src/CallfireApiClient/Api/Campaigns/Model/DayOfWeek.cs rename src/CallfireApiClient/Api/{Campaigns => Common}/Model/LocalDate.cs (76%) rename src/CallfireApiClient/Api/{Campaigns => Common}/Model/LocalTime.cs (76%) rename src/CallfireApiClient/Api/{Campaigns => Common}/Model/LocalTimeRestriction.cs (83%) create mode 100644 src/CallfireApiClient/Api/Common/Model/WeeklySchedule.cs create mode 100644 src/CallfireApiClient/Api/Numbers/Model/GoogleAnalytics.cs diff --git a/CallfireApiClient.nuspec b/CallfireApiClient.nuspec index 26dc2bb..fc5c006 100644 --- a/CallfireApiClient.nuspec +++ b/CallfireApiClient.nuspec @@ -1,7 +1,7 @@ CallfireApiClient - 1.1.9 + 1.1.10 CallFire API v2 client Vladimir Mikhailov @@ -15,8 +15,12 @@ C# client library for integration with Callfire REST API v2 services Callfire API client Changelog ============================= +Version 1.1.10 - Oct 26 2016 +- added more parameters to call tracking config in Number Lease config object + Version 1.1.9 - Jul 11 2016 -- added loading labels parameter in Number Lease objects +- added loading labels parameter in Number Lease objects + Version 1.1.8 - May 27 2016 - defaultLiveMessage, defaultMachineMessage, defaultLiveMessageSoundId, defaultMachineMessageSoundId, defaultVoice params added to send calls api - added batch id filter parameter for get broadcast calls/texts diff --git a/Changelog.txt b/Changelog.txt index 5064531..feef701 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,5 +1,8 @@ Callfire API client Changelog ============================= +Version 1.1.10 - Oct 26 2016 +- added more parameters to call tracking config in Number Lease config object + Version 1.1.9 - Jul 11 2016 - added loading labels parameter in Number Lease objects diff --git a/src/CallfireApiClient.IntegrationTests/Api/Campaigns/CallBroadcastsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/CallBroadcastsApiIntegrationTest.cs index 4d2f6f1..b5742b9 100644 --- a/src/CallfireApiClient.IntegrationTests/Api/Campaigns/CallBroadcastsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/CallBroadcastsApiIntegrationTest.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using CallfireApiClient.Api.Campaigns.Model.Request; using CallfireApiClient.Api.Common.Model.Request; +using CallfireApiClient.Api.Common.Model; namespace CallfireApiClient.IntegrationTests.Api.Campaigns { @@ -175,15 +176,14 @@ public void AddRecipientsAndAddRemoveBatches() Name = "new_batch", Recipients = new List { - new Recipient { PhoneNumber = "12132212384" }, - new Recipient { PhoneNumber = "12132212384" } + new Recipient { PhoneNumber = "12132212386" }, + new Recipient { PhoneNumber = "12132212387" } } }; - Client.CallBroadcastsApi.AddBatch(addBatchRequest); + ResourceId addedBatchId = Client.CallBroadcastsApi.AddBatch(addBatchRequest); - var updatedBatches = Client.CallBroadcastsApi.GetBatches(getBatchesRequest); - Console.WriteLine(batches); - Assert.AreEqual(batches.Items.Count + 1, updatedBatches.Items.Count); + var addedBatch = Client.BatchesApi.Get(addedBatchId.Id); + Assert.AreEqual(addedBatch.BroadcastId, id); } } } diff --git a/src/CallfireApiClient.IntegrationTests/Api/Campaigns/TextBroadcastsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/TextBroadcastsApiIntegrationTest.cs index 10da597..bffe2bf 100644 --- a/src/CallfireApiClient.IntegrationTests/Api/Campaigns/TextBroadcastsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/TextBroadcastsApiIntegrationTest.cs @@ -5,6 +5,7 @@ using CallfireApiClient.Api.CallsTexts.Model; using CallfireApiClient.Api.Campaigns.Model.Request; using CallfireApiClient.Api.Common.Model.Request; +using CallfireApiClient.Api.Common.Model; namespace CallfireApiClient.IntegrationTests.Api.Campaigns { @@ -156,19 +157,17 @@ public void AddRecipientsAndAddRemoveBatches() new TextRecipient { PhoneNumber = "12132041238" } } }; - var resourceId = Client.TextBroadcastsApi.AddBatch(addBatchRequest); + ResourceId addedBatchId = Client.TextBroadcastsApi.AddBatch(addBatchRequest); - var updatedBatches = Client.TextBroadcastsApi.GetBatches(getBatchesRequest); + var addedBatch = Client.BatchesApi.Get(addedBatchId.Id); Console.WriteLine(batches); - Assert.AreEqual(batches.Items.Count + 1, updatedBatches.Items.Count); + Assert.AreEqual(addedBatch.BroadcastId, id); + Assert.True((bool)addedBatch.Enabled); + Assert.AreEqual(addBatchRequest.Name, addedBatch.Name); - Batch savedBatch = Client.BatchesApi.Get(resourceId.Id); - Assert.True((bool)savedBatch.Enabled); - Assert.AreEqual(addBatchRequest.Name, savedBatch.Name); - - savedBatch.Enabled = false; - Client.BatchesApi.Update(savedBatch); - Batch updatedBatch = Client.BatchesApi.Get(resourceId.Id); + addedBatch.Enabled = false; + Client.BatchesApi.Update(addedBatch); + Batch updatedBatch = Client.BatchesApi.Get(addedBatchId.Id); Assert.False((bool)updatedBatch.Enabled); } } diff --git a/src/CallfireApiClient.IntegrationTests/Api/Numbers/NumberLeasesApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Numbers/NumberLeasesApiIntegrationTest.cs index 59225cb..3f76bca 100644 --- a/src/CallfireApiClient.IntegrationTests/Api/Numbers/NumberLeasesApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Numbers/NumberLeasesApiIntegrationTest.cs @@ -2,6 +2,8 @@ using NUnit.Framework; using CallfireApiClient.Api.Numbers.Model; using CallfireApiClient.Api.Numbers.Model.Request; +using System.Collections.Generic; +using CallfireApiClient.Api.Common.Model; namespace CallfireApiClient.IntegrationTests.Api.Numbers { @@ -78,9 +80,35 @@ public void GetNumberLeaseConfig() public void UpdateNumberLeaseConfig() { const string number = "12132041238"; - var config = Client.NumberLeasesApi.GetConfig(number); + var config = Client.NumberLeasesApi.GetConfig(number, "number,configType,callTrackingConfig"); Assert.IsNull(config.IvrInboundConfig); Assert.AreEqual(NumberConfig.NumberConfigType.TRACKING, config.ConfigType); + CallTrackingConfig callTrackingConfig = new CallTrackingConfig(); + callTrackingConfig.Recorded = true; + callTrackingConfig.Screen = true; + callTrackingConfig.TransferNumbers = new List { "12132212384" }; + callTrackingConfig.Voicemail = true; + callTrackingConfig.IntroSoundId = 1; + callTrackingConfig.VoicemailSoundId = 1; + callTrackingConfig.FailedTransferSoundId = 1; + callTrackingConfig.WhisperSoundId = 1; + + WeeklySchedule weeklySchedule = new WeeklySchedule + { + StartTimeOfDay = new LocalTime { Hour = 1, Minute = 1, Second = 1 }, + StopTimeOfDay = new LocalTime { Hour = 2, Minute = 2, Second = 2 }, + TimeZone = "America/New_York", + DaysOfWeek = new HashSet { DayOfWeek.Monday, DayOfWeek.Friday } + }; + callTrackingConfig.WeeklySchedule = weeklySchedule; + + GoogleAnalytics googleAnalytics = new GoogleAnalytics + { + Category = "Sales", + GoogleAccountId = "UA-12345-26", + Domain = "testDomain" + }; + callTrackingConfig.GoogleAnalytics = googleAnalytics; Client.NumberLeasesApi.UpdateConfig(config); config = Client.NumberLeasesApi.GetConfig(number, "callTrackingConfig,configType"); @@ -91,5 +119,4 @@ public void UpdateNumberLeaseConfig() Assert.AreEqual(NumberConfig.NumberConfigType.TRACKING, config.ConfigType); } } -} - +} \ No newline at end of file diff --git a/src/CallfireApiClient.Tests/Api/CallsTexts/CallRecording.cs b/src/CallfireApiClient.Tests/Api/CallsTexts/CallRecording.cs deleted file mode 100644 index fb93309..0000000 --- a/src/CallfireApiClient.Tests/Api/CallsTexts/CallRecording.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Collections.Generic; -using CallfireApiClient.Api.Campaigns.Model; - -namespace CallfireApiClient.Tests.Api.CallsTexts -{ - internal class CallRecording - { - private IList callRecordings; - - public CallRecording(IList callRecordings) - { - this.callRecordings = callRecordings; - } - } -} \ No newline at end of file diff --git a/src/CallfireApiClient.Tests/Api/Numbers/NumberLeasesApiTest.cs b/src/CallfireApiClient.Tests/Api/Numbers/NumberLeasesApiTest.cs index 10eb8f5..27482ab 100644 --- a/src/CallfireApiClient.Tests/Api/Numbers/NumberLeasesApiTest.cs +++ b/src/CallfireApiClient.Tests/Api/Numbers/NumberLeasesApiTest.cs @@ -5,6 +5,7 @@ using CallfireApiClient.Api.Numbers.Model.Request; using CallfireApiClient.Api.Numbers.Model; using System.Collections.Generic; +using CallfireApiClient.Api.Common.Model; namespace CallfireApiClient.Tests.Api.Numbers { @@ -127,10 +128,29 @@ public void UpdateConfig() { Screen = false, Recorded = true, - TransferNumbers = new List{ "12135551122", "12135551189" } + TransferNumbers = new List{ "12135551122", "12135551189" }, + Voicemail = true, + IntroSoundId = 1234, + VoicemailSoundId = 1234, + FailedTransferSoundId = 1234, + WhisperSoundId = 1234, + WeeklySchedule = new WeeklySchedule + { + StartTimeOfDay = new LocalTime { Hour = 1, Minute = 1, Second = 1 }, + StopTimeOfDay = new LocalTime { Hour = 2, Minute = 2, Second = 2 }, + DaysOfWeek = new HashSet { DayOfWeek.Friday }, + TimeZone = "America/Los_Angeles" + }, + GoogleAnalytics = new GoogleAnalytics + { + Category = "Sales", + GoogleAccountId = "UA-12345-26", + Domain = "testDomain" + } } }; Client.NumberLeasesApi.UpdateConfig(config); + Console.WriteLine(config); Assert.AreEqual(Method.PUT, restRequest.Value.Method); var requestBodyParam = restRequest.Value.Parameters.FirstOrDefault(p => p.Type == ParameterType.RequestBody); @@ -138,5 +158,4 @@ public void UpdateConfig() Assert.That(restRequest.Value.Resource, Is.StringEnding("/numbers/leases/configs/12345678901")); } } -} - +} \ No newline at end of file diff --git a/src/CallfireApiClient.Tests/CallfireApiClient.Tests.csproj b/src/CallfireApiClient.Tests/CallfireApiClient.Tests.csproj index c82978c..7572c16 100644 --- a/src/CallfireApiClient.Tests/CallfireApiClient.Tests.csproj +++ b/src/CallfireApiClient.Tests/CallfireApiClient.Tests.csproj @@ -51,7 +51,6 @@ - diff --git a/src/CallfireApiClient.Tests/JsonMocks/callstexts/callsApi/response/findCalls.json b/src/CallfireApiClient.Tests/JsonMocks/callstexts/callsApi/response/findCalls.json index b693522..63847db 100644 --- a/src/CallfireApiClient.Tests/JsonMocks/callstexts/callsApi/response/findCalls.json +++ b/src/CallfireApiClient.Tests/JsonMocks/callstexts/callsApi/response/findCalls.json @@ -19,6 +19,8 @@ "id": 10306, "billedAmount": 1.1667, "finishTime": 1443373425000, + "toNumber": "12135551101", + "labels": ["12135551102"], "result": "AM" } ], @@ -44,6 +46,8 @@ "id": 10305, "billedAmount": 0.0, "finishTime": 1443373408000, + "toNumber": "12135551101", + "labels": ["12135551102"], "result": "CARRIER_ERROR" } ], diff --git a/src/CallfireApiClient.Tests/JsonMocks/callstexts/callsApi/response/getCall.json b/src/CallfireApiClient.Tests/JsonMocks/callstexts/callsApi/response/getCall.json index f5b7906..44b8176 100644 --- a/src/CallfireApiClient.Tests/JsonMocks/callstexts/callsApi/response/getCall.json +++ b/src/CallfireApiClient.Tests/JsonMocks/callstexts/callsApi/response/getCall.json @@ -17,6 +17,8 @@ "id": 10304, "billedAmount": 1.1667, "finishTime": 1443333972000, + "toNumber": "12135551101", + "labels": ["12135551102"], "result": "LA" } ], diff --git a/src/CallfireApiClient.Tests/JsonMocks/numbers/numberLeasesApi/request/updateNumberLeaseConfig.json b/src/CallfireApiClient.Tests/JsonMocks/numbers/numberLeasesApi/request/updateNumberLeaseConfig.json index 9efc6c6..0e70a68 100644 --- a/src/CallfireApiClient.Tests/JsonMocks/numbers/numberLeasesApi/request/updateNumberLeaseConfig.json +++ b/src/CallfireApiClient.Tests/JsonMocks/numbers/numberLeasesApi/request/updateNumberLeaseConfig.json @@ -4,9 +4,35 @@ "callTrackingConfig": { "screen": false, "recorded": true, + "introSoundId": 1234, + "whisperSoundId": 1234, "transferNumbers": [ "12135551122", "12135551189" - ] + ], + "voicemail": true, + "voicemailSoundId": 1234, + "failedTransferSoundId": 1234, + "weeklySchedule": { + "startTimeOfDay": { + "hour": 1, + "minute": 1, + "second": 1 + }, + "stopTimeOfDay": { + "hour": 2, + "minute": 2, + "second": 2 + }, + "daysOfWeek": [ + "Friday" + ], + "timeZone": "America/Los_Angeles" + }, + "googleAnalytics": { + "domain": "testDomain", + "googleAccountId": "UA-12345-26", + "category": "Sales" + } } -} \ No newline at end of file +} diff --git a/src/CallfireApiClient/Api/CallsTexts/Model/ActionRecord.cs b/src/CallfireApiClient/Api/CallsTexts/Model/ActionRecord.cs index 81affce..8f36125 100644 --- a/src/CallfireApiClient/Api/CallsTexts/Model/ActionRecord.cs +++ b/src/CallfireApiClient/Api/CallsTexts/Model/ActionRecord.cs @@ -1,5 +1,6 @@ using System; using CallfireApiClient.Api.Common.Model; +using System.Collections.Generic; namespace CallfireApiClient.Api.CallsTexts.Model { @@ -11,9 +12,14 @@ public class ActionRecord : CallfireModel public DateTime? FinishTime { get; private set; } + public string ToNumber { get; private set; } + + public ISet Labels { get; private set; } + public override string ToString() { - return string.Format("[ActionRecord: Id={0}, billedAmount={1}, FinishTime={2}]", Id, BilledAmount, FinishTime); + return string.Format("[ActionRecord: Id={0}, billedAmount={1}, FinishTime={2}, ToNumber={3}, Labels={4}]", + Id, BilledAmount, FinishTime, ToNumber, Labels?.ToPrettyString()); } } } diff --git a/src/CallfireApiClient/Api/CallsTexts/Model/CallRecipient.cs b/src/CallfireApiClient/Api/CallsTexts/Model/CallRecipient.cs index 402cf92..fcd7186 100644 --- a/src/CallfireApiClient/Api/CallsTexts/Model/CallRecipient.cs +++ b/src/CallfireApiClient/Api/CallsTexts/Model/CallRecipient.cs @@ -13,11 +13,12 @@ public class CallRecipient : Recipient public string TransferDigit { get; set; } public string TransferNumber { get; set; } public Voice? Voice { get; set; } + public string DialplanXml { get; set; } public override string ToString() { - return string.Format("[CallRecipient: {0}, liveMessage={1}, liveMessageSoundId={2}, machineMessage={3}, machineMessageSoundId={4}, transferMessage={5}, transferMessageSoundId={6}, transferDigit={7}, transferNumber={8}, voice={9]", base.ToString(), - LiveMessage, LiveMessageSoundId, MachineMessage, MachineMessageSoundId, TransferMessage, TransferMessageSoundId, TransferDigit, TransferNumber, Voice); + return string.Format("[CallRecipient: {0}, liveMessage={1}, liveMessageSoundId={2}, machineMessage={3}, machineMessageSoundId={4}, transferMessage={5}, transferMessageSoundId={6}, transferDigit={7}, transferNumber={8}, voice={9}, dialplanXml={10}]", base.ToString(), + LiveMessage, LiveMessageSoundId, MachineMessage, MachineMessageSoundId, TransferMessage, TransferMessageSoundId, TransferDigit, TransferNumber, Voice, DialplanXml); } } } diff --git a/src/CallfireApiClient/Api/Campaigns/Model/DayOfWeek.cs b/src/CallfireApiClient/Api/Campaigns/Model/DayOfWeek.cs deleted file mode 100644 index 000ce54..0000000 --- a/src/CallfireApiClient/Api/Campaigns/Model/DayOfWeek.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -namespace CallfireApiClient.Api.Campaigns.Model -{ - public enum DayOfWeek - { - MONDAY, - TUESDAY, - WEDNESDAY, - THURSDAY, - FRIDAY, - SATURDAY, - SUNDAY - } -} - diff --git a/src/CallfireApiClient/Api/Campaigns/Model/Schedule.cs b/src/CallfireApiClient/Api/Campaigns/Model/Schedule.cs index f60e25a..0b14641 100644 --- a/src/CallfireApiClient/Api/Campaigns/Model/Schedule.cs +++ b/src/CallfireApiClient/Api/Campaigns/Model/Schedule.cs @@ -1,10 +1,8 @@ -using System; -using System.Collections.Generic; -using CallfireApiClient.Api.Common.Model; +using CallfireApiClient.Api.Common.Model; namespace CallfireApiClient.Api.Campaigns.Model { - public class Schedule : CallfireModel + public class Schedule : WeeklySchedule { public long? Id { get; set; } @@ -12,20 +10,12 @@ public class Schedule : CallfireModel public LocalDate StartDate { get; set; } - public LocalTime StartTimeOfDay { get; set; } - public LocalDate StopDate { get; set; } - public LocalTime StopTimeOfDay { get; set; } - - public string TimeZone { get; set; } - - public ISet DaysOfWeek { get; set; } - public override string ToString() { - return string.Format("[Schedule: Id={0}, CampaignId={1}, StartDate={2}, StartTimeOfDay={3}, StopDate={4}, StopTimeOfDay={5}, TimeZone={6}, DaysOfWeek={7}]", - Id, CampaignId, StartDate, StartTimeOfDay, StopDate, StopTimeOfDay, TimeZone, DaysOfWeek); + return string.Format("{0} [Schedule: Id={1}, CampaignId={2}, StartDate={3}, StopDate={4}]", base.ToString(), + Id, CampaignId, StartDate, StopDate); } } } diff --git a/src/CallfireApiClient/Api/Campaigns/Model/LocalDate.cs b/src/CallfireApiClient/Api/Common/Model/LocalDate.cs similarity index 76% rename from src/CallfireApiClient/Api/Campaigns/Model/LocalDate.cs rename to src/CallfireApiClient/Api/Common/Model/LocalDate.cs index 6ba522f..cc01193 100644 --- a/src/CallfireApiClient/Api/Campaigns/Model/LocalDate.cs +++ b/src/CallfireApiClient/Api/Common/Model/LocalDate.cs @@ -1,7 +1,6 @@ -using System; -using CallfireApiClient.Api.Common.Model; + -namespace CallfireApiClient.Api.Campaigns.Model +namespace CallfireApiClient.Api.Common.Model { public class LocalDate : CallfireModel { diff --git a/src/CallfireApiClient/Api/Campaigns/Model/LocalTime.cs b/src/CallfireApiClient/Api/Common/Model/LocalTime.cs similarity index 76% rename from src/CallfireApiClient/Api/Campaigns/Model/LocalTime.cs rename to src/CallfireApiClient/Api/Common/Model/LocalTime.cs index 55c0308..a31d3ca 100644 --- a/src/CallfireApiClient/Api/Campaigns/Model/LocalTime.cs +++ b/src/CallfireApiClient/Api/Common/Model/LocalTime.cs @@ -1,7 +1,6 @@ -using System; -using CallfireApiClient.Api.Common.Model; + -namespace CallfireApiClient.Api.Campaigns.Model +namespace CallfireApiClient.Api.Common.Model { public class LocalTime : CallfireModel { diff --git a/src/CallfireApiClient/Api/Campaigns/Model/LocalTimeRestriction.cs b/src/CallfireApiClient/Api/Common/Model/LocalTimeRestriction.cs similarity index 83% rename from src/CallfireApiClient/Api/Campaigns/Model/LocalTimeRestriction.cs rename to src/CallfireApiClient/Api/Common/Model/LocalTimeRestriction.cs index 39ca16c..50317d3 100644 --- a/src/CallfireApiClient/Api/Campaigns/Model/LocalTimeRestriction.cs +++ b/src/CallfireApiClient/Api/Common/Model/LocalTimeRestriction.cs @@ -1,7 +1,6 @@ -using System; -using CallfireApiClient.Api.Common.Model; + -namespace CallfireApiClient.Api.Campaigns.Model +namespace CallfireApiClient.Api.Common.Model { public class LocalTimeRestriction : CallfireModel { diff --git a/src/CallfireApiClient/Api/Common/Model/WeeklySchedule.cs b/src/CallfireApiClient/Api/Common/Model/WeeklySchedule.cs new file mode 100644 index 0000000..bfa07b6 --- /dev/null +++ b/src/CallfireApiClient/Api/Common/Model/WeeklySchedule.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; + +namespace CallfireApiClient.Api.Common.Model +{ + public class WeeklySchedule : CallfireModel + { + public LocalTime StartTimeOfDay { get; set; } + + public LocalTime StopTimeOfDay { get; set; } + + public ISet DaysOfWeek { get; set; } + + public string TimeZone { get; set; } + + public override string ToString() + { + return string.Format("[WeeklySchedule: StartTimeOfDay={0}, StopTimeOfDay={1}, DaysOfWeek={2}, TimeZone={3}]", + StartTimeOfDay, StopTimeOfDay, DaysOfWeek?.ToPrettyString(), TimeZone); + } + } +} + diff --git a/src/CallfireApiClient/Api/Numbers/Model/CallTrackingConfig.cs b/src/CallfireApiClient/Api/Numbers/Model/CallTrackingConfig.cs index a139fc1..d9be943 100644 --- a/src/CallfireApiClient/Api/Numbers/Model/CallTrackingConfig.cs +++ b/src/CallfireApiClient/Api/Numbers/Model/CallTrackingConfig.cs @@ -1,5 +1,4 @@ -using System; -using CallfireApiClient.Api.Common.Model; +using CallfireApiClient.Api.Common.Model; using System.Collections.Generic; namespace CallfireApiClient.Api.Numbers.Model @@ -16,11 +15,20 @@ public class CallTrackingConfig : CallfireModel public IList TransferNumbers { get; set; } + public bool? Voicemail { get; set; } + + public long? VoicemailSoundId { get; set; } + + public long? FailedTransferSoundId { get; set; } + + public WeeklySchedule WeeklySchedule { get; set; } + + public GoogleAnalytics GoogleAnalytics { get; set; } + public override string ToString() { - return string.Format("[CallTrackingConfig: Screen={0}, Recorded={1}, IntroSoundId={2}, WhisperSoundId={3}, TransferNumbers={4}]", - Screen, Recorded, IntroSoundId, WhisperSoundId, TransferNumbers); + return string.Format("[CallTrackingConfig: Screen={0}, Recorded={1}, IntroSoundId={2}, WhisperSoundId={3}, TransferNumbers={4}, Voicemail={5}, VoicemailSoundId={6}, FailedTransferSoundId={7}, WeeklySchedule ={8}, GoogleAnalytics ={9}]", + Screen, Recorded, IntroSoundId, WhisperSoundId, TransferNumbers, Voicemail, VoicemailSoundId, FailedTransferSoundId, WeeklySchedule, GoogleAnalytics); } } } - diff --git a/src/CallfireApiClient/Api/Numbers/Model/GoogleAnalytics.cs b/src/CallfireApiClient/Api/Numbers/Model/GoogleAnalytics.cs new file mode 100644 index 0000000..577754f --- /dev/null +++ b/src/CallfireApiClient/Api/Numbers/Model/GoogleAnalytics.cs @@ -0,0 +1,18 @@ +using CallfireApiClient.Api.Common.Model; + +namespace CallfireApiClient.Api.Numbers.Model +{ + public class GoogleAnalytics : CallfireModel + { + public string Domain { get; set; } + + public string GoogleAccountId { get; set; } + + public string Category { get; set; } + + public override string ToString() + { + return string.Format("[GoogleAnalytics: Domain={0}, GoogleAccountId={1}, Category={2}]", Domain, GoogleAccountId, Category); + } + } +} \ No newline at end of file diff --git a/src/CallfireApiClient/CallfireApiClient.csproj b/src/CallfireApiClient/CallfireApiClient.csproj index 10cbdf7..7f3cf98 100644 --- a/src/CallfireApiClient/CallfireApiClient.csproj +++ b/src/CallfireApiClient/CallfireApiClient.csproj @@ -91,10 +91,9 @@ - - - - + + + @@ -146,6 +145,8 @@ + + diff --git a/src/CallfireApiClient/Properties/AssemblyInfo.cs b/src/CallfireApiClient/Properties/AssemblyInfo.cs index d897763..8b496d7 100644 --- a/src/CallfireApiClient/Properties/AssemblyInfo.cs +++ b/src/CallfireApiClient/Properties/AssemblyInfo.cs @@ -13,7 +13,7 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion("1.1.9.*")] +[assembly: AssemblyVersion("1.1.10.*")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing.