我们当前正在使用购物车页面中的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。
答案 0 :(得分:0)
您要使用应用程序代理模式。请参阅此处的文档:
https://help.shopify.com/en/api/guides/application-proxies
这样,您可以使用Ajax回调到API并获取对回调重要的任何信息。例如,客户ID。回调是安全的,并且没有公开安全令牌。您可以返回JSON,这意味着您的前端代码可以基于内部App的答案显示/隐藏按钮。