-
Notifications
You must be signed in to change notification settings - Fork 30
Expand file tree
/
Copy pathVoiceClient.cs
More file actions
78 lines (68 loc) · 2.74 KB
/
VoiceClient.cs
File metadata and controls
78 lines (68 loc) · 2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using System.Collections.Generic;
using System.Net;
namespace Telesign
{
/// <summary>
/// TeleSign's Voice API allows you to easily send voice messages. You can send alerts, reminders, and notifications,
/// or you can send verification messages containing time-based, one-time passcodes(TOTP).
/// </summary>
public class VoiceClient : RestClient
{
private const string VOICE_RESOURCE = "/v1/voice";
private const string VOICE_STATUS_RESOURCE = "/v1/voice/{0}";
public VoiceClient(string customerId,
string apiKey)
: base(customerId,
apiKey)
{ }
public VoiceClient(string customerId,
string apiKey,
string restEndPoint)
: base(customerId,
apiKey,
restEndPoint)
{ }
public VoiceClient(string customerId,
string apiKey,
string restEndPoint,
int timeout,
WebProxy proxy,
string proxyUsername,
string proxyPassword)
: base(customerId,
apiKey,
restEndPoint,
timeout,
proxy,
proxyUsername,
proxyPassword)
{ }
/// <summary>
/// Send a voice call to the target phone_number.
///
/// See https://developer.telesign.com/docs/voice-api for detailed API documentation.
/// </summary>
public TelesignResponse Call(string phoneNumber, string message, string messageType, Dictionary<string, string> callParams = null)
{
if (null == callParams)
callParams = new Dictionary<string, string>();
callParams["phone_number"] = phoneNumber;
callParams["message"] = message;
callParams["message_type"] = messageType;
return Post(VOICE_RESOURCE, callParams);
}
/// <summary>
/// Retrieves the current status of the voice call.
///
/// See https://developer.telesign.com/docs/voice-api for detailed API documentation.
/// </summary>
public TelesignResponse Status(string referenceId, Dictionary<string, string> statusParams = null)
{
if (null == statusParams)
statusParams = new Dictionary<string, string>();
statusParams["reference_id"] = referenceId;
string resource = string.Format(VOICE_STATUS_RESOURCE, referenceId);
return Get(resource, statusParams);
}
}
}