
Compartilhar:
Jẹ́káyinOlúwa is a software craftsman and product manager passionate about technology and its impact on people. He works on product management, backend development, DevOps, technical writing, and community strategy. He enjoys dealing in the intersection of software, design, and human interaction. He likes reading and music.
Como receber mensagens SMS em Python
Tempo de leitura: 12 minutos
Este artigo foi atualizado em agosto de 2025
Introdução
Este tutorial vai mostrar como receber mensagens SMS em Python com a ajuda da API da Vonage.
A Vonage possui duas APIs diferentes para o recebimento de SMS: a SMS API, utilizada exclusivamente para mensagens SMS, e a Messages API, que permite o uso de outros canais, como o WhatsApp. Neste tutorial, utilizaremos a Messages API para receber mensagens SMS com o Python.
As mensagens SMS recebidas serão captadas por meio de um webhook. Este artigo irá orientá-lo sobre como configurar esse webhook e conectá-lo à sua conta da Vonage.
Pré-requisitos
Para criar um aplicativo em Python para receber mensagens SMS, você precisará dos seguintes programas.
Python
É necessário ter o Python instalado para usar a biblioteca Flask. Acesse a página oficial página oficial de downloads do Python para baixar uma versão do Python compatível com o seu sistema.
Frasco
Você usará o Flask para criar seu webhook. Antes de instalar o Flask, crie o diretório do seu projeto e acesse-o da seguinte maneira:
mkdir receive_sms
cd receive_smsVocê pode instalar o Flask com o gerenciador de pacotes pip, que já vem instalado com o Python. Use o seguinte comando no terminal para instalar o Flask dentro da pasta recém-criada.
pip install flask API da Vonage
Para usar a API do Messages API, você precisará de um Account da API do Vonage. Acesse o painel da API do Vonage para localizar sua chave de API e seu segredo de API, que estão na parte superior da página.
CLI da Vonage
O CLI da Vonage pode ser usado para adquirir um número virtual da Vonage, em vez de fazer a compra pela interface do painel de controle. Ele também pode ser usado para enviar um SMS de teste.
Instale a CLI do Vonage globalmente no seu terminal executando este comando:
Para adquirir um número de telefone da Vonage por meio do CLI, primeiro configure suas credenciais de API com vonage config:set --apiKey=XXXXXX --apiSecret=XXXXXX, depois pesquise os números disponíveis com vonage numbers:search [Alpha-2 Country Code] e compre um usando vonage numbers:buy [Number] [Country Code].
Como alternativa, adquira um número diretamente por meio do seção “Comprar número” no seu painel de controle.
Como receber mensagens SMS em Python com a API da Vonage
Depois de instalar o Python, o Flask e a CLI da Vonage, você estará pronto para começar. A seguir, explicaremos como usar essas ferramentas para que o Python possa receber mensagens de texto da API da Vonage. Para criar um aplicativo em Python que receba mensagens SMS, basta seguir estas 4 etapas:
Criar um webhook para SMS recebidas
Torne a URL do webhook acessível ao público
Configure seu account da Vonage
Enviar e receber uma mensagem SMS de teste
1. Criar o webhook para SMS recebidas
O primeiro passo para receber um SMS em Python é criar um webhook para mensagens de texto recebidas.
Ao receber uma mensagem SMS na sua conta da Vonage, a Vonage verifica se você possui um webhook configurado. Se encontrar um webhook, ela poderá encaminhar a mensagem para o seu aplicativo. Você pode configurar o webhook para funcionar com um único número ou com todos os números da sua conta.
Para processar as mensagens recebidas, seu manipulador de webhook será projetado para aceitar uma POST solicitação. Para facilitar isso, você criará um endpoint do Flask dedicado a processar as solicitações recebidas.
Crie um sms-receive.py arquivo no seu projeto Flask e adicione o seguinte código:
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/webhooks/inbound-message", methods=['POST'])
def inbound_message():
if request.is_json:
data = request.get_json()
print(data)
else:
data = dict(request.form) or dict(request.args)
print(data)
return "200"
if __name__ == '__main__':
app.run(host="", port=3000)Vamos analisar isso para entender como esse código funciona. No trecho de código anterior:
Você definiu um endpoint de webhook chamado
/webhooks/inbound-message. Esse endpoint é responsável por receber e analisar os dados contidos nas cargas úteis das mensagens recebidas.
@app.route("/webhooks/inbound-message", methods=['POST'])
def inbound_message():O
request.get_json()método é utilizado para verificar se a solicitação está no formato JSON. Caso a solicitação não esteja no formato JSON, os pares chave/valor contidos no corpo da solicitação ou na string de consulta da URL são recuperados por meio derequest.formerequest.args, respectivamente.
if request.is_json:
data = request.get_json()Os dados da solicitação são analisados e armazenados na
datavariável e, em seguida, exibidos no terminal usandoprint.
data = request.get_json()
print(data)Por fim, você indica que o aplicativo seja executado e servido na porta 3000.
if __name__ == '__main__':
app.run(host="", port=3000) Tornar a URL do Webhook acessível ao público
Para receber mensagens SMS, o endpoint do webhook do seu aplicativo Python deve estar acessível pela internet pública. Isso permite que a Vonage envie uma solicitação ao seu endpoint sempre que uma mensagem SMS for recebida.
Normalmente, no modo de produção, seria necessário um servidor com um domínio público para anexar ao endpoint. No entanto, para testes no modo de desenvolvimento, usaremos o o ngrok para simular o ambiente do servidor.
Você pode baixar ou instalar o ngrok no site oficial site. Confira o site do ngrok para obter detalhes sobre os limites do plano gratuito.
Em seguida, execute o ngrok no seu terminal:
Assim que o ngrok for iniciado, ele gerará uma URL pública para você, semelhante à seguinte:
Em seguida, você pode acrescentar seu endpoint às URLs do ngrok recém-geradas para formar as URLs dos seus webhooks, desta forma:
Agora, você precisará dessa URL ao criar seu aplicativo na próxima seção deste tutorial.
Configurar o Account da Vonage
Em seguida, você precisará configurar sua conta da Vonage para usar a API correta para mensagens SMS. Usaremos a Messages API para nosso aplicativo, em vez da SMS API.
Para ajustar essa configuração, acesse seu painel página de configurações . Em seguida, acesse as seção de configurações de SMS para selecionar a Messages API.
Messages
Em seguida, acesse os página de Applications para criar um aplicativo.
Clique no botão “+ Criar aplicativo” .
Insira o nome desejado no campo .
Na seção “Recursos”, selecione Mensagens e insira seu webhook URL de entrada. Você pode conferir nosso tutorial sobre como configurar a URL de status para receber o status de entrega das SMS enviadas.
Messages Webhooks
Clique “Gerar novo aplicativo” para concluir o processo. Você será redirecionado para a página do aplicativo recém-criado. Nessa página, você pode vincular seu número ou pagar por um número virtual.
4. Enviar e receber uma mensagem SMS de teste
Seu aplicativo já está pronto para receber mensagens SMS de entrada!! Seu servidor ngrok está em execução na porta 3000, e você configurou seu aplicativo com um número virtual na sua conta da Vonage.
Agora, você pode iniciar o aplicativo Flask em outra janela do terminal para manter a janela anterior em execução com o ngrok.
Ao executar esse comando, sua aplicação Flask será iniciada na porta do seu host local 3000. Essa porta será detectada automaticamente pelo ngrok, permitindo que você disponibilize seu aplicativo na internet pública usando a URL pública do ngrok.
Agora, use o seguinte comando CLI da Vonage para enviar uma mensagem SMS de teste para o seu número da Vonage no seu terminal.
Na janela do terminal em que sua aplicação Python está em execução, você deverá ver que seu webhook recebeu a mensagem SMS recebida:
Você também receberá a mensagem SMS no seu celular, conforme mostra a captura de tela a seguir:
SMS Screenshot
Conclusão
Ao longo deste tutorial, você aprendeu como receber mensagens SMS recebidas usando Python. Agora, você pode integrar a Messages API do Vonage às suas aplicações em Python e começar a usar esses aplicativos para lidar com mensagens de texto recebidas.
Tem alguma dúvida ou quer compartilhar o que está criando?
Inscreva-se no Boletim Informativo para Desenvolvedores
Siga-nos no X (antigo Twitter) para ficar por dentro das novidades
Assista aos tutoriais no nosso canal do YouTube
Conecte-se conosco na página de desenvolvedores da Vonage no LinkedIn
Fique conectado e acompanhe as últimas notícias, dicas e eventos para desenvolvedores.
Leitura complementar
Confira os recursos da Vonage para saber mais sobre a Messages API:
Compartilhar:
Jẹ́káyinOlúwa is a software craftsman and product manager passionate about technology and its impact on people. He works on product management, backend development, DevOps, technical writing, and community strategy. He enjoys dealing in the intersection of software, design, and human interaction. He likes reading and music.