shopify - 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。
解决方案
您想使用 App Proxy 模式。请参阅此处的文档:
https://help.shopify.com/en/api/guides/application-proxies
这样,您可以使用 Ajax 将任何对您的回调重要的信息回调到您的 API。例如,客户 ID。回调是安全的,不会暴露任何安全令牌。您可以返回 JSON,这意味着您的前端代码可以根据内部应用程序的答案显示/隐藏按钮。
推荐阅读
- solr - Solr fetchIndex 命令在分片节点上莫名其妙地失败
- python - Django ORM 在循环中过滤 SUM 不同的相关对象
- python - Python 从 CSV 读取数据
- sql - BigQuery:查询特定表的多模式
- csv - Azure Synapse 管道 - 从 CSV 列获取数组,列名中带有破折号
- python - 如何访问使用 Skaffold 部署的本地 FastAPI 服务?
- javascript - 所有按钮影响一个元素而不是各个元素
- azure - Microsoft.Azure.ServiceBus.ServiceBusException 链接被强制分离。代码:更新令牌
- python - XGBoost 为 python/sklearn 代码输出不同的结果
- swift - 从firestore返回数组