Enviar mensagens SMS e MMS em C++
Hoje, usaremos C++, algumas bibliotecas padrão, libcurl e algumas APIs POSIX para enviar mensagens SMS e MMS usando a API REST da Twilio. Você precisará de um ambiente de compilação compatível (principalmente) com POSIX, bem como uma libcurl para acompanhar este guia.
Vamos começar!
Inscreva‐se (ou faça login) na conta da Twilio
Você precisará fazer login em sua conta existente da Twilio ou criar uma nova conta.
Ainda não tem uma conta? Inscreva‐se para um teste gratuito da Twilio, rapidamente.
Comprar ou encontrar um número compatível com SMS
Você precisará de um número compatível com SMS (ou, opcionalmente, MMS) para concluir esta demonstração. Use um número de telefone que você já possui ou compre um novo com SMS ativado.
No console da Twilio, aqui você pode determinar os recursos do número adquirido:
Se precisar comprar um número, depois de navegar até o link "Buy a Number" (Comprar um número), clique na caixa de seleção SMS (e na caixa de seleção MMS, se desejar enviar mensagens de mídia).
Pré‐requisitos para este guia de MMS e SMS em C++
Estamos nos concentrando em ambientes compatíveis com POSIX com este guia e testamos nosso código com clang-800.0.42.1 no Mac OSX 10.11, gcc versão 4.9.2 no Raspbian 8.0 (kernel 4.4.38-v7 ou superior) e gcc 5.4.0 no Cygwin 2.877 no Windows 7 64 bits.
Para criar, você precisará garantir que tenha:
- stdio.h, stdlib.h, unistd.h - Bibliotecas C POSIX
- libcurl - Biblioteca de transferência do lado do cliente
- iostream, sstream, string - Bibliotecas padrão C++
libcurl já estava no Mac. No Raspberry Pi, você pode instalar uma versão adequada com:
sudo apt-get install libcurl4-openssl-dev
No Windows 7 e Cygwin, você pode instalar o libcurl com o Cygwin Setup:
Criar cpp_demo
Todos os três ambientes funcionaram com este exemplo de Makefile. Talvez seja necessário fazer pequenas edições, geralmente nos caminhos de pesquisa da biblioteca, para criar em seu ambiente.
Em quase todos os sistemas do tipo *NIX (incluindo Windows/Cygwin), a criação deve ser muito semelhante às seguintes linhas (você pode até mesmo copiar, colar e executar):
git clone https://github.com/TwilioDevEd/twilio_cpp_demo.git
cd twilio_cpp_demo
make
Enviar uma mensagem SMS ou MMS com C#
Acabamos de criar cpp_demo, que tenta enviar um SMS ou MMS com base nas suas entradas a partir da linha de comando. src/twilio.cc
e include/twilio.hh
demonstram uma classe, Twilio, que deve ser fácil de integrar em sua própria base de código. (Observe que antes de colocá‐lo em produção, você precisa adicionar validação de entrada e segurança. A primeira preocupação: o código em sua forma atual pode passar parâmetros HTTP adicionais pelas entradas da linha de comando.)
Para desenvolvedores C++, nosso guia de SMS e MMS em C pode fornecer algumas percepções importantes sobre o código a seguir, mas vamos analisar mais detalhadamente o que está acontecendo nos bastidores.
- Primeiro, instanciamos um objeto
Twilio
com nossas credenciais de conta (encontre‐as no console da Twilio). - Segundo, chamamos o método
send_message
com os números to/from, a mensagem e, opcionalmente, um URL para uma imagem e um booleano informando se queremos uma saída detalhada.
- Em terceiro lugar, uma vez dentro do código, primeiro fazemos uma verificação de exceções (certificando-se de que a mensagem seja do tamanho adequado), seguida pela configuração de libcurl com nosso eventual HTTP POST
- Em quarto lugar, o curl faz o HTTP POST e limpamos com
curl_easy_cleanup
. - Por fim, verificamos se a resposta foi bem‐sucedida ou não e retornamos o resultado à função de chamada.
Executar cpp_demo
Executar cpp_demo a partir da linha de comando é fácil depois que você o tiver criado. Basta definir suas credenciais de conta e chamar o código da seguinte forma:
account_sid=ACXXXXXXXXXXXXXXXXXXXXXX
auth_token=your_auth_token
bin/cpp_demo -a $account_sid -s $auth_token -t "+18005551212" -f "+18005551213" -m "Hello, World!"
# Opcionalmente, use "-p http://some/path/to/img.jpg" para enviar um MMS.
Obter C-Rious com Twilio e C++
Após esta demonstração, agora você tem os meios de adicionar comunicações aos seus aplicativos C++ novos ou existentes. Adicione monitoramento ou ajuda ao seu aplicativo C++, ou traga seu próprio caso de uso.
Se você é um mestre da linguagem ou mais próximo de um praticante de "C com classes" avise‐nos no Twitter quando tiver algo construído!
Precisa de ajuda?
Às vezes, todos nós precisamos; a programação é difícil. Receba ajuda agora da nossa equipe de suporte, ou confie na sabedoria da multidão navegando pelo Stack Overflow Collective da Twilio ou buscando a tag Twilio no Stack Overflow.