enviar sms em ruby

TUTORIAL

Como enviar SMS em Ruby

Gostaria de enviar SMS via Ruby em apenas 3 minutos? Então utilize a biblioteca desenvolvida por nossa equipe de desenvolvimento para tornar seu trabalho muito mais fácil.

Vamos disponibilizar também exemplos de como agendar envios de SMS, autenticação dois fatores, consultar relatórios e muito mais, tudo através de seu sistema.

Antes de começar, você precisa de uma conta conosco para testar nossas soluções. Você pode testar gratuitamente solicitando uma conta teste conosco clicando no botão abaixo.

Instalando a SDK

comtele_sdk está disponível no RubyGems o código é open source e pode ser encontrado em nosso GitHub.

versão mínima necessária do Ruby para instalar a SDK é a 2.0, caso esteja utilizando uma versão inferior recomendamos que utilize o RVM, além disso, você pode dar uma olhadinha no nosso GitHub como fazer as chamadas via API Rest ou até então modificar os dependências que precisam da versão 2.0 e fazer a sua própria versão.

$ gem install comtele_sdk

Retorno de Sucesso da Instalação

Done installing documentation for http-accept, unf_ext, unf, domain_name, http-cookie, mime-types-data, mime-types, netrc, rest-client, comtele_sdk after 8 seconds
10 gems installed

Problemas de compatibilidade ou é um dev desbravador e hands on?

Enviar SMS em Ruby

Veja abaixo um código Ruby para enviar sms a celulares de forma instantânea utilizando uma de nossas SDK.

É simples, rápido e fácil.

require 'comtele_sdk'
include ComteleSdk

API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

@textmessage_service = TextMessageService.new(API_KEY)
result = @textmessage_service.send(
  "my_id",          # Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio.
  "Hello Ruby",     # Content: Conteudo da mensagem a ser enviada.
  ["11999998888"])  # Receivers: Numero de telefone que vai ser enviado o SMS.

puts result
CampoObrigatórioDescrição
SendernãoEste campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensamdo que você faça “de para” dos ids da Comtele com o sistema que está integrando.
ContentsimConteúdo da mensagem que vai ser recebida pelo número que o SMS será enviado. Nos casos que o conteúdo do SMS superar 160 caracteres, será tarifado mais de um crédito a cada 153 caracteres. Algumas operadoras como a Oi e Sercomtel não suportam concatenação da mensagens, então serão recebidos SMS separadamente.
ReceiverssimDestinatários que irão receber o SMS. Para dois ou mais destinatários, separe por uma vírgula os telefones, formato: DDD + Número.

Enviar SMS com regra de resposta automática

Com este recurso, é possível enviar SMS de forma instantânea e quando o SMS for respondido, é possível enviar uma resposta de forma automática, baseado em um contexto previamente configurado.

Para utilizar este recurso, é necessário que você acesse a opção Resposta Automática no menu Configurações no painel de SMS, cadastre uma regra de resposta automática e informe o nome que foi cadastrado no campo ContextRuleName no momento que for usar o endpoint.

require 'comtele_sdk'
include ComteleSdk

API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

@contextmessage_service = ContextMessageService.new(API_KEY)
result = @contextmessage_service.send(
  "my_id",            # Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio.
  "ContextRuleName",  # ContextRuleName: Nome da regra de resposta automatica a ser usada no envio.
  ["11999998888"])    # Receivers: Numero de telefone que vai ser enviado o SMS.

puts result
CampoObrigatórioDescrição
SendernãoEste campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensando que você faça “de para” dos ids da Comtele com o sistema que está integrando.
ContextRuleNamesimNeste campo deve ser informado o nome da regra que o contexto de resposta foi programado e cadastrado no sistema que no caso será usado neste envio.
ReceiverssimDestinatários que irão receber o SMS. Para dois ou mais destinatários, separe por uma vírgula os telefones, formato: DDD + Número.

Enviar SMS / Grupos de Contatos

Precisa enviar SMS para uma grande base de contatos? Também temos a solução.

Com este recurso, é possível enviar SMS de forma instantânea para um grupo de contatos.

Para usar este recuso, é necessário ter grupos de contatos já cadastrados em nossa aplicação, caso ainda não tenha feito isso, dê uma olhadinha no recurso Cadastrar Grupos e Adicionar Contatos / Grupos

require 'comtele_sdk'
include ComteleSdk

API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

