Como Excluir um SMS em Python Flask
A maneira mais simples de excluir SMS do Python é usar a API HTTP/REST de SMS integrada do Ozeki SMS Gateway. Ao usar essa API, você excluirá mensagens SMS enviando uma solicitação HTTP Post para o gateway de SMS. A solicitação HTTP Post conterá os IDs das mensagens que queremos excluir, formatados em JSON. O gateway de SMS retornará os IDs das mensagens que foram excluídas com sucesso e também responderá com um código HTTP 200 OK à sua solicitação.
O exemplo de código Python para SMS abaixo demonstra como você pode excluir SMS usando a API REST de SMS do Ozeki SMS Gateway com a biblioteca Python ozekilibsrest. Esta biblioteca é fornecida gratuitamente e você pode usá-la e modificá-la em qualquer um de seus projetos.
DeleteSms.py
from flask import Flask, render_template, request from ozekilibsrest import Configuration, Message, MessageApi, Folder app = Flask(__name__) configuration = Configuration( username="http_user", password="qwe123", api_url="http://127.0.0.1:9509/api" ) api = MessageApi(configuration) logs = [] @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': message = Message(message_id=request.form['message_id']) if request.form['folder'] == 'inbox': log = api.delete(Folder.Inbox, message) elif request.form['folder'] == 'outbox': log = api.delete(Folder.Outbox, message) elif request.form['folder'] == 'sent': log = api.delete(Folder.Sent, message) elif request.form['folder'] == 'notsent': log = api.delete(Folder.NotSent, message) else: log = api.delete(Folder.Deleted, message) logs.append(log) return render_template('DeleteSms.html', logs=logs) if __name__ == '__main__': app.run()
DeleteSms.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Excluir SMS com Ozeki SMS Gateway</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> </head> <body> <form action="/" method="POST" class="form-group" style="width: 40%; margin-top: 10vh; margin-left: 30%; display: flex; flex-direction: column; height: 30vh; justify-content: space-evenly;"> <b>ID:</b> <input class="form-control" type="text" name="message_id" placeholder="ff44c9fb-1494-4457-8f59-5915dc16500d"> <b>Pasta:</b> <select class="form-control" name="folder"> <option value="inbox">Caixa de Entrada</option> <option value="outbox">Caixa de Saída</option> <option value="sent">Enviados</option> <option value="notsent">Não Enviados</option> <option value="deleted">Excluídos</option> </select> <input class="btn btn-primary" style="font-weight: 600;" type="submit" name="submit" value="EXCLUIR"> </form> <ul style="width: 40%; margin-left: 30%; height: 40vh; overflow-y: scroll;" class="list-group card"> <li class="list-group-item card"><b>Logs:</b></li> {% if logs %} {% for log in logs %} <li class="list-group-item">{{ log }}</li> {% endfor %} {% endif %} </ul> </body> </html>
Como usar o exemplo de SMS em Python:
Este exemplo de SMS em Python Flask pode ser usado em qualquer aplicação Flask Python. Para usá-lo, você deve instalar o pacote ozekilibsrest com o comando pip install ozekilibsrest. Após a instalação do pacote, você deve incluir a diretiva "from ozekilibsrest import Configuration, Message, MessageApi" no cabeçalho do seu código-fonte Python. Isso permitirá que você use as classes fornecidas pela biblioteca ozekilibsrest. Você pode usar a classe Message para criar o SMS. A classe MessageApi pode ser usada para enviar o SMS ao gateway de SMS. O gateway de SMS encaminhará sua mensagem para a rede móvel por meio de uma conexão sem fio ou pela Internet.
Baixar DeleteSms.py
O código-fonte explicado neste artigo pode ser baixado, usado e modificado gratuitamente.
Download: DeleteSms.py.zip (1.57Kb)
A pasta DeleteSms.py contém o script do exemplo de SMS em Python Flask que mostrará como excluir mensagens SMS usando Python.
Para instalar a biblioteca ozekilibsrest, você deve abrir o prompt de comando e usar o seguinte comando. Isso instalará a biblioteca ozekilibsrest e as dependências necessárias.
pip install ozekilibsrest
Como instalar a biblioteca flask
Para instalar a biblioteca flask, você precisa abrir o prompt de comando e usar o seguinte comando. Isso instalará a biblioteca flask e as dependências necessárias.
pip install flask
Para excluir SMS do Python flask:
- Baixe e instale o Python
- Instale a biblioteca ozekilibsrest usando pip ou codna
- Instale o flask usando pip ou codna
- Baixe o arquivo DeleteSms.py.zip
- Extraia o arquivo .zip da pasta Downloads
- Abra o arquivo DeleteSms.py em qualquer editor de texto
- Inicie o Ozeki SMS Gateway
- Crie um usuário HTTP API no Ozeki
- Execute o código DeleteSms.py usando o prompt de comando para enviar as mensagens SMS de teste
- Verifique a caixa Enviados no Ozeki SMS Gateway
Para poder enviar SMS do Python flask, primeiro você precisa instalar o Ozeki SMS Gateway. O gateway SMS pode ser instalado no mesmo computador onde você desenvolve seu código Python. Após a instalação, o próximo passo é conectar o Ozeki SMS Gateway à rede móvel. Você pode enviar um SMS teste da interface gráfica do Ozeki para verificar se sua conexão com a rede móvel está funcionando. O passo final para preparar seu ambiente é criar um usuário da API SMS HTTP. Crie um usuário com o nome de usuário "http_user" e senha "qwe123" para que o exemplo funcione sem modificações.
Após a configuração do ambiente, você pode executar seu código Python.
URL da API HTTP para enviar SMS do PythonPara enviar SMS do Python flask, seu código Python precisará fazer uma requisição HTTP para o gateway SMS. A URL da API é mostrada abaixo. Observe que o endereço IP (127.0.0.1) deve ser substituído pelo endereço IP do seu gateway SMS. Se o Ozeki SMS Gateway estiver instalado no mesmo computador onde o aplicativo Python flask SMS está sendo executado, pode ser 127.0.0.1. Se estiver instalado em um computador diferente, deve ser o endereço IP desse computador.
http://127.0.0.1:9509/api?action=rest
Para autenticar o cliente SMS Python flask, você precisa enviar o nome de usuário e senha em uma string codificada em base64 para o servidor em uma requisição HTTP. O formato usado é: base64(nome de usuário+":"+senha). Em Python, você pode usar o seguinte código para fazer essa codificação:
def create_authorization_header(username, password): username_password = f'{ username }:{ password }' return f'Basic { b64encode(username_password.encode()).decode() }'
Por exemplo, se você codificar o nome de usuário 'http_user' e a senha 'qwe123', você obterá a seguinte string codificada em base64: aHR0cF91c2VyOnF3ZTEyMw==.
Cabeçalho da requisição HTTP para enviar SMS do Python flaskPara enviar as mensagens SMS, você precisa incluir as seguintes linhas como cabeçalhos na requisição HTTP. Observe que incluímos um tipo de conteúdo e um cabeçalho de Autorização.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Para enviar as mensagens SMS, seu aplicativo Python flask enviará uma requisição HTTP semelhante à mostrada abaixo. Observe que esta requisição contém uma parte de cabeçalho HTTP e uma parte de corpo HTTP. A parte do corpo contém os IDs das mensagens que desejamos excluir.
POST /api?action=deletemsg HTTP/1.1 Host: 127.0.0.1:9509 User-Agent: python-requests/2.26.0 Accept-Encoding: gzip, deflate Accept: */* Connection: keep-alive Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Content-Type: application/json Content-Length: 76 { "folder": "inbox", "message_ids": [ "af5819d4-e32f-4653-a6d4-8fb49017164e" ] }
Assim que o gateway SMS receber esta requisição, ele gerará uma resposta HTTP. A resposta HTTP conterá um código de status, para indicar se a requisição de envio de SMS foi bem-sucedida ou não. Também retornará uma estrutura codificada em JSON para fornecer detalhes úteis sobre o envio da mensagem.
HTTP/1.1 200 OK Transfer-Encoding: chunked Content-Type: application/json; charset=utf8 Last-Modified: Fri, 17 Sep 2021 09:14:01 GMT Server: 10/10.3.124 Microsoft-HTTPAPI/2.0 User-Agent: OZEKI 10.3.124 (www.myozeki.com) Access-Control-Allow-Origin: * Date: Fri, 17 Sep 2021 07:54:08 GMT { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "message_ids": [ "af5819d4-e32f-4653-a6d4-8fb49017164e" ] } }
Como baixar o projeto DeleteSms.py (Tutorial em vídeo)
No vídeo a seguir, você aprenderá como usar o projeto DeleteSms.py em Python Flask. O vídeo começará com a página de download e o guiará até o painel do editor de código aberto. Você aprenderá como baixar e abrir o arquivo de código. O vídeo tem apenas 54 segundos, mas contém todas as informações necessárias para usar o arquivo de código de exemplo com sucesso.
O código de exemplo abaixo faz parte da pasta DeleteSms.py.zip.
No próximo clipe, você verá como pode executar o código DeleteSms.py em Python. O vídeo começará com o código aberto e o guiará até a aba de eventos com o registro da mensagem enviada. Você verá como executar o código e o que acontece se o código for executado. O vídeo tem menos de 1 minuto, mas contém todas as informações necessárias para executar o projeto.
Conclusão
Este artigo mostrou as etapas para deletar SMS em uma única requisição usando Python Flask.
Com esse conhecimento e as ferramentas fornecidas, você poderá alcançar vários clientes com um único código. O Ozeki SMS Gateway tem um papel importante nesse processo, pois esse programa organiza a entrega das mensagens. O Ozeki SMS Gateway funciona com alta qualidade e desempenho, permitindo que você envie até 1000 SMS por segundo.
Continue seu aprendizado nas páginas de tutorial da Ozeki, onde você pode ler sobre tópicos como enviar SMS em Python Flask.
Agora, a única coisa que você precisa fazer é baixar o Ozeki SMS Gateway e começar a trabalhar!
More information
- Enviar SMS em Python Flask com a API REST HTTP (exemplo de código)
- Enviar múltiplos SMS em Python Flask com a API REST HTTP (exemplo de código)
- Agendar SMS em Python Flask com a API REST HTTP (exemplo de código)
- Receber SMS em Python Flask com a API REST HTTP (exemplo de código)
- Excluir SMS em Python Flask com a API REST HTTP (exemplo de código)
- Como baixar a última biblioteca de SMS em Python Flask do Github