Configuración de las preferencias de mensajería SMS - Amazon Simple Notification Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de las preferencias de mensajería SMS

Utilice Amazon SNS para especificar las preferencias de mensajería SMS. Por ejemplo, puede especificar si desea optimizar las entregas por costo o fiabilidad, el límite de gasto mensual, cómo se registran las entregas y si desea suscribirse a informes de uso de SMS diarios.

Estas preferencias se aplican en todos los mensajes SMS que envía desde su cuenta, pero puede anular algunas de ellas cuando envía un mensaje individual. Para obtener más información, consulte Publicación en un teléfono móvil.

Configuración de las preferencias de mensajería SMS mediante AWS Management Console

  1. Inicie sesión en la consola de Amazon SNS.

  2. Elija una región que admita la mensajería SMS.

  3. En el panel de navegación, elija Mobile (Móvil), Text messaging (SMS) (Mensajería de texto (SMS)).

  4. En la página Mensajería de texto a través del móvil (SMS), en la sección Preferencias de mensajería de texto, elija Editar.

  5. En la página Editar preferencias de mensajería de texto, en la sección Detalles, haga lo siguiente:

    1. En Default message type (Tipo predeterminado de mensaje), seleccione uno de los siguientes:

      • Promocional: mensajes no importantes (por ejemplo, marketing). Amazon SNS optimiza la entrega de mensajes para conseguir el costo más bajo.

      • Transaccional (predeterminado): mensajes de importancia que admiten transacciones del cliente, como claves de acceso de un solo uso para la autenticación multifactor. Amazon SNS optimiza el envío de mensajes para conseguir la máxima reputación.

      Para obtener información sobre los precios de los mensajes promocionales y transaccionales, consulte la página relacionada con los precios globales de SMS.

    2. (Opcional) En Account spend limit (Límite de gasto de la cuenta), escriba el importe (en USD) que desea gastar en mensajes SMS cada mes natural.

      importante
      • De forma predeterminada, la cuota de gasto se establece en 1,00 USD. Si desea aumentar la cuota de servicio, envíe una solicitud.

      • Si el importe establecido en la consola supera la cuota del servicio, Amazon SNS deja de publicar mensajes SMS.

      • Como Amazon SNS es un sistema distribuido, deja de enviar mensajes SMS en cuestión de minutos en cuanto se ha excedido la cuota de gasto. Durante este intervalo, si sigue enviando mensajes SMS, podría incurrir en costos que superen la cuota.

  6. (Opcional) En Default sender ID (ID de remitente predeterminado), escriba un ID personalizado, como la marca de su negocio, que se muestra como el remitente en el dispositivo receptor.

    nota

    La compatibilidad con los ID de remitente varía según el país.

  7. (Opcional) Ingrese el nombre del nombre del bucket de Amazon S3 para informes de uso.

    nota

    La política de bucket de S3 debe conceder acceso de escritura a Amazon SNS.

  8. Elija Guardar cambios.

Configuración de preferencias (AWS SDK)

Para configurar sus preferencias de SMS mediante uno de los AWS SDK, utilice la acción de ese SDK que corresponda a la SetSMSAttributes solicitud en la API de Amazon SNS. Con esta solicitud, debe asignar valores a los diferentes atributos de SMS, como la cuota de gasto mensual o el tipo de SMS predeterminado (transaccional o promocional). Para todos los atributos de SMS, consulte SetSMSAttributes en la Referencia de la API de Amazon Simple Notification Service.

Los siguientes ejemplos de código muestran cómo utilizar SetSMSAttributes.

C++
SDK para C++
nota

Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

Cómo utilizar Amazon SNS para establecer el atributo DefaultSMSType.

