Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions CallfireApiClient.nuspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?><package>
<metadata>
<id>CallfireApiClient</id>
<version>1.1.9</version>
<version>1.1.10</version>
<title>CallFire API v2 client</title>
<authors>
Vladimir Mikhailov
Expand All @@ -15,8 +15,12 @@
<description>C# client library for integration with Callfire REST API v2 services</description>
<releaseNotes>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
Expand Down
3 changes: 3 additions & 0 deletions Changelog.txt
Original file line number Diff line number Diff line change
@@ -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

Expand Down
8 changes: 5 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
Original file line number Diff line number Diff line change
Expand Up @@ -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
{
Expand Down Expand Up @@ -175,15 +176,14 @@ public void AddRecipientsAndAddRemoveBatches()
Name = "new_batch",
Recipients = new List<Recipient>
{
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);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
{
Expand Down Expand Up @@ -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);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
{
Expand Down Expand Up @@ -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<string> { "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> { 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");
Expand All @@ -91,5 +119,4 @@ public void UpdateNumberLeaseConfig()
Assert.AreEqual(NumberConfig.NumberConfigType.TRACKING, config.ConfigType);
}
}
}

}
15 changes: 0 additions & 15 deletions src/CallfireApiClient.Tests/Api/CallsTexts/CallRecording.cs

This file was deleted.

25 changes: 22 additions & 3 deletions src/CallfireApiClient.Tests/Api/Numbers/NumberLeasesApiTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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
{
Expand Down Expand Up @@ -127,16 +128,34 @@ public void UpdateConfig()
{
Screen = false,
Recorded = true,
TransferNumbers = new List<string>{ "12135551122", "12135551189" }
TransferNumbers = new List<string>{ "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> { 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);
Assert.That(requestBodyParam.Value, Is.EqualTo(expectedJson));
Assert.That(restRequest.Value.Resource, Is.StringEnding("/numbers/leases/configs/12345678901"));
}
}
}

}
1 change: 0 additions & 1 deletion src/CallfireApiClient.Tests/CallfireApiClient.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@
<Compile Include="Api\Account\OrdersApiTest.cs" />
<Compile Include="Api\Account\MeApiTest.cs" />
<Compile Include="Api\AbstractApiTest.cs" />
<Compile Include="Api\CallsTexts\CallRecording.cs" />
<Compile Include="Api\CallsTexts\MediaApiTest.cs" />
<Compile Include="Api\CallsTexts\TextsApiTest.cs" />
<Compile Include="Api\CallsTexts\CallsApiTest.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
"id": 10306,
"billedAmount": 1.1667,
"finishTime": 1443373425000,
"toNumber": "12135551101",
"labels": ["12135551102"],
"result": "AM"
}
],
Expand All @@ -44,6 +46,8 @@
"id": 10305,
"billedAmount": 0.0,
"finishTime": 1443373408000,
"toNumber": "12135551101",
"labels": ["12135551102"],
"result": "CARRIER_ERROR"
}
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
"id": 10304,
"billedAmount": 1.1667,
"finishTime": 1443333972000,
"toNumber": "12135551101",
"labels": ["12135551102"],
"result": "LA"
}
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
}
}
}
8 changes: 7 additions & 1 deletion src/CallfireApiClient/Api/CallsTexts/Model/ActionRecord.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using CallfireApiClient.Api.Common.Model;
using System.Collections.Generic;

namespace CallfireApiClient.Api.CallsTexts.Model
{
Expand All @@ -11,9 +12,14 @@ public class ActionRecord : CallfireModel

public DateTime? FinishTime { get; private set; }

public string ToNumber { get; private set; }

public ISet<string> 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());
}
}
}
Expand Down
5 changes: 3 additions & 2 deletions src/CallfireApiClient/Api/CallsTexts/Model/CallRecipient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
}
Expand Down
16 changes: 0 additions & 16 deletions src/CallfireApiClient/Api/Campaigns/Model/DayOfWeek.cs

This file was deleted.

18 changes: 4 additions & 14 deletions src/CallfireApiClient/Api/Campaigns/Model/Schedule.cs
Original file line number Diff line number Diff line change
@@ -1,31 +1,21 @@
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; }

public long? CampaignId { get; set; }

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<DayOfWeek> 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);
}
}
}
Expand Down
Loading