我有一个shopify商店,我已经在商店的页脚中创建了一个自定义表单,并希望使用从该表单中添加的详细信息来创建新客户。我尝试使用下面提供的代码向端点“ /admin/customers.json”发送发布请求
$(document).ready(function(){
$('.klaviyo_submit_button').on('click', function(){
$.ajax({
url: '/admin/customers.json',
dataType: 'json',
type: 'POST',
data:{
"customer": {
"first_name": "Steve",
"last_name": "Lastnameson",
"email": "steve.lastnameson@example.com",
"phone": "+15142546011",
"verified_email": true
}
},
success: function() {
alert('Customer is added');
}
});
})
})
但是它没有发送发布请求,并显示状态代码“ 303 see other”。有人可以让我知道我在这里犯了什么错误,以及如何从此表格中添加客户。我正在shopify的theme.js.liquid文件中使用此代码。
谢谢
答案 0 :(得分:2)
您不会使用对/ admin的Javascript调用从前端将客户添加到您的网店。这意味着您将向公众公开App API密钥。相反,Shopify会为您提供客户填写的表格,然后将其提交给商店并进行安全处理。
如果您坚持使用自己的表单添加客户,则可以设置一个具有添加客户权限的应用程序,然后使用“应用程序代理”模式将表单发送给应用程序以创建客户。那是安全的,并且有效。
答案 1 :(得分:1)
您不能直接通过公共访问权在admin / customers.json上创建提交客户数据的新客户记录。即使您分享的细节不清楚您的完整要求,我还是在这里建议两种解决方案。
解决方案1 :使用帐户创建表单创建新记录diff <(rg -N . file1.txt) <(rg -N . file2.txt)
。
解决方案2 :在商店中创建一个自定义应用,并将数据提交到服务器上托管的脚本(可以使用PHP),该脚本将使用客户API创建记录。
第1步:转到商店管理部分的“应用程序”标签。向下滚动并点击管理私人应用,在此处创建一个应用以生成API密钥和密码。
第2步:创建并托管(在安全服务器上)脚本,该脚本将使用上一步中生成的API密钥使用regexr
创建新的客户记录第3步:在网站上创建表单,然后使用Ajax提交表单以在第2步中编写脚本。新的客户记录将在您的商店中创建。
注意:您可以使用在邮递员工具的第1步中创建的凭据来测试此API,您可以参考https://help.shopify.com/en/api/reference/customers/customer#create 。您必须点击在步骤1中在“私人”应用中生成的示例URL 。