首页 > 解决方案 > Shopify 购物车页面中的服务器端 API 调用

问题描述

我们目前正在使用购物车页面中的 ajax 调用第三方(我们的 API 到 OPT-IN 系统中的该用户)API 以实现 OPT-IN 功能。考虑到用户在使用 webhook 注册时已经在我们的系统中创建。现在只需要选择该用户。

但是通过使用 ajax 调用 API,我们使访问令牌可见。所以,这不是实现 API 的安全方式。

需要 API 调用来创建 shopify 公共 APP。在那使用 API 检查我们系统中的用户状态。根据 API 响应,必须决定显示/隐藏一个按钮(该按钮添加到购物车页面中。)。我说的是实现我们用于创建 APP 的 API。该 API 需要我们提供的访问令牌。

因此,为了访问令牌的安全目的,需要在 Shopify 购物车页面中实现服务器端 API。

async function getData(){
            const result= await fetch("https://s15.socialannex.net/apiv2/userstatus/SITE_ID/{{ customer.email }}?access_token=ACCESS_TOKEN",{
                method: 'POST',
                data: {
                    'first_name': 'Atul'
                },
            });
            var res = await result.json();
            if(res.error_code == 0){
                $(".join-loyalty-button").css("display","none");
            }
          }

上面的代码工作正常,但它的 ajax 调用。我想在服务器端调用上面的 API。

标签: shopifyshopify-app

解决方案


您想使用 App Proxy 模式。请参阅此处的文档:

https://help.shopify.com/en/api/guides/application-proxies

这样,您可以使用 Ajax 将任何对您的回调重要的信息回调到您的 API。例如,客户 ID。回调是安全的,不会暴露任何安全令牌。您可以返回 JSON,这意味着您的前端代码可以根据内部应用程序的答案显示/隐藏按钮。


推荐阅读