You are viewing the Portuguese (Brazil) site, but your language preference is set to English. Switch to English site →

Menu

Expand
Classifique esta página:

Enviar mensagens SMS e MMS em C

Hoje, usaremos as C, libcurl e algumas APIs POSIX para enviar mensagens SMS e MMS usando a API REST da Twilio. Fora de um ambiente de compilação compatível com POSIX (pelo menos principalmente), você também precisará de libcurl para o código neste guia.

Vamos começar!

Inscreva‐se (ou faça login) na conta da Twilio

Antes de usar a API da Twilio, você precisará criar uma conta ou fazer login em uma conta existente.

Não tem uma conta? Inscreva-se em uma conta da Twilio gratuitamente.

Encontrar ou comprar um número compatível com SMS

Esta demonstração requer um número de telefone da Twilio com recursos de SMS (e MMS). Você pode usar um número de telefone que já possui ou comprar um novo com SMS ativado.

Veja como os números compatíveis com SMS aparecem na sua lista de números:

List of Active Twilio Numbers

E veja como você pode pesquisar um novo número com recursos de SMS (ou MMS, se você também selecioná-lo):

Buy an SMS-capable Twilio Number

Pré‐requisitos para este guia de envio de SMS em C

Este guia é voltado para ambientes compatíveis com POSIX e foi testado com clang-800.0.42.1 no Mac OSX 10.11, gcc 4.9.2 no Raspbian (kernel 4.4.34-v7 ou superior) e gcc 5.4.0 no Cygwin 2.877 no Windows 7 64 bits. No mínimo, precisaremos de:

libcurl já estava disponível no Mac. No Raspberry Pi, você pode instalar uma versão adequada com:

sudo apt-get install libcurl4-openssl-dev

No Windows 7, consegui instalar o libcurl com o Cygwin Setup:

Installing libcurl-devel and curl in Cygwin

Criar c_sms

Aqui está nosso exemplo de Makefile, que pode ser usado em todos os três ambientes.

Na maioria dos sistemas do tipo *NIX (inclusive no Cygwin), criar é provavelmente tão fácil quanto:

git clone https://github.com/TwilioDevEd/twilio_c_sms.git
cd twilio_c_sms
make

Talvez seja necessário fazer pequenas edições no Makefile para criar c_sms em seu ambiente. Mais frequentemente, você alterará os caminhos de pesquisa da biblioteca ou o compilador.

Enviar uma mensagem SMS ou MMS com C

Acabamos de criar c_sms, que pode ser chamado a partir da linha de comando e tentaremos enviar um SMS ou MMS antes de sair. twilio.c inclui uma função , twilio_send_message, que é facilmente adaptável à sua própria base de código (é claro, você precisará adicionar validação e segurança antes de usá‐la na produção. Por exemplo, observe como você pode adicionar mais parâmetros por meio das variáveis!).

Vamos ver como o twilio_send_message funciona.

  • Primeiro, preparamos nossas credenciais de conta e parâmetros HTTP para serem consumidos pela API da Twilio.
  • Em segundo lugar, precisamos preparar o libcurl para executar um HTTP POST na API da Twilio. As chamadas da função curl_easy_setopt instruem a libcurl a postar com o url e o corpo que definimos e a usar nossos detalhes de conta e Auth Token (Token de autenticação).
  • Em terceiro lugar, executamos nosso POST e depois limpamos com as linhas:
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);​
  • Em quarto lugar, verificamos se há erros na libcurl ou na API da Twilio.

Este é o código para twilio_send_message em C:

        
        
        
        Setting up required HTTP Parameters and authentication, preparing libcurl, POSTing to the Twilio REST API, and checking the response.

        Using libcurl to Send a Message with C and Twilio

        Setting up required HTTP Parameters and authentication, preparing libcurl, POSTing to the Twilio REST API, and checking the response.

        Executar c_sms

        Depois que c_sms é criado, é fácil chamá‐lo da linha de comando. Basta inserir as credenciais da sua conta, números de & para e um corpo de mensagem e você acenderá um telefone. Aqui está uma sessão de exemplo:

        account_sid=ACXXXXXXXXXXXXXXXXXXXXXX
        auth_token=your_auth_token
        bin/c_sms -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.

        Você vê o que eu vejo? Hora da sua própria criação

        Mais de 45 anos e bilhões de linhas de código depois, é óbvio que Dennis Ritchie projetou uma linguagem para ir além. Agora, a Twilio pode acompanhar você em sua jornada em C com apenas algumas bibliotecas auxiliares e seu caso de uso de SMS e MMS.

        Esperamos que este seja um bom ponto de partida; por favor, informe‐nos o que você construiu no Twitter!

        Paul Kamp Kevin Segovia Daniel Erazo
        Classifique esta página:

        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.

              
              
              

              Obrigado pelo seu feedback!

              Selecione o(s) motivo(s) para seu feedback. As informações adicionais que você fornece nos ajudam a melhorar nossa documentação:

              Enviando seu feedback...
              🎉 Obrigado pelo seu feedback!
              Algo deu errado. Tente novamente.

              Obrigado pelo seu feedback!

              thanks-feedback-gif