2015-02-22 2 views
0

Когда shopify отправляет webhook в мое приложение, я хочу получить доступ к ресурсу продуктов магазина владельца магазина через API и сравнить идентификаторы продукта в магазине и продукте заказанный заказчиком.Access Shopify API при запросе POST запроса Shopify Webhook

приложение/views.py

@csrf_exempt 
def webhook (request, *args, **kwargs): 
    products = [] 

    import shopify 
    with request.user.session: # This doesn't work because no login I think 
     products = shopify.Product.find() 

    print "THE PRODUCTS ARE:", products 

    if request.method == "POST": 
     line_items = json.loads(request.body)["line_items"] 
     return HttpResponse(status=200) 

Я не могу этого сделать, потому что пользователь не вошел в систему, так что request.user.session не работает.
Я не могу попросить интернет-магазин войти в магазин для меня.
Итак, как мне получить доступ к таким продуктам, как shopify.Product.find() в этой функции?

ответ

0

Я думаю, что вы смешиваете концепции здесь: веб-камеры, продукты и клиенты. Сначала вам нужно перебрать все продукты определенного магазина. Когда у вас есть все продукты в нужном месте с правильным идентификатором (учитывайте варианты вариантов вместо продуктов), тогда вам нужно иметь всех клиентов или заказов этого конкретного магазина. Каждый заказ имеет позиции с нужным вариантом. Затем вы просматриваете все варианты, чтобы увидеть, какие варианты заказывал конкретный заказ/заказчик.

0

Запрос на webhook должен быть проверен через его заголовки HMAC, чтобы быть уверенным в подлинности. Как только это будет сделано, вы можете с уверенностью предположить, что домен, из которого он поступает, является законным, поэтому вы можете искать пользователя в своей базе данных. Вместо того, чтобы выполнять это самостоятельно, вы можете использовать django-shopify-webhook для обработки запросов веб-камеры.

You can check out my answer to this question to see an example of how to do this.

Смежные вопросы