@contactmessage_service = ContactMessageService.new(API_KEY)
result = @contactmessage_service.send(
  "my_id",            # Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio.
  "Hello Ruby",       # Content: Conteudo da mensagem a ser enviada.
  "GroupName")        # GroupName: Nome do grupo de contatos que receberao o SMS

puts result
CamposObrigatórioDescrição
SendernãoEste campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensando que você faça “de para” dos ids da Comtele com o sistema que está integrando.
ContentsimConteúdo da mensagem que vai ser recebida pelo número que o SMS será enviado. Nos casos que o conteúdo do SMS superar 160 caracteres, será tarifado mais de um crédito a cada 153 caracteres. Algumas operadoras como a Oi e Sercomtel não suportam concatenação da mensagens, então serão recebidos SMS separadamente.
GroupNamesimNome do grupo de contatos, com todos os telefones que receberão o SMS.

Agendar SMS

Precisa agendar aquele SMS de aniversário? Ou até de algum evento que está próximo? Também temos a solução.

Com este recurso, é possível programar a data e horário de envio de SMS para serem enviados.

require 'comtele_sdk'
include ComteleSdk

API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

@textmessage_service = TextMessageService.new(API_KEY)
result = @textmessage_service.schedule(
  "my_id",            # Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio.
  "Hello Ruby",       # Content: Conteudo da mensagem a ser enviada.
  "yyyy-MM-dd HH:mm", # ScheduleDate: Data que o SMS deve ser disparado.
  ["11999998888"])    # Receivers: Numero de telefone que vai ser enviado o SMS.

puts result
CamposObrigatórioDescrição
SendernãoEste campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensando que você faça “de para” dos ids da Comtele com o sistema que está integrando.
ContentsimConteúdo da mensagem que vai ser recebida pelo número que o SMS será enviado. Nos casos que o conteúdo do SMS superar 160 caracteres, será tarifado mais de um crédito a cada 153 caracteres. Algumas operadoras como a Oi e Sercomtel não suportam concatenação da mensagens, então serão recebidos SMS separadamente.
ScheduleDatesimData de agendamento que o SMS deve ser disparado, formato: yyyy-MM-dd HH:mm.
ReceiverssimDestinatários que irão receber o SMS. Para dois ou mais destinatários, separe por uma vírgula os telefones, formato: DDD + Número.

Agendar SMS / Regra de Resposta Automática

Com este recurso, é possível programar a data e horário de envio de SMS para serem enviados, e quando o SMS for respondido, é possível enviar uma resposta de forma automática, baseado em um contexto previamente configurado.

Para utilizar este recurso, é necessário que você acesse a opção Resposta Automática no menu Configurações no painel de SMS, cadastre uma regra de resposta automática e informe o nome que foi cadastrado no campo ContextRuleName no momento que for usar o endpoint.

require 'comtele_sdk'
include ComteleSdk

API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

@contextmessage_service = ContextMessageService.new(API_KEY)
result = @contextmessage_service.schedule(
  "my_id",            # Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio.
  "ContextRuleName",  # ContextRuleName: Nome da regra de resposta automatica a ser usada no envio.
  "yyyy-MM-dd HH:mm", # ScheduleDate: Data que o SMS deve ser disparado.
  ["11999998888"])    # Receivers: Numero de telefone que vai ser enviado o SMS.

puts result
CamposObrigatórioDescrição
SendernãoEste campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensando que você faça “de para” dos ids da Comtele com o sistema que está integrando.
ContextRuleNamesimNeste campo deve ser informado o nome da regra que o contexto de resposta foi programado e cadastrado no sistema que no caso será usado neste envio.
ScheduleDatesimData de agendamento que o SMS deve ser disparado, formato: yyyy-MM-dd HH:mm.
ReceiverssimDestinatários que irão receber o SMS. Para dois ou mais destinatários, separe por uma vírgula os telefones, formato: DDD + Número.

Agendar SMS / Grupos de Contatos

Precisa agendar SMS para uma grande quantidade de contatos? Também temos a soluçã.

Com este recurso, é possível programar a data e horário de envio de SMS para um grupo de contatos.

Para usar este recuso, é necessário ter grupos de contatos já cadastrados em nossa aplicação, caso ainda não tenha feito isso, dê uma olhadinha no recurso Cadastrar Grupos e Adicionar Contatos / Grupos

require 'comtele_sdk'
include ComteleSdk

API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

