Esempio n. 1
0
        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}");
        }
Esempio n. 2
0
        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);
        }