Skip to content

Commit 01c7415

Browse files
authored
Merge branch 'main' into public_oauth_tests
2 parents 6815174 + b6aabe9 commit 01c7415

26 files changed

+101
-30
lines changed

CHANGES.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
twilio-csharp Changelog
22
=======================
33

4+
[2024-11-15] Version 7.7.0
5+
--------------------------
6+
**Library - Feature**
7+
- [PR #769](https://github.com/twilio/twilio-csharp/pull/769): Adding example for using public OAuth. Thanks to [@AsabuHere](https://github.com/AsabuHere)!
8+
9+
**Api**
10+
- Added `ivr-virtual-agent-custom-voices` and `ivr-virtual-agent-genai` to `usage_record` API.
11+
- Add open-api file tag to realtime_transcriptions
12+
13+
**Taskrouter**
14+
- Add `api-tag` property to workers reservation
15+
- Add `api-tag` property to task reservation
16+
17+
418
[2024-10-24] Version 7.6.0
519
--------------------------
620
**Library - Feature**

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,12 @@ var message = MessageResource.Create(
7272
);
7373
Console.WriteLine(message.Sid);
7474
```
75+
## OAuth Feature for Twilio APIs
76+
We are introducing Client Credentials Flow-based OAuth 2.0 authentication. This feature is currently in beta and its implementation is subject to change.
7577

76-
Examples on how to make rest calls with bearer token authentication is added [here](https://github.com/twilio/twilio-csharp/blob/orgs_api_uptake/examples/BearerTokenAuthentication.md)
78+
API examples [here](https://github.com/twilio/twilio-csharp/blob/main/examples/PublicOAuthAuthentication.md)
79+
80+
Organisation API examples [here](https://github.com/twilio/twilio-csharp/blob/main/examples/BearerTokenAuthentication.md)
7781

7882
## Specify Region and/or Edge
7983

examples/BearerTokenAuthentication.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class Program
1313
static void Main(string[] args)
1414
{
1515

16-
CredentialProvider credentialProvider = new ClientCredentialProvider(CLIENT_ID, CLIENT_SECRET);
16+
CredentialProvider credentialProvider = new OrgsClientCredentialProvider(CLIENT_ID, CLIENT_SECRET);
1717
TwilioClient.Init(credentialProvider);
1818

1919
Twilio.Base.ResourceSet<Twilio.Rest.PreviewIam.Organizations.AccountResource> accountList = null;

examples/PublicOAuthAuthentication.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
```csharp
2+
using Twilio;
3+
using Twilio.Credential;
4+
using Twilio.Rest.Api.V2010.Account;
5+
6+
//Find client id, client secret of the OAuth App
7+
//Message sid in this example is the sid of any previously sent message
8+
class Program
9+
{
10+
static void Main(string[] args)
11+
{
12+
CredentialProvider credentialProvider = new ClientCredentialProvider(CLIENT_ID, CLIENT_SECRET);
13+
TwilioClient.Init(credentialProvider, ACCOUNT_SID);
14+
15+
/*
16+
* Or use the following if accountSid is not required as a path parameter for an API or when setting accountSid in the API.
17+
TwilioClient.init(new ClientCredentialProvider(CLIENT_ID, CLIENT_SECRET));
18+
*/
19+
20+
FetchMessageOptions fm = new FetchMessageOptions(MESSAGE_SID);
21+
MessageResource m = MessageResource.Fetch(fm);
22+
Console.WriteLine(m.Body);
23+
}
24+
}
25+
```

src/Twilio/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@
1010

1111
internal class AssemblyInfomation
1212
{
13-
public const string AssemblyInformationalVersion = "7.6.0";
13+
public const string AssemblyInformationalVersion = "7.7.0";
1414
}

src/Twilio/Rest/Api/V2010/Account/Usage/Record/AllTimeResource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ public static implicit operator CategoryEnum(string value)
8888
public static readonly CategoryEnum GroupRoomsParticipantMinutes = new CategoryEnum("group-rooms-participant-minutes");
8989
public static readonly CategoryEnum GroupRoomsRecordedMinutes = new CategoryEnum("group-rooms-recorded-minutes");
9090
public static readonly CategoryEnum ImpV1Usage = new CategoryEnum("imp-v1-usage");
91+
public static readonly CategoryEnum IvrVirtualAgentCustomVoices = new CategoryEnum("ivr-virtual-agent-custom-voices");
92+
public static readonly CategoryEnum IvrVirtualAgentGenai = new CategoryEnum("ivr-virtual-agent-genai");
9193
public static readonly CategoryEnum Lookups = new CategoryEnum("lookups");
9294
public static readonly CategoryEnum Marketplace = new CategoryEnum("marketplace");
9395
public static readonly CategoryEnum MarketplaceAlgorithmiaNamedEntityRecognition = new CategoryEnum("marketplace-algorithmia-named-entity-recognition");

src/Twilio/Rest/Api/V2010/Account/Usage/Record/DailyResource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ public static implicit operator CategoryEnum(string value)
8888
public static readonly CategoryEnum GroupRoomsParticipantMinutes = new CategoryEnum("group-rooms-participant-minutes");
8989
public static readonly CategoryEnum GroupRoomsRecordedMinutes = new CategoryEnum("group-rooms-recorded-minutes");
9090
public static readonly CategoryEnum ImpV1Usage = new CategoryEnum("imp-v1-usage");
91+
public static readonly CategoryEnum IvrVirtualAgentCustomVoices = new CategoryEnum("ivr-virtual-agent-custom-voices");
92+
public static readonly CategoryEnum IvrVirtualAgentGenai = new CategoryEnum("ivr-virtual-agent-genai");
9193
public static readonly CategoryEnum Lookups = new CategoryEnum("lookups");
9294
public static readonly CategoryEnum Marketplace = new CategoryEnum("marketplace");
9395
public static readonly CategoryEnum MarketplaceAlgorithmiaNamedEntityRecognition = new CategoryEnum("marketplace-algorithmia-named-entity-recognition");

src/Twilio/Rest/Api/V2010/Account/Usage/Record/LastMonthResource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ public static implicit operator CategoryEnum(string value)
8888
public static readonly CategoryEnum GroupRoomsParticipantMinutes = new CategoryEnum("group-rooms-participant-minutes");
8989
public static readonly CategoryEnum GroupRoomsRecordedMinutes = new CategoryEnum("group-rooms-recorded-minutes");
9090
public static readonly CategoryEnum ImpV1Usage = new CategoryEnum("imp-v1-usage");
91+
public static readonly CategoryEnum IvrVirtualAgentCustomVoices = new CategoryEnum("ivr-virtual-agent-custom-voices");
92+
public static readonly CategoryEnum IvrVirtualAgentGenai = new CategoryEnum("ivr-virtual-agent-genai");
9193
public static readonly CategoryEnum Lookups = new CategoryEnum("lookups");
9294
public static readonly CategoryEnum Marketplace = new CategoryEnum("marketplace");
9395
public static readonly CategoryEnum MarketplaceAlgorithmiaNamedEntityRecognition = new CategoryEnum("marketplace-algorithmia-named-entity-recognition");

src/Twilio/Rest/Api/V2010/Account/Usage/Record/MonthlyResource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ public static implicit operator CategoryEnum(string value)
8888
public static readonly CategoryEnum GroupRoomsParticipantMinutes = new CategoryEnum("group-rooms-participant-minutes");
8989
public static readonly CategoryEnum GroupRoomsRecordedMinutes = new CategoryEnum("group-rooms-recorded-minutes");
9090
public static readonly CategoryEnum ImpV1Usage = new CategoryEnum("imp-v1-usage");
91+
public static readonly CategoryEnum IvrVirtualAgentCustomVoices = new CategoryEnum("ivr-virtual-agent-custom-voices");
92+
public static readonly CategoryEnum IvrVirtualAgentGenai = new CategoryEnum("ivr-virtual-agent-genai");
9193
public static readonly CategoryEnum Lookups = new CategoryEnum("lookups");
9294
public static readonly CategoryEnum Marketplace = new CategoryEnum("marketplace");
9395
public static readonly CategoryEnum MarketplaceAlgorithmiaNamedEntityRecognition = new CategoryEnum("marketplace-algorithmia-named-entity-recognition");

src/Twilio/Rest/Api/V2010/Account/Usage/Record/ThisMonthResource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ public static implicit operator CategoryEnum(string value)
8888
public static readonly CategoryEnum GroupRoomsParticipantMinutes = new CategoryEnum("group-rooms-participant-minutes");
8989
public static readonly CategoryEnum GroupRoomsRecordedMinutes = new CategoryEnum("group-rooms-recorded-minutes");
9090
public static readonly CategoryEnum ImpV1Usage = new CategoryEnum("imp-v1-usage");
91+
public static readonly CategoryEnum IvrVirtualAgentCustomVoices = new CategoryEnum("ivr-virtual-agent-custom-voices");
92+
public static readonly CategoryEnum IvrVirtualAgentGenai = new CategoryEnum("ivr-virtual-agent-genai");
9193
public static readonly CategoryEnum Lookups = new CategoryEnum("lookups");
9294
public static readonly CategoryEnum Marketplace = new CategoryEnum("marketplace");
9395
public static readonly CategoryEnum MarketplaceAlgorithmiaNamedEntityRecognition = new CategoryEnum("marketplace-algorithmia-named-entity-recognition");

src/Twilio/Rest/Api/V2010/Account/Usage/Record/TodayResource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ public static implicit operator CategoryEnum(string value)
8888
public static readonly CategoryEnum GroupRoomsParticipantMinutes = new CategoryEnum("group-rooms-participant-minutes");
8989
public static readonly CategoryEnum GroupRoomsRecordedMinutes = new CategoryEnum("group-rooms-recorded-minutes");
9090
public static readonly CategoryEnum ImpV1Usage = new CategoryEnum("imp-v1-usage");
91+
public static readonly CategoryEnum IvrVirtualAgentCustomVoices = new CategoryEnum("ivr-virtual-agent-custom-voices");
92+
public static readonly CategoryEnum IvrVirtualAgentGenai = new CategoryEnum("ivr-virtual-agent-genai");
9193
public static readonly CategoryEnum Lookups = new CategoryEnum("lookups");
9294
public static readonly CategoryEnum Marketplace = new CategoryEnum("marketplace");
9395
public static readonly CategoryEnum MarketplaceAlgorithmiaNamedEntityRecognition = new CategoryEnum("marketplace-algorithmia-named-entity-recognition");

src/Twilio/Rest/Api/V2010/Account/Usage/Record/YearlyResource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ public static implicit operator CategoryEnum(string value)
8888
public static readonly CategoryEnum GroupRoomsParticipantMinutes = new CategoryEnum("group-rooms-participant-minutes");
8989
public static readonly CategoryEnum GroupRoomsRecordedMinutes = new CategoryEnum("group-rooms-recorded-minutes");
9090
public static readonly CategoryEnum ImpV1Usage = new CategoryEnum("imp-v1-usage");
91+
public static readonly CategoryEnum IvrVirtualAgentCustomVoices = new CategoryEnum("ivr-virtual-agent-custom-voices");
92+
public static readonly CategoryEnum IvrVirtualAgentGenai = new CategoryEnum("ivr-virtual-agent-genai");
9193
public static readonly CategoryEnum Lookups = new CategoryEnum("lookups");
9294
public static readonly CategoryEnum Marketplace = new CategoryEnum("marketplace");
9395
public static readonly CategoryEnum MarketplaceAlgorithmiaNamedEntityRecognition = new CategoryEnum("marketplace-algorithmia-named-entity-recognition");

src/Twilio/Rest/Api/V2010/Account/Usage/Record/YesterdayResource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ public static implicit operator CategoryEnum(string value)
8888
public static readonly CategoryEnum GroupRoomsParticipantMinutes = new CategoryEnum("group-rooms-participant-minutes");
8989
public static readonly CategoryEnum GroupRoomsRecordedMinutes = new CategoryEnum("group-rooms-recorded-minutes");
9090
public static readonly CategoryEnum ImpV1Usage = new CategoryEnum("imp-v1-usage");
91+
public static readonly CategoryEnum IvrVirtualAgentCustomVoices = new CategoryEnum("ivr-virtual-agent-custom-voices");
92+
public static readonly CategoryEnum IvrVirtualAgentGenai = new CategoryEnum("ivr-virtual-agent-genai");
9193
public static readonly CategoryEnum Lookups = new CategoryEnum("lookups");
9294
public static readonly CategoryEnum Marketplace = new CategoryEnum("marketplace");
9395
public static readonly CategoryEnum MarketplaceAlgorithmiaNamedEntityRecognition = new CategoryEnum("marketplace-algorithmia-named-entity-recognition");

src/Twilio/Rest/Api/V2010/Account/Usage/RecordResource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ public static implicit operator CategoryEnum(string value)
8888
public static readonly CategoryEnum GroupRoomsParticipantMinutes = new CategoryEnum("group-rooms-participant-minutes");
8989
public static readonly CategoryEnum GroupRoomsRecordedMinutes = new CategoryEnum("group-rooms-recorded-minutes");
9090
public static readonly CategoryEnum ImpV1Usage = new CategoryEnum("imp-v1-usage");
91+
public static readonly CategoryEnum IvrVirtualAgentCustomVoices = new CategoryEnum("ivr-virtual-agent-custom-voices");
92+
public static readonly CategoryEnum IvrVirtualAgentGenai = new CategoryEnum("ivr-virtual-agent-genai");
9193
public static readonly CategoryEnum Lookups = new CategoryEnum("lookups");
9294
public static readonly CategoryEnum Marketplace = new CategoryEnum("marketplace");
9395
public static readonly CategoryEnum MarketplaceAlgorithmiaNamedEntityRecognition = new CategoryEnum("marketplace-algorithmia-named-entity-recognition");

src/Twilio/Rest/Api/V2010/Account/Usage/TriggerResource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ public static implicit operator UsageCategoryEnum(string value)
103103
public static readonly UsageCategoryEnum GroupRoomsParticipantMinutes = new UsageCategoryEnum("group-rooms-participant-minutes");
104104
public static readonly UsageCategoryEnum GroupRoomsRecordedMinutes = new UsageCategoryEnum("group-rooms-recorded-minutes");
105105
public static readonly UsageCategoryEnum ImpV1Usage = new UsageCategoryEnum("imp-v1-usage");
106+
public static readonly UsageCategoryEnum IvrVirtualAgentCustomVoices = new UsageCategoryEnum("ivr-virtual-agent-custom-voices");
107+
public static readonly UsageCategoryEnum IvrVirtualAgentGenai = new UsageCategoryEnum("ivr-virtual-agent-genai");
106108
public static readonly UsageCategoryEnum Lookups = new UsageCategoryEnum("lookups");
107109
public static readonly UsageCategoryEnum Marketplace = new UsageCategoryEnum("marketplace");
108110
public static readonly UsageCategoryEnum MarketplaceAlgorithmiaNamedEntityRecognition = new UsageCategoryEnum("marketplace-algorithmia-named-entity-recognition");

src/Twilio/Rest/Content/V1/ContentResource.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1179,6 +1179,7 @@ public static implicit operator CallToActionActionType(string value)
11791179
public static readonly CallToActionActionType PhoneNumber = new CallToActionActionType("PHONE_NUMBER");
11801180
public static readonly CallToActionActionType CopyCode = new CallToActionActionType("COPY_CODE");
11811181
public static readonly CallToActionActionType VoiceCall = new CallToActionActionType("VOICE_CALL");
1182+
public static readonly CallToActionActionType VoiceCallRequest = new CallToActionActionType("VOICE_CALL_REQUEST");
11821183

11831184
}
11841185

src/Twilio/Rest/Conversations/V1/ConversationWithParticipantsOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public class CreateConversationWithParticipantsOptions : IOptions<ConversationWi
6464
///<summary> The default name that will be used when sending outbound emails in this conversation. </summary>
6565
public string BindingsEmailName { get; set; }
6666

67-
///<summary> The participant to be added to the conversation in JSON format. The parameters are as in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10. </summary>
67+
///<summary> The participant to be added to the conversation in JSON format. The JSON object attributes are as parameters in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10. </summary>
6868
public List<string> Participant { get; set; }
6969

7070

src/Twilio/Rest/Conversations/V1/ConversationWithParticipantsResource.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public static async System.Threading.Tasks.Task<ConversationWithParticipantsReso
112112
/// <param name="timersClosed"> ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes. </param>
113113
/// <param name="bindingsEmailAddress"> The default email address that will be used when sending outbound emails in this conversation. </param>
114114
/// <param name="bindingsEmailName"> The default name that will be used when sending outbound emails in this conversation. </param>
115-
/// <param name="participant"> The participant to be added to the conversation in JSON format. The parameters are as in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10. </param>
115+
/// <param name="participant"> The participant to be added to the conversation in JSON format. The JSON object attributes are as parameters in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10. </param>
116116
/// <param name="xTwilioWebhookEnabled"> The X-Twilio-Webhook-Enabled HTTP request header </param>
117117
/// <param name="client"> Client to make requests to Twilio </param>
118118
/// <returns> A single instance of ConversationWithParticipants </returns>
@@ -149,7 +149,7 @@ public static ConversationWithParticipantsResource Create(
149149
/// <param name="timersClosed"> ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes. </param>
150150
/// <param name="bindingsEmailAddress"> The default email address that will be used when sending outbound emails in this conversation. </param>
151151
/// <param name="bindingsEmailName"> The default name that will be used when sending outbound emails in this conversation. </param>
152-
/// <param name="participant"> The participant to be added to the conversation in JSON format. The parameters are as in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10. </param>
152+
/// <param name="participant"> The participant to be added to the conversation in JSON format. The JSON object attributes are as parameters in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10. </param>
153153
/// <param name="xTwilioWebhookEnabled"> The X-Twilio-Webhook-Enabled HTTP request header </param>
154154
/// <param name="client"> Client to make requests to Twilio </param>
155155
/// <returns> Task that resolves to A single instance of ConversationWithParticipants </returns>

src/Twilio/Rest/Conversations/V1/Service/ConversationWithParticipantsOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public class CreateConversationWithParticipantsOptions : IOptions<ConversationWi
6767
///<summary> The default name that will be used when sending outbound emails in this conversation. </summary>
6868
public string BindingsEmailName { get; set; }
6969

70-
///<summary> The participant to be added to the conversation in JSON format. The parameters are as in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10. </summary>
70+
///<summary> The participant to be added to the conversation in JSON format. The JSON object attributes are as parameters in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10. </summary>
7171
public List<string> Participant { get; set; }
7272

7373

0 commit comments

Comments
 (0)