Consegui esse código para ser avisado por email quando um produto estiver acabando. Dessa forma posso checar se a quantidade em estoque corresponde ao cadastrado na loja ou criar uma promoção que ative no cliente o sentido de emergência de compra. Alguém pode ajudar de como fazer a implementação correta?
import requests
import smtplib
import json
from time import sleep
Definir informações de loja
token_api = ‘seu_token_api’
id_loja = ‘seu_id_loja’
Definir produtos para monitorar
produtos = [{‘id’: ‘123’, ‘nome’: ‘Produto 1’, ‘limite’: 3},
{‘id’: ‘456’, ‘nome’: ‘Produto 2’, ‘limite’: 5}]
Definir informações de email
de_email = ‘seu_email@gmail.com’
para_email = ‘email_para_receber_notificacoes@gmail.com’
senha = ‘sua_senha_de_email’
Definir função para enviar email
def enviar_email(produto):
assunto = ‘Aviso de estoque baixo’
corpo = ‘O estoque de {0} está abaixo do limite. Por favor, reabasteça o estoque.’.format(produto[‘nome’])
mensagem = ‘Subject: {0}\n\n{1}’.format(assunto, corpo)
with smtplib.SMTP('smtp.gmail.com', 587) as servidor_email:
servidor_email.starttls()
servidor_email.login(de_email, senha)
servidor_email.sendmail(de_email, para_email, mensagem)
Verificar estoque regularmente
while True:
for produto in produtos:
url = f’https://api.awsli.com.br/v1/produto/{id_loja}/{produto[“id”]}’
headers = {‘Authorization’: f’Bearer {token_api}'}
response = requests.get(url, headers=headers)
data = json.loads(response.content)
if data['estoque'] <= produto['limite']:
enviar_email(produto)
sleep(3600) # Esperar 1 hora antes de verificar novamente