/// <inheritdoc /> /// <summary> /// Create a campaign <b>Permissions Needed:</b> CAMPAIGNS_ADMIN /// </summary> /// <param name="campaignResource">The campaign resource object</param> public void CreateCampaign(CampaignResource campaignResource) { mWebCallEvent.WebPath = "/campaigns"; if (!string.IsNullOrEmpty(mWebCallEvent.WebPath)) { mWebCallEvent.WebPath = mWebCallEvent.WebPath.Replace("{format}", "json"); } mWebCallEvent.HeaderParams.Clear(); mWebCallEvent.QueryParams.Clear(); mWebCallEvent.AuthSettings.Clear(); mWebCallEvent.PostBody = null; mWebCallEvent.PostBody = KnetikClient.Serialize(campaignResource); // http body (model) parameter // authentication settings mWebCallEvent.AuthSettings.Add("oauth2_client_credentials_grant"); // authentication settings mWebCallEvent.AuthSettings.Add("oauth2_password_grant"); // make the HTTP request mCreateCampaignStartTime = DateTime.Now; mWebCallEvent.Context = mCreateCampaignResponseContext; mWebCallEvent.RequestType = KnetikRequestType.POST; KnetikLogger.LogRequest(mCreateCampaignStartTime, "CreateCampaign", "Sending server request..."); KnetikGlobalEventSystem.Publish(mWebCallEvent); }
public void TestCreateRequest() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); var request = new Request( HttpMethod.Post, Twilio.Rest.Domain.Messaging, "/v1/a2p/Campaigns", "" ); request.AddPostParam("BrandRegistrationSid", Serialize("BNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")); request.AddPostParam("UseCase", Serialize("use_case")); request.AddPostParam("Description", Serialize("description")); request.AddPostParam("MessageSamples", Serialize("message_samples")); request.AddPostParam("HasEmbeddedLinks", Serialize(true)); request.AddPostParam("HasEmbeddedPhone", Serialize(true)); request.AddPostParam("MessagingServiceSid", Serialize("MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")); twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content")); try { CampaignResource.Create("BNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "use_case", "description", Promoter.ListOfOne("message_samples"), true, true, "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient); Assert.Fail("Expected TwilioException to be thrown for 500"); } catch (ApiException) {} twilioRestClient.Received().Request(request); }
public void FillCampaignResources(GameObject[] GameResources) { List <CampaignResource> temporaryList = new List <CampaignResource>(); foreach (GameObject resource in GameResources) { CampaignResource campaignResource = resource.GetComponent <CampaignResource>(); temporaryList.Add(campaignResource); } resourceList.FillCampaignResources(temporaryList); }
protected override void OnButtonClicked() { base.OnButtonClicked(); CampaignResource resource = new ResourceBrowser(editor, type).ShowModal(); if (resource is CampaignResource.Dummy) { Resource = null; } else if (resource != null) { Resource = resource; } }
public void TestReadFullResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"meta\": {\"page\": 0,\"page_size\": 50,\"first_page_url\": \"https://messaging.twilio.com/v1/a2p/Campaigns?PageSize=50&Page=0\",\"previous_page_url\": null,\"next_page_url\": null,\"key\": \"data\",\"url\": \"https://messaging.twilio.com/v1/a2p/Campaigns?PageSize=50&Page=0\"},\"data\": [{\"sid\": \"CMdeadbeef66043a43b62be6d67c635c85\",\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"messaging_service_sid\": \"MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"date_created\": \"2021-01-27T14:47:52Z\",\"date_updated\": \"2021-01-27T14:47:53Z\",\"description\": \"Test description for test campaing\",\"message_samples\": [\"Test_Sample_1\",\"Another_test_sample_2\"],\"status\": \"pending\",\"failure_reason\": null,\"use_case\": \"GAMBLING_SWEEPSTAKE\",\"has_embedded_links\": true,\"has_embedded_phone\": false,\"brand_registration_sid\": \"BN0044409f7e067e279523808d267e2d85\",\"url\": \"https://messaging.twilio.com/v1/a2p/Campaigns/CMdeadbeef66043a43b62be6d67c635c85\"}]}" )); var response = CampaignResource.Read(client: twilioRestClient); Assert.NotNull(response); }
public void TestFetchResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"sid\": \"CMdeadbeef66043a43b62be6d67c635c85\",\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"messaging_service_sid\": \"MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"date_created\": \"2021-01-27T14:47:52Z\",\"date_updated\": \"2021-01-27T14:47:52Z\",\"description\": \"Test description for test campaing\",\"message_samples\": [\"Test_Sample_1\",\"Another_test_sample_2\"],\"status\": \"pending\",\"failure_reason\": null,\"use_case\": \"PUBLIC_SERVICE_ANNOUNCEMENT\",\"has_embedded_links\": true,\"has_embedded_phone\": false,\"brand_registration_sid\": \"BN0044409f7e067e279523808d267e2d85\",\"url\": \"https://messaging.twilio.com/v1/a2p/Campaigns/CMdeadbeef66043a43b62be6d67c635c85\"}" )); var response = CampaignResource.Fetch("CMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient); Assert.NotNull(response); }
public void TestDeleteResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.NoContent, "null" )); var response = CampaignResource.Delete("CMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient); Assert.NotNull(response); }
public void TestCreateResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.Created, "{\"sid\": \"CMdeadbeef66043a43b62be6d67c635c85\",\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"messaging_service_sid\": \"MG3u3kcgofdljponkatswl3ad3ev0c123u\",\"brand_registration_sid\": \"BN0044409f7e067e279523808d267e2d85\",\"date_created\": \"2021-01-27T14:47:52Z\",\"date_updated\": \"2021-01-27T14:47:52Z\",\"description\": \"Send marketing messages about sales and offers to opted in customers.\",\"message_samples\": [\"EXPRESS: Denim Days Event is ON\",\"LAST CHANCE: Book your next flight for just 1 (ONE) EUR\"],\"status\": \"pending\",\"failure_reason\": null,\"use_case\": \"2FA\",\"has_embedded_links\": true,\"has_embedded_phone\": false,\"url\": \"https://messaging.twilio.com/v1/a2p/Campaigns/CMdeadbeef66043a43b62be6d67c635c85\"}" )); var response = CampaignResource.Create("BNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "use_case", "description", Promoter.ListOfOne("message_samples"), true, true, "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient); Assert.NotNull(response); }
public void TestReadRequest() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); var request = new Request( HttpMethod.Get, Twilio.Rest.Domain.Messaging, "/v1/a2p/Campaigns", "" ); twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content")); try { CampaignResource.Read(client: twilioRestClient); Assert.Fail("Expected TwilioException to be thrown for 500"); } catch (ApiException) {} twilioRestClient.Received().Request(request); }
/// <inheritdoc /> /// <summary> /// Update a campaign <b>Permissions Needed:</b> CAMPAIGNS_ADMIN /// </summary> /// <param name="id">The campaign id</param> /// <param name="campaignResource">The campaign resource object</param> public void UpdateCampaign(long?id, CampaignResource campaignResource) { // verify the required parameter 'id' is set if (id == null) { throw new KnetikException(400, "Missing required parameter 'id' when calling UpdateCampaign"); } mWebCallEvent.WebPath = "/campaigns/{id}"; if (!string.IsNullOrEmpty(mWebCallEvent.WebPath)) { mWebCallEvent.WebPath = mWebCallEvent.WebPath.Replace("{format}", "json"); } mWebCallEvent.WebPath = mWebCallEvent.WebPath.Replace("{" + "id" + "}", KnetikClient.ParameterToString(id)); mWebCallEvent.HeaderParams.Clear(); mWebCallEvent.QueryParams.Clear(); mWebCallEvent.AuthSettings.Clear(); mWebCallEvent.PostBody = null; mWebCallEvent.PostBody = KnetikClient.Serialize(campaignResource); // http body (model) parameter // authentication settings mWebCallEvent.AuthSettings.Add("oauth2_client_credentials_grant"); // authentication settings mWebCallEvent.AuthSettings.Add("oauth2_password_grant"); // make the HTTP request mUpdateCampaignStartTime = DateTime.Now; mWebCallEvent.Context = mUpdateCampaignResponseContext; mWebCallEvent.RequestType = KnetikRequestType.PUT; KnetikLogger.LogRequest(mUpdateCampaignStartTime, "UpdateCampaign", "Sending server request..."); KnetikGlobalEventSystem.Publish(mWebCallEvent); }