Receber SMS em Python

Este documento fornece informações úteis sobre como você pode obter as mensagens recebidas pelo SMS Gateway usando sua aplicação Python. O exemplo de SMS em Python mostra como coletar as mensagens da pasta de entrada via Requisições HTTP e como disponibilizá-las para uso posterior. A página contém um tutorial em vídeo e um guia passo a passo que não leva mais do que cinco minutos para ser concluído. Vamos começar agora!

O que é uma API de SMS em Python?

A API de SMS em Python cria a oportunidade de enviar mensagens SMS a partir de um script Python. Ao usar esta API de SMS em Python, seu script Python pode enviar requisições HTTP para o SMS Gateway, que envia a mensagem SMS.

Pré-requisitos Receber SMS em Python
  1. Abra o aplicativo Bloco de Notas
  2. Copie e cole o código de exemplo desta página
  3. Salve o arquivo como ReceiveSMS.py
  4. Abra o Ozeki SMS Gateway e selecione a conexão HTTP Server
  5. Abra o formulário HTML da conexão HTTP Server
  6. Envie algumas mensagens de teste
  7. Abra o Prompt de Comando
  8. Digite 'python ReceiveSMS.py' no Prompt de Comando e pressione Enter

Vídeo 1 - Como receber SMS em Python (Tutorial em vídeo)

O código-fonte de exemplo em Python abaixo é gratuito para uso em seus projetos e você pode modificá-lo para se adequar à sua solução. O código inicia uma requisição HTTP para obter as mensagens do SMS Gateway. Para testar o exemplo, basta seguir as instruções abaixo ou assistir ao tutorial em vídeo, que demonstra claramente todos os passos que devem ser tomados para executar o script Python SMS em seu computador.

import requests
import ssl
import xml.etree.ElementTree as ET
 
def main():
    username = "john"
    password = "Xc3ffs"
    httpUrl = "https://127.0.0.1:9508/"
    folder = "inbox";
    limit = "3";
 
    sendString = (httpUrl + "api?action=receivemessage&username="
        + username + "&password="
        + password + "&folder=" + folder + "&limit="
        + limit + "&afterdownload=delete")
 
    print("Enviando requisição html: " + sendString + "\n")
    requests.packages.urllib3.disable_warnings() 
 
    response = requests.get(sendString, verify=False)
    print("Resposta HTTP recebida: ")
    DisplayMessages(response.text)
 
def DisplayMessages(response):
    root = ET.fromstring(response)
    if root.findall('data/message/*') == []:
        print('A caixa de entrada está vazia')
        return
 
    for child in root.findall('data/message'):
        sender = child.find('originator').text
        text = child.find('messagedata').text 
        DisplayMessage(sender, text)
 
def DisplayMessage(sender, text):
    print(sender + ": " + text)
 
if __name__=="__main__":
   main()
Passo 1 - Abrir o Bloco de Notas

O primeiro passo deste guia é abrir o Bloco de Notas em seu computador. Este aplicativo é necessário para criar o arquivo Python que você executará ao final do guia. Então, como a Figura 1 demonstra, basta clicar no ícone do aplicativo Bloco de Notas na área de trabalho para abri-lo.

abrir bloco de notas
Figura 1 - Abrir bloco de notas

Passo 2 - Copiar o código Python

Em seguida, você precisa obter o script de exemplo em Python desta página. Esta é uma tarefa fácil de fazer, pois você só precisa copiá-lo. Então, para fazer isso, vá até o código de exemplo nesta página, selecione todo o código-fonte e, como na Figura 2, pressione Ctrl+C no seu teclado. Esta ação copia o código-fonte para a área de transferência e o deixa pronto para ser colocado em um arquivo de texto.

copiar código-fonte do site
Figura 2 - Copiar código-fonte do site

Passo 3 - Colar o código em um arquivo de texto

Em seguida, você precisa colar o código-fonte Python no documento de texto que você abriu no Passo 1. Esta ação pode ser realizada usando o atalho Ctrl+V, que cola o código-fonte no arquivo de texto a partir da área de transferência. Se você fez isso corretamente, o código Python estará no arquivo de texto, como a Figura 3 mostra.

colar código-fonte no bloco de notas
Figura 3 - Colar código-fonte no bloco de notas

Passo 4 - Salve o texto como um arquivo Python

Neste ponto, você tem um arquivo de texto que contém o código-fonte, mas ele ainda não está no formato de arquivo correto. O Bloco de Notas pode salvar arquivos em qualquer formato, então você pode resolver esse problema facilmente. Portanto, selecione a opção 'Salvar como' no Bloco de Notas e salve o arquivo com a extensão '.py'. Esse procedimento é demonstrado na Figura 4.

salvar arquivo python como receivesms py
Figura 4 - Salvar arquivo Python como ReceiveSMS.py

Passo 5 - Abra o Prompt de Comando

Agora, o script Python está pronto para uso, mas você precisa de um ambiente onde possa executar o script. Para isso, você pode simplesmente usar o Prompt de Comando. Para abri-lo, basta navegar até a pasta onde você salvou o arquivo Python com o Explorador de Arquivos, e, como na Figura 5, digite 'cmd' na barra de endereços do Explorador de Arquivos. Se você pressionar Enter, o Prompt de Comando aparecerá em uma nova janela.

abrir prompt de comando
Figura 5 - Abrir prompt de comando

Passo 6 - Envie algumas mensagens de teste

Depois de configurar o arquivo Python, você precisa de algumas mensagens em sua pasta de entrada. Para concluir o teste rapidamente, você pode simular mensagens recebidas com a conexão HTTP Server no SMS Gateway. Se você ainda não configurou essa conexão, aqui você pode ver como configurar uma conexão HTTP Server. Então, abra o SMS Gateway e selecione a conexão HTTP Server. No menu da conexão, abra o formulário HTML (Figura 6). Aqui, você pode escrever algumas mensagens para o SMS Gateway definindo o destinatário como 'Ozeki'.

simular algumas mensagens recebidas
Figura 6 - Simular algumas mensagens recebidas

Passo 7 - Execute o script Python

A última coisa que você precisa fazer para concluir este guia é executar o script Python no Prompt de Comando. Para isso, basta digitar 'python *nome_do_arquivo*.py' no Prompt de Comando, como você pode ver na Figura 7, e pressionar Enter. A execução do exemplo de SMS em Python imprime a requisição HTTP que foi iniciada pelo programa Python. Em seguida, você também poderá ver as mensagens do SMS Gateway.

executar código python no prompt de comando
Figura 7 - Executar código Python no prompt de comando

Para resumir

Neste artigo, você aprendeu como usar um script Python para coletar mensagens da sua caixa de entrada. Você será capaz de construir um sistema que envia requisições HTTP para o SMS Gateway Ozeki e recebe todas as mensagens recebidas de volta. Usar o SMS Gateway Ozeki para gerenciar mensagens SMS é útil porque permite que o usuário registre mensagens SMS em um banco de dados e oferece vários recursos de relatórios para fornecer mais informações sobre sua comunicação por SMS.

Outras linguagens de programação podem ser usadas para se comunicar com o SMS Gateway Ozeki. Para saber mais sobre as capacidades do SMS Gateway Ozeki, sinta-se à vontade para visitar mais páginas de tutoriais, como: Como usar Ruby para enviar mensagens SMS.

Tudo o que você precisa fazer é baixar o SMS Gateway Ozeki e começar a construir sua solução agora!