public void Execute() { var VONAGE_API_KEY = Environment.GetEnvironmentVariable("VONAGE_API_KEY") ?? "VONAGE_API_KEY"; var VONAGE_API_SECRET = Environment.GetEnvironmentVariable("VONAGE_API_SECRET") ?? "VONAGE_API_SECRET"; var COUNTRY_CODE = Environment.GetEnvironmentVariable("COUNTRY_CODE") ?? "COUNTRY_CODE"; var VONAGE_NUMBER = Environment.GetEnvironmentVariable("VONAGE_NUMBER") ?? "VONAGE_NUMBER"; var SMS_CALLBACK_URL = Environment.GetEnvironmentVariable("SMS_CALLBACK_URL") ?? "SMS_CALLBACK_URL"; var VONAGE_APPLICATION_ID = Environment.GetEnvironmentVariable("VONAGE_APPLICATION_ID") ?? "VONAGE_APPLICATION_ID"; var VOICE_CALLBACK_TYPE = Environment.GetEnvironmentVariable("VOICE_CALLBACK_TYPE") ?? "VOICE_CALLBACK_TYPE"; var VOICE_CALLBACK_VALUE = Environment.GetEnvironmentVariable("VOICE_CALLBACK_VALUE") ?? "VOICE_CALLBACK_VALUE"; var VOICE_STATUS_URL = Environment.GetEnvironmentVariable("VOICE_STATUS_URL") ?? "VOICE_STATUS_URL"; var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET); var client = new VonageClient(credentials); var request = new UpdateNumberRequest() { Country = COUNTRY_CODE, Msisdn = VONAGE_NUMBER, MoHttpUrl = SMS_CALLBACK_URL, AppId = VONAGE_APPLICATION_ID, VoiceCallbackType = VOICE_CALLBACK_TYPE, VoiceCallbackValue = VOICE_CALLBACK_VALUE, VoiceStatusCallback = VOICE_STATUS_URL }; var response = client.NumbersClient.UpdateANumber(request); Console.WriteLine($"Response Error Code: {response.ErrorCode} and Error Code Label: {response.ErrorCodeLabel}"); }
public void TestUpdateNumber(bool passCreds, bool kitchenSink) { var expectedResponse = @"{ ""error-code"": ""200"", ""error-code-label"": ""success"" }"; var expectedUri = $"{RestUrl}/number/update"; string expectdRequestContent; UpdateNumberRequest request; if (kitchenSink) { expectdRequestContent = $"country=GB&msisdn=447700900000&app_id=aaaaaaaa-bbbb-cccc-dddd-0123456789abc&moHttpUrl={HttpUtility.UrlEncode("https://example.com/webhooks/inbound-sms")}&" + $"moSmppSysType=inbound&voiceCallbackType=tel&voiceCallbackValue=447700900000&voiceStatusCallback={HttpUtility.UrlEncode("https://example.com/webhooks/status")}&" + $"api_key={ApiKey}&api_secret={ApiSecret}&"; request = new UpdateNumberRequest { Country = "GB", Msisdn = "447700900000", AppId = "aaaaaaaa-bbbb-cccc-dddd-0123456789abc", MoHttpUrl = "https://example.com/webhooks/inbound-sms", MoSmppSysType = "inbound", VoiceCallbackType = "tel", VoiceCallbackValue = "447700900000", VoiceStatusCallback = "https://example.com/webhooks/status" }; } else { expectdRequestContent = $"country=GB&msisdn=447700900000&api_key={ApiKey}&api_secret={ApiSecret}&"; request = new UpdateNumberRequest { Country = "GB", Msisdn = "447700900000" }; } Setup(expectedUri, expectedResponse, expectdRequestContent); var creds = Request.Credentials.FromApiKeyAndSecret(ApiKey, ApiSecret); var client = new NexmoClient(creds); NumberTransactionResponse response; if (passCreds) { response = client.NumbersClient.UpdateANumber(request, creds); } else { response = client.NumbersClient.UpdateANumber(request); } Assert.Equal("200", response.ErrorCode); Assert.Equal("success", response.ErrorCodeLabel); }