Esta biblioteca -não oficial- segue as diretivas da documentação API REST da Zenvia.
Adicione esta linha ao seu Gemfile
gem 'zenvia-rb', '~> 0.1.0'
E depois execute:
$ bundle
Ou instale através do "gem install":
$ gem install zenvia-rb
A única dependência desta Gem é o HTTParty.
Para usar esta biblioteca, você vai precisar informar alguns dados, que são obtidos através da própria Zenvia.
require 'zenvia'
Zenvia.configure {|config|
config.account = 'SUA-CONTA'
config.code = 'SEU-CODIGO'
config.from = 'NOME-DA-EMPRESA-OU-PESSOA' # opcional
}
Se você pretende usar esta Gem com Rails, insira o snippet acima em config/initializers.
Feito isso, para enviar uma mensagem, será preciso apenas chamar a função "send_message":
options = {from: config.from, id: 'SEU-ID', schedule: '2017-07-18T02:01:23'}
Zenvia.send_message(number, message, options)
# no hash 'options', você ainda pode inserir o aggregateId. Todos esses valores são opcionais
# Exemplo de resposta:
{"sendSmsResponse"=>{"statusCode"=>"00", "statusDescription"=>"Ok", "detailCode"=>"000", "detailDescription"=>"Message Sent"}}
Se preferir, você pode definir um array de números e enviar a mesma mensagem a eles:
numbers = ['DDNNNNNNNNN', 'DDNNNNNNNNM']
Zenvia.send_message(numbers, message)
# Exemplo de resposta
[
{"sendSmsResponse"=>{"statusCode"=>"00", "statusDescription"=>"Ok", "detailCode"=>"000", "detailDescription"=>"Message Sent"}},
{"sendSmsResponse"=>{"statusCode"=>"00", "statusDescription"=>"Ok", "detailCode"=>"000", "detailDescription"=>"Message Sent"}}
]
Ou usar a função nativa do Zenvia, de enviar múltiplos SMSs:
list = [
{
from: "remetente",
to: "555192551015",
msg: "uma mensagem",
callbackOption: "NONE"
},
{
from: "remetente",
to: "555199668010",
schedule: "2014-07-18T02:01:23",
msg: "outra mensagem",
callbackOption: "NONE",
id: "004"
}
]
Zenvia.send_multiple_messages list
Caso tenha definido o ID no envio de uma mensagem, poderá buscar seu status chamando a função "lookup":
id = 'SEU-ID'
Zenvia.lookup(id)
# Exemplo de resposta
{"sendSmsResponse": {"statusCode": "00", "statusDescription": "Ok", "detailCode": "000", "detailDescription": "Message Sent" }}
Isso é tudo, pessoal!
The gem is available as open source under the terms of the MIT License.