Shopify购物车页面中的服务器端API调用

时间:2019-01-15 10:49:35

标签: shopify shopify-app

我们当前正在使用购物车页面中的Ajax调用第三方(我们的系统中该用户是我们系统中的OPT-IN的API)API。考虑到使用webhook在注册时已经在我们的系统中创建了用户。现在只需要OPT-IN该用户。

但是通过使用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。

1 个答案:

答案 0 :(得分:0)

您要使用应用程序代理模式。请参阅此处的文档:

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

这样,您可以使用Ajax回调到API并获取对回调重要的任何信息。例如,客户ID。回调是安全的,并且没有公开安全令牌。您可以返回JSON,这意味着您的前端代码可以基于内部App的答案显示/隐藏按钮。