Exemplos do Amazon Pinpoint usando AWS SDK for .NET - AWS Exemplos de código do SDK

Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples GitHub .

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos do Amazon Pinpoint usando AWS SDK for .NET

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS SDK for .NET com o Amazon Pinpoint.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço específicas, é possível ver as ações contextualizadas em seus devidos cenários e exemplos entre serviços.

Cenários são exemplos de código que mostram como realizar uma tarefa específica chamando várias funções dentro do mesmo serviço.

Cada exemplo inclui um link para GitHub, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

Tópicos

Ações

O código de exemplo a seguir mostra como usar SendMessages.

AWS SDK for .NET
nota

Tem mais sobre GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository.

Envie uma mensagem de e-mail.

using Amazon; using Amazon.Pinpoint; using Amazon.Pinpoint.Model; using Microsoft.Extensions.Configuration; namespace SendEmailMessage; public class SendEmailMainClass { public static async Task Main(string[] args) { var configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("settings.json") // Load test settings from .json file. .AddJsonFile("settings.local.json", true) // Optionally load local settings. .Build(); // The AWS Region that you want to use to send the email. For a list of // AWS Regions where the Amazon Pinpoint API is available, see // https://docs.aws.amazon.com/pinpoint/latest/apireference/ string region = "us-east-1"; // The "From" address. This address has to be verified in Amazon Pinpoint // in the region you're using to send email. string senderAddress = configuration["SenderAddress"]!; // The address on the "To" line. If your Amazon Pinpoint account is in // the sandbox, this address also has to be verified. string toAddress = configuration["ToAddress"]!; // The Amazon Pinpoint project/application ID to use when you send this message. // Make sure that the SMS channel is enabled for the project or application // that you choose. string appId = configuration["AppId"]!; try { await SendEmailMessage(region, appId, toAddress, senderAddress); } catch (Exception ex) { Console.WriteLine("The message wasn't sent. Error message: " + ex.Message); } } public static async Task<MessageResponse> SendEmailMessage( string region, string appId, string toAddress, string senderAddress) { var client = new AmazonPinpointClient(RegionEndpoint.GetBySystemName(region)); // The subject line of the email. string subject = "Amazon Pinpoint Email test"; // The body of the email for recipients whose email clients don't // support HTML content. string textBody = @"Amazon Pinpoint Email Test (.NET)" + "\n---------------------------------" + "\nThis email was sent using the Amazon Pinpoint API using the AWS SDK for .NET."; // The body of the email for recipients whose email clients support // HTML content. string htmlBody = @"<html>" + "\n<head></head>" + "\n<body>" + "\n <h1>Amazon Pinpoint Email Test (AWS SDK for .NET)</h1>" + "\n <p>This email was sent using the " + "\n <a href='https://aws.amazon.com/pinpoint/'>Amazon Pinpoint</a> API " + "\n using the <a href='https://aws.amazon.com/sdk-for-net/'>AWS SDK for .NET</a>" + "\n </p>" + "\n</body>" + "\n</html>"; // The character encoding the you want to use for the subject line and // message body of the email. string charset = "UTF-8"; var sendRequest = new SendMessagesRequest { ApplicationId = appId, MessageRequest = new MessageRequest { Addresses = new Dictionary<string, AddressConfiguration> { { toAddress, new AddressConfiguration { ChannelType = ChannelType.EMAIL } } }, MessageConfiguration = new DirectMessageConfiguration { EmailMessage = new EmailMessage { FromAddress = senderAddress, SimpleEmail = new SimpleEmail { HtmlPart = new SimpleEmailPart { Charset = charset, Data = htmlBody }, TextPart = new SimpleEmailPart { Charset = charset, Data = textBody }, Subject = new SimpleEmailPart { Charset = charset, Data = subject } } } } } }; Console.WriteLine("Sending message..."); SendMessagesResponse response = await client.SendMessagesAsync(sendRequest); Console.WriteLine("Message sent!"); return response.MessageResponse; } }

Envie uma mensagem SMS.

using Amazon; using Amazon.Pinpoint; using Amazon.Pinpoint.Model; using Microsoft.Extensions.Configuration; namespace SendSmsMessage; public class SendSmsMessageMainClass { public static async Task Main(string[] args) { var configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("settings.json") // Load test settings from .json file. .AddJsonFile("settings.local.json", true) // Optionally load local settings. .Build(); // The AWS Region that you want to use to send the message. For a list of // AWS Regions where the Amazon Pinpoint API is available, see // https://docs.aws.amazon.com/pinpoint/latest/apireference/ string region = "us-east-1"; // The phone number or short code to send the message from. The phone number // or short code that you specify has to be associated with your Amazon Pinpoint // account. For best results, specify long codes in E.164 format. string originationNumber = configuration["OriginationNumber"]!; // The recipient's phone number. For best results, you should specify the // phone number in E.164 format. string destinationNumber = configuration["DestinationNumber"]!; // The Pinpoint project/ application ID to use when you send this message. // Make sure that the SMS channel is enabled for the project or application // that you choose. string appId = configuration["AppId"]!; // The type of SMS message that you want to send. If you plan to send // time-sensitive content, specify TRANSACTIONAL. If you plan to send // marketing-related content, specify PROMOTIONAL. MessageType messageType = MessageType.TRANSACTIONAL; // The registered keyword associated with the originating short code. string? registeredKeyword = configuration["RegisteredKeyword"]; // The sender ID to use when sending the message. Support for sender ID // varies by country or region. For more information, see // https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html string? senderId = configuration["SenderId"]; try { var response = await SendSmsMessage(region, appId, destinationNumber, originationNumber, registeredKeyword, senderId, messageType); Console.WriteLine($"Message sent to {response.MessageResponse.Result.Count} recipient(s)."); foreach (var messageResultValue in response.MessageResponse.Result.Select(r => r.Value)) { Console.WriteLine($"{messageResultValue.MessageId} Status: {messageResultValue.DeliveryStatus}"); } } catch (Exception ex) { Console.WriteLine("The message wasn't sent. Error message: " + ex.Message); } } public static async Task<SendMessagesResponse> SendSmsMessage( string region, string appId, string destinationNumber, string originationNumber, string? keyword, string? senderId, MessageType messageType) { // The content of the SMS message. string message = "This message was sent through Amazon Pinpoint using" + " the AWS SDK for .NET. Reply STOP to opt out."; var client = new AmazonPinpointClient(RegionEndpoint.GetBySystemName(region)); SendMessagesRequest sendRequest = new SendMessagesRequest { ApplicationId = appId, MessageRequest = new MessageRequest { Addresses = new Dictionary<string, AddressConfiguration> { { destinationNumber, new AddressConfiguration { ChannelType = ChannelType.SMS } } }, MessageConfiguration = new DirectMessageConfiguration { SMSMessage = new SMSMessage { Body = message, MessageType = MessageType.TRANSACTIONAL, OriginationNumber = originationNumber, SenderId = senderId, Keyword = keyword } } } }; SendMessagesResponse response = await client.SendMessagesAsync(sendRequest); return response; } }
  • Para obter detalhes da API, consulte SendMessagesa Referência AWS SDK for .NET da API.