// >> START recordings-downloader-step-1 public static void authentication() { //OAuth clientId = Environment.GetEnvironmentVariable("GENESYS_CLOUD_CLIENT_ID"); clientSecret = Environment.GetEnvironmentVariable("GENESYS_CLOUD_CLIENT_SECRET"); // orgRegion values example: us_east_1 string orgRegion = Environment.GetEnvironmentVariable("GENESYS_CLOUD_REGION"); // Set Region PureCloudRegionHosts region = Enum.Parse <PureCloudRegionHosts>(orgRegion); Configuration.Default.ApiClient.setBasePath(region); // >> START recordings-downloader-step-3 // >> START recordings-downloader-step-2 // Configure SDK Settings var accessTokenInfo = Configuration.Default.ApiClient.PostToken(clientId, clientSecret); Configuration.Default.AccessToken = accessTokenInfo.AccessToken; // >> END recordings-downloader-step-2 // >> END recordings-downloader-step-3 // >> END recordings-downloader-step-1 // >> START recordings-downloader-step-4 // Create API instances conversationsApi = new ConversationsApi(); recordingApi = new RecordingApi(); // >> END recordings-downloader-step-4 Console.WriteLine("Working..."); }
public static void authentication() { //OAuth input Console.Write("Enter Client ID: "); clientId = Console.ReadLine(); Console.Write("Enter Client Secret: "); clientSecret = Console.ReadLine(); // Get the Date Interval Console.Write("Enter Date Interval (YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss): "); dates = Console.ReadLine(); Console.WriteLine("Working..."); //Set Region PureCloudRegionHosts region = PureCloudRegionHosts.us_east_1; Configuration.Default.ApiClient.setBasePath(region); // Configure SDK Settings var accessTokenInfo = Configuration.Default.ApiClient.PostToken(clientId, clientSecret); Configuration.Default.AccessToken = accessTokenInfo.AccessToken; // Create API instances conversationsApi = new ConversationsApi(); recordingApi = new RecordingApi(); }
public void Init() { PureCloudRegionHosts?region = getRegion(environment); if (region == null) //Returned in the case of default value { PureCloudPlatform.Client.V2.Client.Configuration.Default.ApiClient.setBasePath("https://api." + environment); } else { PureCloudRegionHosts regionval = region.GetValueOrDefault(); PureCloudPlatform.Client.V2.Client.Configuration.Default.ApiClient.setBasePath(regionval); } PureCloudPlatform.Client.V2.Client.Configuration.Default.ApiClient.PostToken(clientId, clientSecret); }
static void Main(string[] args) { // >> START sms-notification-step-1 // OAuth Credentials string clientId = Environment.GetEnvironmentVariable("GENESYS_CLOUD_CLIENT_ID"); string clientSecret = Environment.GetEnvironmentVariable("GENESYS_CLOUD_CLIENT_SECRET"); // orgRegion value example: us_east_1 string orgRegion = Environment.GetEnvironmentVariable("GENESYS_CLOUD_REGION"); // Set Region PureCloudRegionHosts region = Enum.Parse <PureCloudRegionHosts>(orgRegion); Configuration.Default.ApiClient.setBasePath(region); // >> END sms-notification-step-1 // >> START sms-notification-step-2 // Configure SDK Settings var accessTokenInfo = Configuration.Default.ApiClient.PostToken(clientId, clientSecret); string accessToken = accessTokenInfo.AccessToken; PureCloudPlatform.Client.V2.Client.Configuration.Default.AccessToken = accessToken; // >> END sms-notification-step-2 // >> START sms-notification-step-3 // Instantiate APIs ConversationsApi conversationsApi = new ConversationsApi(); // Build request body SendAgentlessOutboundMessageRequest request = new SendAgentlessOutboundMessageRequest(); request.FromAddress = "+13178723000"; request.ToAddress = "+15557655942"; request.ToAddressMessengerType = SendAgentlessOutboundMessageRequest.ToAddressMessengerTypeEnum.Sms; request.TextBody = "Hello, this is a test notification"; // Call to PostConversationsMessagesAgentless function of Conversations API SendAgentlessOutboundMessageResponse response = conversationsApi.PostConversationsMessagesAgentless(request); // Final Output Console.WriteLine(response.ToString()); // >> END sms-notification-step-3 }
public void Authenticate() { PureCloudRegionHosts?region = getRegion(environment); if (region == null) //Returned in the case of default value { PureCloudPlatform.Client.V2.Client.Configuration.Default.ApiClient.setBasePath("https://api." + environment); } else { PureCloudRegionHosts regionval = region.GetValueOrDefault(); PureCloudPlatform.Client.V2.Client.Configuration.Default.ApiClient.setBasePath(regionval); } var accessTokenInfo = PureCloudPlatform.Client.V2.Client.Configuration.Default.ApiClient.PostToken(clientId, clientSecret); PureCloudPlatform.Client.V2.Client.Configuration.Default.AccessToken = accessTokenInfo.AccessToken; Assert.IsNotEmpty(PureCloudPlatform.Client.V2.Client.Configuration.Default.AccessToken); }
/// <summary> /// Creates a restclient with a PureCloudRegionHost string input /// <returns>Returns a rest client</returns> public RestClient setBasePath(PureCloudRegionHosts region) { return(setBasePath(region.GetDescription())); }
static void Main(string[] args) { var accessTokenInfo = Configuration.Default.ApiClient.PostToken( "clientId", "clientSecret"); Configuration.Default.AccessToken = accessTokenInfo.AccessToken; PureCloudRegionHosts region = PureCloudRegionHosts.us_east_1; Configuration.Default.ApiClient.setBasePath(region); var usersApi = new UsersApi(); var userId = "<REPLACE_WITH_TEST_USER_ID>"; var handler = new NotificationHandler(); var topic = $"v2.users.{userId}.conversations"; handler.AddSubscription(topic, typeof(ConversationEventTopicConversation)); Console.WriteLine($"Subscribed to {topic} topic"); handler.NotificationReceived += (data) => { if (data.GetType() == typeof(NotificationData <ConversationEventTopicConversation>)) { var conversation = (NotificationData <ConversationEventTopicConversation>)data; var conversationId = conversation.EventBody.Id; var eventRawJson = JsonConvert.SerializeObject(data, Formatting.Indented); var eventJsonAsDict = JsonConvert.DeserializeObject <Dictionary <string, dynamic> >(eventRawJson); Console.WriteLine("\n-----------------------------------------------"); Console.WriteLine($"Notification for Conversation ID: {conversation.EventBody.Id}"); var eventBodyJsonAsDict = eventJsonAsDict["EventBody"]; var participants = conversation.EventBody.Participants.ToArray(); for (var i = 0; i < participants.Length; i++) { var participant = participants[i]; var participantJsonAsDict = eventBodyJsonAsDict["participants"][i]; if (participant.Purpose == "agent") { Console.WriteLine($"Participant ID: {participant.UserId}"); Console.WriteLine($"Calls:"); var participantCalls = participant.Calls.ToArray(); for (var j = 0; j < participantCalls.Length; j++) { var call = participantCalls[j]; var participantCallJson = participantJsonAsDict["calls"][j]; var stateJson = participantCallJson["state"]; Console.WriteLine($" -Call Id: {call.Id}, State (as Deserialized): {(int)call.State}, State (in JSON): {stateJson}"); } var participantRawJson = JsonConvert.SerializeObject(participantJsonAsDict, Formatting.Indented); Console.WriteLine($"Participant RawJSON (from Event):\n{participantRawJson}"); } } Console.WriteLine("-----------------------------------------------"); } }; Console.WriteLine("Websocket connected, awaiting messages..."); Console.WriteLine("Press any key to stop and remove all subscriptions"); Console.ReadKey(true); handler.RemoveAllSubscriptions(); Console.WriteLine("All subscriptions removed, exiting..."); }
public void CreateChat(string displayName, string firstName, string lastName, string phoneNumber, string email, string queue) { this.queueName = queue; PureCloudRegionHosts region = PureCloudRegionHosts.eu_west_1; Configuration.Default.ApiClient.setBasePath(region); CreateWebChatConversationRequest request = new CreateWebChatConversationRequest() { OrganizationId = this.organizationId, DeploymentId = this.deploymentId, RoutingTarget = new WebChatRoutingTarget() { TargetType = WebChatRoutingTarget.TargetTypeEnum.Queue, TargetAddress = this.queueName }, MemberInfo = new GuestMemberInfo() { DisplayName = displayName, CustomFields = new Dictionary <string, string>() } }; request.MemberInfo.CustomFields.Add("firstName", firstName); request.MemberInfo.CustomFields.Add("lastName", lastName); request.MemberInfo.CustomFields.Add("phoneNumber", phoneNumber); request.MemberInfo.CustomFields.Add("email", email); request.MemberInfo.CustomFields.Add("bookingLocator", "B2W12Z"); request.MemberInfo.CustomFields.Add("oldName", "havi"); request.MemberInfo.CustomFields.Add("newName", "Javier"); try { // Create an ACD chat conversation from an external customer. CreateWebChatConversationResponse result = apiInstance.PostWebchatGuestConversations(request); this.conversationId = result.Id; this.memberId = result.Member.Id; Configuration.Default.ApiKey.Add("Authorization", "Bearer " + result.Jwt); WebSocket ws = new WebSocket(result.EventStreamUri); ws.SslConfiguration.EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls12; ws.OnOpen += (sender, e) => { Console.WriteLine("Connection Opened"); }; ws.OnMessage += (sender, e) => { Dictionary <string, object> notification = JsonConvert.DeserializeObject <Dictionary <string, object> >(e.Data); object metadata; if (notification.TryGetValue("metadata", out metadata)) { Dictionary <string, object> mdObject = ((JObject)metadata).ToObject <Dictionary <string, object> >(); object type; if (mdObject.TryGetValue("type", out type)) { switch (type.ToString()) { case "message": ProcessMessage(notification); break; case "member-join": break; default: break; } } } }; ws.OnError += (sender, e) => { Console.WriteLine("Error: " + e.Message); }; ws.OnClose += (sender, e) => { Console.WriteLine("Closed "); }; ws.Connect(); } catch (Exception e) { Console.WriteLine("Exception when calling WebChatApi.PostWebchatGuestConversations: " + e.Message); } }