//! Set the default settings for sending SMS messages. /*! \param smsType: The type of SMS message that you will send by default. \param clientConfiguration: AWS client configuration. \return bool: Function succeeded. */ bool AwsDoc::SNS::setSMSType(const Aws::String &smsType, const Aws::Client::ClientConfiguration &clientConfiguration) { Aws::SNS::SNSClient snsClient(clientConfiguration); Aws::SNS::Model::SetSMSAttributesRequest request; request.AddAttributes("DefaultSMSType", smsType); const Aws::SNS::Model::SetSMSAttributesOutcome outcome = snsClient.SetSMSAttributes( request); if (outcome.IsSuccess()) { std::cout << "SMS Type set successfully " << std::endl; } else { std::cerr << "Error while setting SMS Type: '" << outcome.GetError().GetMessage() << "'" << std::endl; } return outcome.IsSuccess(); }
  • Para obtener información sobre la API, consulte SetSMSAttributes en la Referencia de la API de AWS SDK for C++ .

CLI
AWS CLI

Para establecer los atributos de los mensajes SMS

En el siguiente ejemplo de set-sms-attributes, se establece el ID de remitente predeterminado para los mensajes SMS a MyName.

aws sns set-sms-attributes \ --attributes DefaultSenderID=MyName

Este comando no genera ninguna salida.

  • Para ver los detalles de la API, consulte SetSMSAttributes en la Referencia del comando de la AWS CLI .

Java
SDK para Java 2.x
nota

Hay más información GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.SetSmsAttributesRequest; import software.amazon.awssdk.services.sns.model.SetSmsAttributesResponse; import software.amazon.awssdk.services.sns.model.SnsException; import java.util.HashMap; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class SetSMSAttributes { public static void main(String[] args) { HashMap<String, String> attributes = new HashMap<>(1); attributes.put("DefaultSMSType", "Transactional"); attributes.put("UsageReportS3Bucket", "janbucket"); SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .build(); setSNSAttributes(snsClient, attributes); snsClient.close(); } public static void setSNSAttributes(SnsClient snsClient, HashMap<String, String> attributes) { try { SetSmsAttributesRequest request = SetSmsAttributesRequest.builder() .attributes(attributes) .build(); SetSmsAttributesResponse result = snsClient.setSMSAttributes(request); System.out.println("Set default Attributes to " + attributes + ". Status was " + result.sdkHttpResponse().statusCode()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
  • Para obtener información sobre la API, consulte SetSMSAttributes en la Referencia de la API de AWS SDK for Java 2.x .

JavaScript
SDK para JavaScript (v3)
nota

Hay más información. GitHub Busque el ejemplo completo y aprenda a configurarlo y ejecutarlo en el Repositorio de ejemplos de código de AWS.

Cree el cliente en un módulo separado y expórtelo.

import { SNSClient } from "@aws-sdk/client-sns"; // The AWS Region can be provided here using the `region` property. If you leave it blank // the SDK will default to the region set in your AWS config. export const snsClient = new SNSClient({});

Importe el SDK y los módulos de cliente, y llame a la API.

import { SetSMSAttributesCommand } from "@aws-sdk/client-sns"; import { snsClient } from "../libs/snsClient.js"; /** * @param {"Transactional" | "Promotional"} defaultSmsType */ export const setSmsType = async (defaultSmsType = "Transactional") => { const response = await snsClient.send( new SetSMSAttributesCommand({ attributes: { // Promotional – (Default) Noncritical messages, such as marketing messages. // Transactional – Critical messages that support customer transactions, // such as one-time passcodes for multi-factor authentication. DefaultSMSType: defaultSmsType, }, }), ); console.log(response); // { // '$metadata': { // httpStatusCode: 200, // requestId: '1885b977-2d7e-535e-8214-e44be727e265', // extendedRequestId: undefined, // cfId: undefined, // attempts: 1, // totalRetryDelay: 0 // } // } return response; };
PHP
SDK para PHP
nota

Hay más información GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); try { $result = $SnSclient->SetSMSAttributes([ 'attributes' => [ 'DefaultSMSType' => 'Transactional', ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }