public void GetEmailSendStatusForRecipientTest() { var emailDefinition = CreateEmailDefinitionObject(); var createEmailDefinitionResult = transactionalMessagingApiClient.CreateEmailDefinition(emailDefinition); var emailToSendToRecipientKey = createEmailDefinitionResult.DefinitionKey; var recipient = new Recipient("*****@*****.**"); var messageKey = Guid.NewGuid().ToString(); var messageRequestBody = new SendEmailToSingleRecipientRequest(emailToSendToRecipientKey, recipient); transactionalMessagingApiClient.SendEmailToSingleRecipient(messageKey, messageRequestBody); var getEmailSendStatusForRecipientResult = transactionalMessagingApiClient.GetEmailSendStatusForRecipient(messageKey); try { Assert.NotNull(getEmailSendStatusForRecipientResult.RequestId); Assert.NotNull(getEmailSendStatusForRecipientResult.Timestamp); var eventCategoryTypes = new Collection <string>() { "TransactionalSendEvents.EmailSent", "TransactionalSendEvents.EmailQueued", "TransactionalSendEvents.EmailNotSent" }; CollectionAssert.Contains(eventCategoryTypes, getEmailSendStatusForRecipientResult.EventCategoryType); } finally { transactionalMessagingApiClient.DeleteEmailDefinition(emailToSendToRecipientKey); } }
static void SendEmailToSingleRecipient() { // Replace '<CONTACT KEY>' with a real subscriber key const string contactKey = "<CONTACT KEY>"; /* Replace the constructor parameters with your Marketing Cloud account credentials * (<APPLICATION DATA-ACCESS PERMISSIONS> is not a mandatory parameter) */ var client = new Api.Client( "<AUTH BASE URL>", "<CLIENT ID>", "<CLIENT SECRET>", "<ACCOUNT ID>", "<APPLICATION DATA-ACCESS PERMISSIONS>"); // Get the asset, transactional messaging API instances: var assetApi = client.AssetApi; var transactionalMessagingApi = client.TransactionalMessagingApi; // Create email send definition: var emailDefinitionObject = SampleHelper.CreateEmailDefinitionObject(assetApi); var createEmailDefinitionResult = transactionalMessagingApi.CreateEmailDefinition(emailDefinitionObject); // Get email send definition: var getEmailDefinitionsResult = transactionalMessagingApi.GetEmailDefinition(createEmailDefinitionResult.DefinitionKey); // Update email send definition: var updatedDefinitionDescription = new UpdateEmailDefinitionRequest(description: "Updated email definition description"); var partiallyUpdateEmailDefinitionResult = transactionalMessagingApi.PartiallyUpdateEmailDefinition(getEmailDefinitionsResult.DefinitionKey, updatedDefinitionDescription); // Get email send definition: getEmailDefinitionsResult = transactionalMessagingApi.GetEmailDefinition(partiallyUpdateEmailDefinitionResult.DefinitionKey); // Send email to single recipient: var recipientMessageKey = $"{Guid.NewGuid()}"; var recipient = new Recipient(contactKey); var messageRequestBody = new SendEmailToSingleRecipientRequest(getEmailDefinitionsResult.DefinitionKey, recipient); transactionalMessagingApi.SendEmailToSingleRecipient(recipientMessageKey, messageRequestBody); // Get the send status of the email send: var recipientSendStatus = transactionalMessagingApi.GetEmailSendStatusForRecipient(recipientMessageKey); }
public void SendEmailToSingleRecipientTest() { var emailDefinition = CreateEmailDefinitionObject(); var createEmailDefinitionResult = transactionalMessagingApiClient.CreateEmailDefinition(emailDefinition); var emailToSendToRecipientKey = createEmailDefinitionResult.DefinitionKey; var recipient = new Recipient("*****@*****.**"); var messageKey = Guid.NewGuid().ToString(); var messageRequestBody = new SendEmailToSingleRecipientRequest(emailToSendToRecipientKey, recipient); var sendEmailToSingleRecipientResult = transactionalMessagingApiClient.SendEmailToSingleRecipient(messageKey, messageRequestBody); try { Assert.NotNull(sendEmailToSingleRecipientResult.RequestId); Assert.NotNull(sendEmailToSingleRecipientResult.Errorcode); Assert.NotNull(sendEmailToSingleRecipientResult.Responses); } finally { transactionalMessagingApiClient.DeleteEmailDefinition(emailToSendToRecipientKey); } }