@contactmessage_service = ContactMessageService.new(API_KEY)
result = @contactmessage_service.schedule(
  "my_id",            # Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio.
  "Hello Ruby",     # Conteudo da mensagem a ser enviada.
  "GroupName",        # GroupName: Nome do grupo de contatos que receberao o SMS.
  "yyyy-MM-dd HH:mm") # ScheduleDate: Data que o SMS deve ser disparado.

puts result
CamposObrigatórioDescrição
SendernãoEste campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensando que você faça “de para” dos ids da Comtele com o sistema que está integrando.
ContentsimConteúdo da mensagem que vai ser recebida pelo número que o SMS será enviado. Nos casos que o conteúdo do SMS superar 160 caracteres, será tarifado mais de um crédito a cada 153 caracteres. Algumas operadoras como a Oi e Sercomtel não suportam concatenação da mensagens, então serão recebidos SMS separadamente.
GroupNamesimNome do grupo de contatos, com todos os telefones que receberão o SMS.
ScheduleDatesimData de agendamento que o SMS deve ser disparado, formato: yyyy-MM-dd HH:mm.

Enviar SMS Autenticação Dois Fatores

Precisa de mais segurança em seu sistema de autenticação? Nós cuidamos disso para você.

Com este recurso, é possível enviar via SMS de forma instantânea um código de autenticação para o destinatário, que pode ser validado posteriormente no endpoint a seguir: Validar Código / Dois Fatores.

require 'comtele_sdk'
include ComteleSdk

API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

@token_service = TokenService.new(API_KEY)
result = @token_service.send_token(
  "11999998888",  # PhoneNumber: Numero de telefone que vai ser enviado o token via SMS.
  "Company")      # Prefix: Identificação da empresa que aparecerá no corpo da mensagem.

print(result)
CamposObrigatórioDescrição
PhoneNumbersimNúmero de telefone do destinatário que você quer enviar um código para autenticação de dois fatores.
PrefixnãoNeste campo, você pode informar ao destinatário a origem do token recebido, por exemplo: Comtele: Codigo de Autorizacao xxxxxx.

Validar Código de Autenticação Dois Fatores

Com este recurso, é possível validar o token recebido e informado pelo usuário que recebeu o SMS, enviado pelo endpoint anterior anterior: Enviar SMS / Dois Fatores.

require 'comtele_sdk'
include ComteleSdk

API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

@token_service = TokenService.new(API_KEY)
result = @token_service.validate_token(
  "TokenCode")  # TokenCode: Token que o cliente informou e deve ser validado pela Comtele.

puts result
CamposObrigatórioDescrição
TokenCodesimToken recebido pelo usuário, que deve ser validado.

Retornos das requisições

Exemplo de Retorno de Sucesso

{
  "Success": true, 
  "Object": null, 
  "Message": "A requisicao de envio foi encaminhada para processamento com sucesso. Voce podera acompanhar o status pelos relatorios."
}

Campos do Retorno

CampoDescrição
SuccessPode ser retornado true para sucesso ou false para erro, este campo é o resultado da operação.
ObjectNeste recurso será nulo, pois não existe objeto a ser retornado.
ContentConteúdo da mensagem que foi recebida pelo número retornado.
MessageNeste campo é retornado mais detalhes sobre o resultado da operação do recurso que foi utilizado.

Retornos Previsíveis

CampoDescrição
trueA requisicao de envio foi encaminhada para processamento com sucesso. Voce podera acompanhar o status pelos relatorios.
falseObject reference not set to an instance of an object.
Possível Causa: Nenhum objeto foi informado no Body da requisição.
falseÉ necessário informar ao menos um destinatário que irá receber o SMS.
falseO parâmetro “Content” deve ser informado com conteúdo.
falseNão foi possível continuar, pois a quantidade de créditos é insuficiente. Para efetuar o envio é necessário ao menos 1 créditos.
falseA chave de acesso informada é inválida e não pode efetuar uma requisição à API.
Possível Causa: auth-key está incorreta ou o campo foi informado em branco.
falseO usuário informado está desativado.
falseO usuário informado está incorreto ou não existe
Possível Causa: o campo auth-key não está sendo informado na requisição.
Caso seja retornado um erro não tratado da linguagem, cheque a sua chave de API.

Outros endpoints

Consulte relatórios, cadastre grupos e contatos através de nossos outros endpoints.

Criar conta teste

Agora que você já sabe como enviar SMS de uma maneira rápida e fácil para é só criar uma conta teste agora mesmo.

O processo é automático e rápido, acesse nossa página de contratação e comece a codar agora mesmo.

como enviar sms com ruby

