Skip to content

Uma guia prático de como construir uma aplicação simples em flask que consome o webhook da kiwify e armazena tudo em um servidor da DETA

License

Notifications You must be signed in to change notification settings

CarlosDevlpr/Kiwi-Hook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

1- Crie uma conta no Deta https://web.deta.sh/

2- Instale a CLI do Deta no seu sistema com o comando a seguir: Windows:

iwr https://get.deta.dev/cli.ps1 -useb | iex

Mac ou Linux:

curl -fsSL https://get.deta.dev/cli.sh | sh

3- Depois de instalar a CLI, logue seu computador no Deta

deta login

4- Se deu tudo certo no seu login, você já pode criar seu micro com o seguinte comando

deta new --python meu_micro

5- A resposta é algo assim e tem que ter criado uma pasta no seu pc

{
"name": "meu_micro",
"runtime": "python3.7",
"endpoint": "https://<path>.deta.dev",
"visor": "enabled",
"http_auth": "enabled"
}

6- Para gerenciar as depêndencias ,acesse a pasta <meu_micro> e crie um arquivo requirements.txt parecido com esse:

flask
deta

7- Agora edite o arquivo main.py para esse código

from flask import Flask

app = Flask(__name__)

@app.route('/', methods=["GET"])
def hello_world():
    return "Hello World"

8- Então use a CLI para fazer Deploy

deta deploy

9- Depois acesse o endpoint que foi retornado quando vc criou o micro

https://< path >.deta.dev"

10-Agora que você já tem uma API no ar, crie um arquivo chamado detabase.py com esse código:

#Importe o Deta para se conectar com o servidor
from deta import  Deta

#Inicialize seu projeto no deta com a sua project key (Essa não é a melhor maneira de fazer isso)
deta = Deta('<sua_project_key>')

#Crie sua DetaBase dentro do Base do seu Projeto
approved_payments = deta.Base("pagamentos_aprovados")

11- Crie sua DetaBase com o seguinte comando

python3 detabase.py

12- Agora crie um arquivo services.py que terão os serviços dos endpoints

#Importe as DetaBases que for usar
from detabase import  approved_payments

#Crie um serviço que te auxilie em adicionar os dados na DetaBase ao consumir o webhook
def  create_approved_payment(payment_data):
    return  approved_payments.put({
	    "0 - fullname": payment_data['Customer']['full_name'],
	    "1 - email": payment_data['Customer']['email'],
	    "2 - mobile": payment_data['Customer']['mobile'],
	    "3 - start_at": str(payment_data['Subscription']['start_date'])[0:10],
	    "4 - finish_at": str(payment_data['Subscription']['next_payment'])[0:10],
	    "5 - commission": payment_data['Commissions']['my_commission']
    })

13- Edite o código do arquivo main.py novamente para algo parecido com isso:

#Importe o Flask e o módulo request
from flask import Flask, request

#Importe o serviço que acabou de criar
from services import create_approved_payment

#Defina o FlaskApp
app = Flask(__name__)

#Crie uma rota para receber o webhook
@app.route('/approved_payment', methods=["POST"])

#Determina o que vai acontecer quando tiver requisição post nesse endpoint
def approved_payment():
    return create_approved_payment(request.json)

14- Faça Deploy de novo

deta deploy

15- Teste seu Webhook No site da Kiwify!

About

Uma guia prático de como construir uma aplicação simples em flask que consome o webhook da kiwify e armazena tudo em um servidor da DETA

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published