Esempio n. 1
0
        private async Task DeleteTemplate(long templateId)
        {
            // arrange
            MailjetRequest request = new MailjetRequest
            {
                Resource   = Template.Resource,
                ResourceId = ResourceId.Numeric(templateId)
            };

            // act
            MailjetResponse response = await _client.DeleteAsync(request);

            // assert
            Assert.AreEqual(204, response.StatusCode);
        }
Esempio n. 2
0
        /// <summary>
        /// Removes a contact from any contact list.
        /// </summary>
        /// <param name="emailSender"></param>
        /// <param name="apiKey"></param>
        /// <param name="apiSecret"></param>
        /// <param name="contactId"></param>
        /// <returns></returns>
        public static async Task RemoveListRecipientAsync(this IEmailSender emailSender, string apiKey, string apiSecret, long contactId)
        {
            MailjetClient client = new MailjetClient(apiKey, apiSecret)
            {
                Version = ApiVersion.V3,
            };

            MailjetRequest request = new MailjetRequest
            {
                Resource   = Listrecipient.Resource,
                ResourceId = ResourceId.Numeric(contactId)
            };

            await client.DeleteAsync(request);
        }
Esempio n. 3
0
        // Mailjet doesn't allow deleting a contact with their API (except in V4), you still need to delete it manually, but at least it won't recieve any mail from this list
        //TODO: add a method using HTTP client to delete the contact (V4 API is only accepting http requests). So you need to create the HTTP client too
        public async Task DeleteContactFromContactList(string contactEmail, string contactListId)
        {
            var id      = Convert.ToInt64(GetContactId(contactEmail));
            var request = new MailjetRequest
            {
                Resource   = Contactdata.Resource,
                ResourceId = ResourceId.Numeric(id)
            };
            var response = await _clientV3.DeleteAsync(request);

            if (!response.IsSuccessStatusCode)
            {
                throw new MailjetApiClientException(response.FormatForLogs());
            }
        }
        private async Task AssertDeleteContact(long contactId)
        {
            // arrange
            MailjetRequest request = new MailjetRequest
            {
                Resource   = Contacts.Resource, // pay attention - GDPR DELETE contact resource is named in plural
                ResourceId = ResourceId.Numeric(contactId)
            };

            // act
            MailjetResponse response = await _client.DeleteAsync(request);

            // assert
            Assert.AreEqual(200, response.StatusCode);
        }