Saiba como enviar sms através do seu sistema node utilizando nossa biblioteca pronta com apenas 3 linhas de código.

Abaixo listamos o código de nossa biblioteca com os principais endpoints

# instalação da biblioteca
# gem install comtele_sdk

require ‘comtele_sdk’;
include comtelesdk

api_key = ‘xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx’;
textmessage_service = textmessageservice.new(api_key);
result = textmessage_service.send(‘sender’, ‘content’, [‘receivers’]);

# Instalação da biblioteca
# gem install comtele_sdk

require ‘comtele_sdk’;
include ComteleSdk

API_KEY = ‘XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX’;
textmessage_service = TextMessageService.new(API_KEY)
result = @textmessage_service.schedule(‘Sender’, ‘Content’, ‘ScheduleDate’, [‘Receivers’])
# Instalação da biblioteca
# gem install comtele_sdk

require ‘comtele_sdk’;
include ComteleSdk

API_KEY = ‘XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX’;
textmessage_service = TextMessageService.new(API_KEY)
result = textmessage_service.get_detailed_report(‘StartDate’, ‘EndDate’, DeliveryStatus::All)
# Instalação da biblioteca
# gem install comtele_sdk

require ‘comtele_sdk’;
include ComteleSdk

API_KEY = ‘XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX’;
token_service = TokenService.new(API_KEY)
result = token_service.send_token(‘PhoneNumber’, ‘Prefix’)
# Instalação da biblioteca
# gem install comtele_sdk

require ‘comtele_sdk’;
include ComteleSdk

API_KEY = ‘XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX’;
token_service = TokenService.new(API_KEY)
result = token_service.validate_token(‘TokenCode’)

bibliotecas

integre facilmente utilizando uma de nossas bibliotecas disponíveis

api rest

teste nossa api diretamente da nossa documentação utilizando o api browser

open source

bibliotecas open sources em nosso github para facilitar sua integração

comtele cli

envios diretamente de seu terminal, uma alternativa para linguagens limitadas

Preços sms short code

aqui seus créditos não expiram, sem contrato de fidelidade e nem letras miúdas
formas de pagamento

Básico

R$ 100,00
R$ 0
10 SMS
  • 1.000 SMS

Bronze

R$ 200,00
R$ 0
08 SMS
  • 2.500 SMS

Prata

R$ 300,00
R$ 0
06 SMS
  • 5.000 SMS
MAIS VENDIDO

Ouro

R$ 1.650,00
R$ 0
055 SMS
  • 30.000 SMS

Diamante

R$ 5.000,00
R$ 0
05 SMS
  • 100.000 SMS
  • o prazo máximo para pagamento é de 10 dias após vencimento, após 10 dias o plano é cancelado automaticamente;
  • recargas avulsas não substituem o pagamento mensal;
  • caso o plano mensal seja cancelado sua conta fica impossibilitada de enviar sms, sendo necessário uma recarga de qualquer pacote do plano único e o plano mensal não pode ser contratado durante 6 meses;
  • os créditos sms são acumulativos, ou seja, podem ser utilizados no outro mês.

Básico

R$ 120,00
R$ 0
12 SMS
  • 1.000 SMS

Bronze

R$ 250,00
R$ 0
10 SMS
  • 2.500 SMS

Prata

R$ 400,00
R$ 0
08 SMS
  • 5.000 SMS
MAIS VENDIDO

Ouro

R$ 1.950,00
R$ 0
065 SMS
  • 30.000 SMS

Diamante

R$ 6.000,00
R$ 0
06 SMS
  • 100.000 SMS

FAQ node

versão mínima necessária do Ruby para instalar a SDK é a 2.0, caso esteja utilizando uma versão inferior recomendamos que utilize o RVM, além disso, você pode dar uma olhadinha no nosso GitHub como fazer as chamadas via API Rest ou até então modificar os dependências que precisam da versão 2.0 e fazer a sua própria versão.

Criar uma conta teste

comece agora mesmo!

1. preencha seus dados ao lado

2. valide o token enviado ao seu telefone

3. receba em seu email os dados de acesso

4. acesse sua conta com todas as funcionalidades e recursos liberados e dez créditos para testar a Comtele como quiser!

* Estou de acordo em fornecer meu nome, e-mail, celular e empresa que trabalho para ter acesso a uma conta teste, além de receber e-mails e SMS da Comtele. Estou ciente de que meus dados fornecidos serão utilizados internamente pela Comtele e concordo com o recebimento de emails e SMS da Comtele.