Estoy intentando establecer DefaultSenderID para un mensaje SMS en Ruby (Rails) con AWS Ruby SDK (2). Parece que no puedo averiguar exactamente cómo necesito configurar el hash de los atributos de sms. Cualquier ayuda será muy apreciada. Este código funciona para enviar un mensaje simple (omití las claves secretas, etc., por supuesto)

require 'aws-sdk'

sns = Aws::SNS::Client.new(region: 'us-east-1')
sns.publish(phone_number: 'MY_NUMBER', message: 'This is a test SMS message')
0
cdasher 15 dic. 2016 a las 10:52

2 respuestas

La mejor respuesta

Parece que está cerca, pero el mensaje no se está transmitiendo correctamente. En la documentación puede encontrar este ejemplo.

resp = client.publish({
  topic_arn: "topicARN",
  target_arn: "String",
  phone_number: "String",
  message: "message", # required
  subject: "subject",
  message_structure: "messageStructure",
  message_attributes: {
    "String" => {
      data_type: "String", # required
      string_value: "String",
      binary_value: "data",
    },
  },
})

Creo que si hiciste un pequeño ajuste, debería funcionar para ti.

require 'aws-sdk'

sns = Aws::SNS::Client.new(region: 'us-east-1')
sns.publish(phone_number: 'MY_NUMBER',
            message: 'This is a test SMS message',
            message_attributes: { data_type: "String" } )

¡Espero que esto ayude!

0
Tall Paul 15 dic. 2016 a las 18:37

Me he enfrentado exactamente al mismo problema. Espero que este código te ayude:

sns = Aws::SNS::Client.new(region:  'eu-west-1')
sns.set_sms_attributes(attributes: { 'DefaultSenderID' => 'Custom' })
sns.publish( phone_number: phone_number, message: message)

Tenga en cuenta que su país debe estar en la lista de países admitidos . También de acuerdo con reglas de nomenclatura:

En Id. Del remitente, escriba un Id. Personalizado que contenga hasta 11 caracteres alfanuméricos, incluida al menos una letra y sin espacios.

0
Denis 18 sep. 2018 a las 20:46