Você já enviou informações de contato de um telefone para outro? Nesse caso, você já conheceu o vCard, o formato padronizado de arquivos de contato virtuais. Esses arquivos .vcf são muito úteis para importar contatos.
Nesta publicação do blog, criaremos um vCard com a linguagem de programação Ruby e enviamos para nossos telefones com o Twilio Programmable SMS. Ao final deste tutorial, você terá um script Ruby que gera arquivos vCard e outro que envia vCards para seus contatos.
Vou gerar meu vCard e enviá-lo para meu número de telefone pessoal. Você pode me adicionar aos seus contatos usando seu número de telefone ou criar seu próprio vCard e enviá-lo para quem quiser.
Requisitos
Para seguirmos, você precisará de:
- Uma conta da Twilio
- Um número de telefone da Twilio (vamos passar por essa etapa juntos, se for preciso)
- A versão mais recente da linguagem Ruby instalada no computador (eu uso rvm e recomendo que você use um gerenciador, mas não é obrigatório)
Primeiros passos
Crie uma nova pasta chamada vcard-project
no computador e memorize o caminho dela, porque usaremos mais tarde.
Instalar dependências
Precisaremos das seguintes gems:
- bundler para evitar erros de permissão
- vCardigan para gerar o vCard
- twilio-ruby para o SMS
Primeiro, vamos instalar o bundler:
OSX/Linux
sudo gem install bundler
Windows
Abra um prompt de comando com direitos administrativos e execute
gem install bundler
Vamos criar um Gemfile
na pasta vcard-project
e preenchê-lo com
source 'https://rubygems.org'
gem 'vcardigan'
gem 'twilio-ruby'
E instalar as gems com
bundle install
[Consulte o código no GitHub]
Gerar o vCard
Na raiz da pasta do projeto, crie o arquivo vcard.rb
e abra-o com o editor de texto de sua preferência.
Código de criação do vCard
No vcard.rb
, adicione o código abaixo. Esse código me adicionará como contato, mas fique à vontade para alterá-lo com suas próprias informações. Há inúmeros campos que você pode adicionar a um vCard. Neste artigo, veremos apenas alguns, mas a lista completa pode ser encontrada aqui.
# vcard.rb
require "vcardigan"
vcard = VCardigan.create(:version => '4.0')
vcard.fullname 'Valeriane Venance'
vcard.tel '+33644608263', :type => 'work'
vcard.email 'vvenance@twilio.com', :type => 'work'
vcard[:item1].url 'https://www.twilio.com/blog/author/vvenance'
Esse código cria um vCard formatado na versão 4.0 (atual) com meu nome completo, número de telefone, e-mail e os tipos deles e um link extra para todas as publicações que fiz no blog da Twilio.
Gerar o arquivo .vcf
Para isso, usaremos a biblioteca padrão de arquivos da linguagem de programação Ruby. Precisamos criar um novo arquivo .vcf
no computador. Vamos fazer isso agora, usando o código que escrevemos antes:
# vcard.rb
file = File.open("vcard.vcf", "w")
file.puts vcard
file.close
Isso cria um novo arquivo chamado vcard.vcf
no diretório atual, grava o conteúdo do vCard nele e fecha o arquivo.
Para gerar o arquivo .vcf no computador, execute
$ bundle exec ruby vcard.rb
Se você listar os arquivos no diretório atual, verá um arquivo chamado vcard.vcf
ao lado do arquivo vcard.rb
.
Anote o caminho, nós precisaremos dele em seguida.
[Consulte o código no GitHub]
Apresentar o vCard
Acesse os assets no Console da Twilio. Clique no botão azul "+" e adicione o vCard do computador aos seus ativos hospedados da Twilio. Deixe o asset público para compartilhar seus contatos com o mundo!
Quando o upload for concluído, você verá um URL para esse novo ativo. Salve-o para mais tarde.
Comprar um número de telefone da Twilio
Na página "Buy a Number" (Comprar um número) do console da Twilio, procure um número com recursos de SMS.
Selecione o número de telefone de sua escolha e compre-o. Você então poderá dar um nome amigável para ele. Eu escolhi "remetente do Vcard".
Anote esse número em algum lugar. No console, acesse o dashboard principal e adicione seu Account SID (SID da conta) e o Auth Token (token de autenticação) ao env. Use os nomes ACCOUNT_SID
e AUTH_TOKEN
para você e eu usarmos os mesmos.
Adicionar o código para enviar o vCard
Vamos criar um arquivo chamado vcard_sender.rb
e preenchê-lo com:
# vcard_sender.rb
require "twilio-ruby"
account_sid = ENV["ACCOUNT_SID"]
auth_token = ENV["AUTH_TOKEN"]
@client = Twilio::REST::Client.new(account_sid, auth_token)
message = @client.messages.create(
body: 'Ahoy, Val here ! Please find my contacts below !',
from: '<your twilio phone number>',
media_url: '<your twilio asset url>',
to: ARGV[0].to_s)
- body: pode ser alterado para qualquer texto que você quiser
- from: deve ser o número de telefone da Twilio no seguinte formato: +15555555555
- media_url: o link para o vCard hospedado nos ativos da Twilio
- to: é o número de telefone para o qual você vai enviar o vCard, no formato +15555555555. Nós o obteremos na CLI da Ruby. Você verá como fazer isso na próxima seção.
[Consulte o código no GitHub]
Testar
Está tudo pronto: o código enviará um SMS para um número de telefone que especificaremos. Pode ser o seu, assim você terá meu contato! Grave o número no formato +15555555555
.
Agora, falta apenas executar o código. Faça isso da seguinte maneira:
$ bundle exec ruby vcard_sender.rb <your phone number>
O destinatário receberá um SMS contendo a mensagem de texto e o link para o vCard. Ao clicar no link, o download do arquivo será feito em seu telefone. Abrir o link adicionará o novo contato à sua lista de contatos!
Se você manteve os valores que eu escrevi e adicionou seu número de telefone ao executar o comando final, então você receberá meu contato de negócios! Nesse caso, fique à vontade para enviar um SMS ou e-mail!
Até agora você aprendeu a:
- Gerar vCards/arquivos .vcf usando Ruby
- Hospedar ativos na Twilio
- Enviar um SMS contendo um arquivo usando Ruby e a Twilio
- Usar argumentos da CLI Ruby em seu código por meio do bundler!
Se você achou este tutorial legal, pode dar uma olhada em alguns outros tutoriais sobre Ruby que eu escrevi (ou clicar no link do meu contato para ver a lista completa!):
- Cinco maneiras de fazer solicitações HTTP em Ruby
- Criar correio de voz com a Twilio e Ruby
- Codificar um aplicativo de pesquisa Rails para meus avós
Mal posso esperar para ver o que você vai criar!
Este artigo foi traduzido do original "Send vCard with Ruby and Twilio". Enquanto melhoramos nossos processos de tradução, adoraríamos receber seus comentários em help@twilio.com - contribuições valiosas podem render brindes da Twilio.