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
2025
 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.