如何设置Raspberry Pi来接收webhooks

2024-09-28 01:31:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在做一个小项目,每当在Shopify上创建新订单时,我的树莓皮点亮一顶独角帽。我从未使用过webhooks或web服务器,更不用说Flask或Zappa了,我很好奇如何在不将pi暴露在家庭网络上的开放互联网的情况下进行设置。在

我曾经读到过,使用亚马逊的Lambda和烧瓶和Zappa之类的东西很容易做到,但是我很迷茫。到目前为止,我得到的是:

from time import sleep
from flask import Flask, request
import unicornhat as unicorn
import light.py

app = Flask(__name__)
@app.route('/', methods = ['POST'])

def index():
    data = request.get_json()
    if data['orders/create'] == null:
        light.light() //lights uHat on new order creation
    return "Success"

如果有任何建议,我会非常感激的,我已经在这几个星期(在我的业余时间)和我在webdev节目的经验不足。我甚至不确定我是否正确地阅读了shoppify的API信息,甚至不知道它是否在监听正确的webhook。在

再次感谢!在


Tags: 项目from订单importwebappflaskdata
1条回答
网友
1楼 · 发布于 2024-09-28 01:31:08

shoppify有一个Python模块,shopifyapi允许您注册webhook。在

import shopify

shop_url = "https://%s:%s@%s.myshopify.com/admin" % (API_KEY, PASSWORD, SHOP_NAME)
shopify.ShopifyResource.set_site(shop_url)
shopify.Session.setup(api_key=API_KEY, secret=SHARED_SECRET)

new_webhook = shopify.Webhook()
new_webhook.address = 'http://your.pi.address'
new_webhook.topic = 'orders/create'
new_webhook.save()

完成后,创建的任何订单都将调用webhook将order data发送到pi的地址。 有关可以用作触发器的其他事件,请参阅API docs。在

你的Flask应用程序可以接受这样的帖子:

^{pr2}$

对于您要完成的任务,您不需要对订单数据做任何操作, 但最好检查和/或记录。在

相关问题 更多 >

    热门问题