Project

zenvia-rb

0.0
No commit activity in last 3 years
No release in over 3 years
RubyGem to send SMS through Zenvia's api
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.10
~> 10.0

Runtime

= 0.13.7
 Project Readme

Zenvia

Esta biblioteca -não oficial- segue as diretivas da documentação API REST da Zenvia.

Instalação

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.

Uso

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!

License

The gem is available as open source under the terms of the MIT License.