顾客

客户资源存储有关商店客户的信息,例如他们的联系方式,他们的订单历史记录以及他们是否同意接受电子邮件营销。

顾客 - 图1

客户资源还保存有关客户帐户状态的信息。拥有帐户的客户无需登录即可节省结帐时间,因为他们无需输入联系信息。您可以使用Customer API来检查客户是否拥有有效的帐户,然后邀请他们创建一个(如果没有)。

出于安全原因,客户资源不存储信用卡信息。客户始终需要在结帐时输入此信息。

在商店的结帐设置中,客户帐户有三个选项:

  • 帐户被禁用:客户无法创建帐户,只能以访客身份签出。
  • 帐户是可选的:客户可以选择登录帐户或以访客身份签出。客户可以为自己创建帐户,店主可以为客户创建帐户,然后通过电子邮件邀请他们使用它。
  • 需要帐户:除非登录,否则客户无法退房,并且店主必须创建其帐户。

您可以为客户做什么

Shopify API允许您对客户资源执行以下操作。这些常规操作的更详细的版本可能可用:

客户属性

accepts_marketing plain "accepts_marketing": false 客户是否同意通过电子邮件接收营销材料。
accepts_marketing_updated_at plain "accepts_marketing_updated_at": "2013-06-27T08:48:27-04:00" 客户同意或反对通过电子邮件接收营销材料的日期和时间(ISO 8601格式)。每当客户同意或反对营销材料时,请设置此值。
地址 plain "addresses": [ { "id": 207119551, "customer_id": 6940095564, "first_name": "Bob", "last_name": "Norman", "company": null, "address1": "Chestnut Street 92", "address2": "Apartment 2", "city": "Louisville", "province": "Kentucky", "country": "United States", "zip": "40202", "phone": "555-625-1199", "province_code": "KY", "country_code": "US", "country_name": "United States", "default": true } ] 客户的十个最近更新的地址的列表。每个地址都具有以下属性:
+ address1:客户的邮寄地址。
+ address2:客户邮寄地址的附加字段。
+ 城市:客户的城市,城镇或村庄。
+ 公司:客户的公司。
+ 国家:客户的国家。
+ country_code:与客户所在国家/地区对应的两个字母的国家/地区代码。
+ country_name:客户的标准化国家名称。
+ customer_id客户的唯一标识符。
+ default:此地址是否为客户的默认地址。
+ first_name:客户的名字。
+ id:地址的唯一标识符。
+ last_name:客户的姓氏。
+ name:客户的名字和姓氏。
+ 电话:此地址上客户的电话号码。
+ province:客户的地区名称。通常是一个省,州或县。
+ province_code:地址区域的代码,例如省,州或地区。例如加拿大魁北克省的质量控制。
+ zip:客户的邮政编码,也称为zip,邮政编码,Eircode等。
货币 只读 plain "currency": "JPY" 客户在为其最后一笔订单付款时使用的货币的三个字母的代码(ISO 4217格式)。默认为商店货币。返回测试订单的商店货币。
created_at 只读 plain "created_at": "2013-06-27T08:48:27-04:00" 创建客户的日期和时间(ISO 8601格式)。
默认地址 只读 plain "default_address": { "address1": "Chestnut Street 92", "address2": "Apartment 2", "city": "Louisville", "company": null, "country": "united states", "first_name": "Bob", "id": 207119551, "last_name": "Norman", "phone": "555-625-1199", "province": "Kentucky", "zip": "40202", "province_code": "KY", "country_code": "US", "country_name": "United States", "default": true } 客户的默认地址。默认地址具有以下属性:
+ address1:客户的邮寄地址的第一行。
+ address2:客户邮寄地址的附加字段。
+ 城市:客户的城市,城镇或村庄。
+ 公司:客户的公司。
+ 国家:客户的国家。
+ country_code:与客户所在国家/地区对应的两个字母的国家/地区代码。
+ country_name:客户的标准化国家名称。
+ customer_id客户的唯一标识符。
+ default:返回true每个默认地址。
+ first_name:客户的名字。
+ id:地址的唯一标识符。
+ last_name:客户的姓氏。
+ name:客户的名字和姓氏。
+ 电话:此地址上客户的电话号码。
+ province:客户的地区名称。通常是一个省,州或县。
+ province_code:客户所在区域的两个字母的代码。
+ zip:客户的邮政编码,也称为zip,邮政编码,Eircode等。
电子邮件 plain "email": "bob.norman@hostmail.com" 客户的唯一电子邮件地址。尝试将相同的电子邮件地址分配给多个客户将返回错误。
plain "first_name": "John" 客户的名字。
ID plain "id": 207119551 客户的唯一标识符。
plain "last_name": "Norman" 客户的姓氏。
last_order_id 只读 plain "last_order_id": 234132602919 客户最后订单的ID。
last_order_name 只读 plain "last_order_name": "#1169" 客户的最后订单的名称。这与name“订单”资源上的字段直接相关。
元场 plain "metafield": { "key": "new", "namespace": "global", "value": "newvalue", "value_type": "string" } 将其他元数据附加到商店的资源:
+ (必填):元字段的标识符(最多30个字符)。
+ 名称空间(必填):一组元数据的容器(最多20个字符)。命名空间有助于区分您创建的元数据和具有相似命名空间的另一个人创建的元数据。
+ (必填):要存储为元数据的信息。
+ value_type(必填):值类型。有效值:stringinteger
+ 说明(可选):有关元字段的其他信息。
marketing_opt_in_level plain "marketing_opt_in_level": "single_opt_in" 客户同意通过电子邮件接收营销材料时给出的营销订购选择加入级别(如M 3 AAWG最佳实践指南所述)。如果客户不接受电子邮件营销,那么此属性将设置为null。有效值:
+ single_opt_in
+ confirmed_opt_in
+ unknown
multipass_identifier plain "multipass_identifier": null 与’’ Multipass登录一起使用的客户的唯一标识符。
笔记 plain "note": "Placed an order that had a fraud warning" 关于客户的说明。
orders_count 只读 plain "orders_count": 3 与该客户关联的订单数。
电话 plain "phone": "+16135551111" 此客户的唯一电话号码(E.164格式)。尝试将相同的电话号码分配给多个客户将返回错误。可以使用不同的格式来设置属性,但是每种格式都必须代表可以从世界任何地方拨打的号码。以下格式均有效:
+ 6135551212
+ +16135551212
+ (613)555-1212
+ +1 613-555-1212
状态 只读 plain "state": "disabled" 客户在商店中的帐户状态。默认值:disabled。有效值:
+ 禁用:客户没有有效的帐户。可以随时通过Shopify管理员禁用客户帐户。
+ 受邀:客户已收到一封电子邮件邀请以创建一个帐户。
+ 已启用:客户已创建一个帐户。
+ 拒绝:客户拒绝通过电子邮件邀请创建帐户。
标签 plain "tags": "loyal" 商店所有者已附加给客户的标签,格式为逗号分隔的字符串。一个客户最多可以有250个标签。每个标签最多可包含255个字符。
免税 plain "tax_exempt": true 客户是否可以免交订单税。如果为true,则收款时不会对订单应用税收。如果为false,则将在结帐时加收税款。
免税 plain "tax_exemptions": [ "CA_STATUS_CARD_EXEMPTION", "CA_BC_RESELLER_EXEMPTION" ] 客户是否免于支付其订单的特定税款。仅加拿大税。有效值:
+ EXEMPT_ALL:此客户免征所有加拿大税。
+ CA_STATUS_CARD_EXEMPTION:此客户在加拿大持有有效的STATUS_CARD_EXEMPTION免征特定税项。
+ CA_DIPLOMAT_EXEMPTION:由于在加拿大持有有效的DIPLOMAT_EXEMPTION,因此该客户免除特定税项。
+ CA_BC_RESELLER_EXEMPTION:由于在不列颠哥伦比亚省持有有效的RESELLER_EXEMPTION,该客户免征特定税款。
+ CA_MB_RESELLER_EXEMPTION:由于在曼尼托巴省持有有效的RESELLER_EXEMPTION,此客户免征特定税款。
+ CA_SK_RESELLER_EXEMPTION:由于在萨斯喀彻温省持有有效的RESELLER_EXEMPTION,此客户免征特定税款。
+ CA_BC_COMMERCIAL_FISHERY_EXEMPTION:该客户因在不列颠哥伦比亚省持有有效的COMMERCIAL_FISHERY_EXEMPTION而无需缴纳特定税款。
+ CA_MB_COMMERCIAL_FISHERY_EXEMPTION:该客户在曼尼托巴省持有有效的COMMERCIAL_FISHERY_EXEMPTION可免税。
+ CA_NS_COMMERCIAL_FISHERY_EXEMPTION:该客户在新斯科舍省持有有效的COMMERCIAL_FISHERY_EXEMPTION可免税。
+ CA_PE_COMMERCIAL_FISHERY_EXEMPTION:该客户在爱德华王子岛持有有效的COMMERCIAL_FISHERY_EXEMPTION可以免税。
+ CA_SK_COMMERCIAL_FISHERY_EXEMPTION:该客户因在萨斯喀彻温省持有有效的COMMERCIAL_FISHERY_EXEMPTION而无需缴纳特定税款。
+ CA_BC_PRODUCTION_AND_MACHINERY_EXEMPTION:该客户因在不列颠哥伦比亚省持有有效的PRODUCTION_AND_MACHINERY_EXEMPTION而无需缴纳特定税款。
+ CA_SK_PRODUCTION_AND_MACHINERY_EXEMPTION:该客户因在萨斯喀彻温省持有有效的PRODUCTION_AND_MACHINERY_EXEMPTION而无需缴纳特定税。
+ CA_BC_SUB_CONTRACTOR_EXEMPTION:由于在不列颠哥伦比亚省持有有效的SUB_CONTRACTOR_EXEMPTION,因此该客户无需缴纳特定税项。
+ CA_SK_SUB_CONTRACTOR_EXEMPTION:由于在萨斯喀彻温省持有有效的SUB_CONTRACTOR_EXEMPTION,因此该客户免除特定税项。
+ CA_BC_CONTRACTOR_EXEMPTION:由于在不列颠哥伦比亚省持有有效的CONTRACTOR_EXEMPTION,因此该客户免征了特定税项。
+ CA_SK_CONTRACTOR_EXEMPTION:此客户在萨斯喀彻温省持有有效的CONTRACTOR_EXEMPTION,因此无需缴纳特定税项。
+ CA_ON_PURCHASE_EXEMPTION:由于在安大略省持有有效的PURCHASE_EXEMPTION,该客户免征特定税款。
+ CA_MB_FARMER_EXEMPTION:由于在曼尼托巴省持有有效的FARMER_EXEMPTION,此客户免征特定税款。
+ CA_NS_FARMER_EXEMPTION:由于在新斯科舍省持有有效的FARMER_EXEMPTION,该客户免征特定税款。
+ CA_SK_FARMER_EXEMPTION:由于在萨斯喀彻温省持有有效的FARMER_EXEMPTION,因此该客户免征特定税款。
总计已花费 只读 plain "total_spent": "375.30" 客户在整个订单历史记录中花费的总金额。
Updated_at 只读 plain "updated_at": "2012-08-24T14:01:46-04:00" 上次更新客户信息的日期和时间(ISO 8601格式)。
已验证电子邮件 只读 plain "verified_email": true 客户是否已验证其电子邮件地址。

终点

得到/admin/api/2021-01/customers.json 检索客户列表。注意:从2019-10版本开始,此端点通过使用响应标头中提供的链接来实现分页。发送<font style="background-color:#F4F6F8;">page</font>参数将返回错误。要了解更多信息,请参阅向分页的REST Admin API端点发出请求
编号 将结果限制为以逗号分隔的ID列表指定的客户。
since_id 将结果限制为指定ID之后的结果。
created_at_min 显示在指定日期之后创建的客户。
(格式:2014-04-25T16:15:47-04:00)
created_at_max 显示在指定日期之前创建的客户。
(格式:2014-04-25T16:15:47-04:00)
Updated_at_min 显示客户在指定日期之后的最新更新。
(格式:2014-04-25T16:15:47-04:00)
Updated_at_max 显示客户在指定日期之前的最新更新。
(格式:2014-04-25T16:15:47-04:00)
限制 要显示的最大结果数。
(默认值:50
最大:250
领域 仅显示某些字段,这些字段由逗号分隔的字段名称列表指定。

检索所有顾客的店铺

GET /admin/api/2021-01/customers.json

查看回应

指定ID后检索所有客户

GET /admin/api/2021-01/customers.json?since_id=207119551

查看回应

检索在特定日期后更改的所有客户

GET /admin/api/2021-01/customers.json?updated_at_min=2021-02-11 18:48:07

查看回应

检索特定客户列表

GET /admin/api/2021-01/customers.json?ids=207119551,1073339485

查看回应

得到/admin/api/2021-01/customers/search.json?query=Bob国家/地区:美国 搜索与提供的查询匹配的客户。注意:从2019-10版本开始,此端点通过使用响应标头中提供的链接来实现分页。发送<font style="background-color:#F4F6F8;">page</font>参数将返回错误。要了解更多信息,请参阅向分页的REST Admin API端点发出请求
命令 设置排序结果的场和方向。
(默认值:last_order_date DESC
询问 在商店的客户数据中搜索的文本。 注:支持查询:accepts_marketingactivation_dateaddress1address2citycompanycountrycustomer_datecustomer_first_namecustomer_idcustomer_last_namecustomer_tagemailemail_marketing_statefirst_namefirst_order_dateidlast_abandoned_order_datelast_namemultipass_identifierorders_countorder_datephoneprovinceshop_idstatetagtotal_spentupdated_atverified_emailproduct_subscriber_status。所有其他查询返回所有客户。
限制 要显示的最大结果数。
(默认值:50
最大:250
领域 仅显示某些字段,这些字段由逗号分隔的字段名称列表指定。

检索所有在美国的地址和名称为“ Bob”的客户

GET /admin/api/2021-01/customers/search.json?query=Bob国家/地区:美国

查看回应

得到/admin/api/2021-01/customers/{customer_id}.json 检索单个客户。
领域 仅显示某些字段,这些字段由逗号分隔的字段名称列表指定。

通过其ID检索单个客户

GET /admin/api/2021-01/customers/207119551.json

查看回应

邮政/admin/api/2021-01/customers.json 创建一个客户。

创建新的客户记录

POST /admin/api/2021-01/customers.json

{

“客户” : {

  1. first_name :“史蒂夫”,
  2. last_name :“姓氏”,
  3. “电子邮件” :“ steve.lastnameson@example.com”,
  4. “电话” :“ + 15142546011”,
  5. verified_email :是,
  6. “地址” [
  7. {
  8. address1 :“ 123 Oak St”,
  9. city :“渥太华”,
  10. “省” :“开”,
  11. “电话” :“ 555-1212”,
  12. zip :“ 123 ABC”,
  13. last_name :“姓氏”,
  14. first_name :“母亲”,
  15. country :“ CA
  16. }
  17. ]

}

}

查看回应

创建没有电子邮件或姓名的客户失败并返回错误

POST /admin/api/2021-01/customers.json

{

“客户” : {

  1. “电子邮件” :空,
  2. first_name null
  3. last_name null

}

}

查看回应

使用元字段创建客户

POST /admin/api/2021-01/customers.json

{

“客户” : {

  1. first_name :“史蒂夫”,
  2. last_name :“姓氏”,
  3. “电子邮件” :“ steve.lastnameson@example.com”,
  4. “电话” :“ + 15142546011”,
  5. verified_email :是,
  6. “地址” [
  7. {
  8. address1 :“ 123 Oak St”,
  9. city :“渥太华”,
  10. “省” :“开”,
  11. “电话” :“ 555-1212”,
  12. zip :“ 123 ABC”,
  13. last_name :“姓氏”,
  14. first_name :“母亲”,
  15. country :“ CA
  16. }
  17. ],
  18. metafields [
  19. {
  20. key :“ new”,
  21. value :“ newvalue”,
  22. value_type :“字符串”,
  23. namespace :“ global
  24. }
  25. ]

}

}

查看回应

通过创建客户 send_email_invite

POST /admin/api/2021-01/customers.json

{

“客户” : {

  1. first_name :“史蒂夫”,
  2. last_name :“姓氏”,
  3. “电子邮件” :“ steve.lastnameson@example.com”,
  4. “电话” :“ + 15142546011”,
  5. verified_email :是,
  6. “地址” [
  7. {
  8. address1 :“ 123 Oak St”,
  9. city :“渥太华”,
  10. “省” :“开”,
  11. “电话” :“ 555-1212”,
  12. zip :“ 123 ABC”,
  13. last_name :“姓氏”,
  14. first_name :“母亲”,
  15. country :“ CA
  16. }
  17. ],
  18. send_email_invite true

}

}

查看回应

使用password和创建客户,然后password_confirmation跳过发送欢迎电子邮件

POST /admin/api/2021-01/customers.json

{

“客户” : {

  1. first_name :“史蒂夫”,
  2. last_name :“姓氏”,
  3. “电子邮件” :“ steve.lastnameson@example.com”,
  4. “电话” :“ + 15142546011”,
  5. verified_email :是,
  6. “地址” [
  7. {
  8. address1 :“ 123 Oak St”,
  9. city :“渥太华”,
  10. “省” :“开”,
  11. “电话” :“ 555-1212”,
  12. zip :“ 123 ABC”,
  13. last_name :“姓氏”,
  14. first_name :“母亲”,
  15. country :“ CA
  16. }
  17. ],
  18. password :“ newpass”,
  19. password_confirmation :“ newpass”,
  20. send_email_welcome false

}

}

查看回应

/admin/api/2021-01/customers/{customer_id}.json 更新客户。

更新客户的详细信息

PUT /admin/api/2021-01/customers/207119551.json

{

“客户” : {

  1. id 207119551
  2. “电子邮件” :“ changed@email.address.com”,
  3. note :“客户是个好人”

}

}

查看回应

将元字段添加到现有客户

PUT /admin/api/2021-01/customers/207119551.json

{

“客户” : {

  1. id 207119551
  2. metafields [
  3. {
  4. key :“ new”,
  5. value :“ newvalue”,
  6. value_type :“字符串”,
  7. namespace :“ global
  8. }
  9. ]

}

}

查看回应

更新客户的标签

PUT /admin/api/2021-01/customers/207119551.json

{

“客户” : {

  1. id 207119551
  2. “标签” :“新客户,回头客”

}

}

查看回应

更新客户的营销选择加入状态

PUT /admin/api/2021-01/customers/207119551.json

{

“客户” : {

  1. id 207119551
  2. accepts_marketing :是,
  3. accepts_marketing_updated_at :“ 2021-02-09T134958-0500”,
  4. marketing_opt_in_level :“ confirmed_opt_in

}

}

查看回应

邮政/admin/api/2021-01/customers/{customer_id}/account_activation_url.json

为尚未启用帐户的客户生成帐户激活URL。当您导入了大量客户并希望一次向他们发送激活电子邮件时,这很有用。使用这种方法,您需要自己生成并发送激活电子邮件。

该端点生成的帐户激活URL只能使用一次,并且将在30天后过期。如果您对此端点发出新的POST请求,那么将生成一个新的URL。新的URL将再次有效30天,但先前的URL将不再有效。

为邀请或禁用的客户创建帐户激活URL

POST /admin/api/2021-01/customers/207119551/account_activation_url.json

{

}

查看回应

为已启用的客户创建帐户激活URL失败并返回错误

POST /admin/api/2021-01/customers/207119551/account_activation_url.json

{

}

查看回应

邮政/admin/api/2021-01/customers/{customer_id}/send_invite.json 向客户发送帐户邀请。

发送默认邀请

POST /admin/api/2021-01/customers/207119551/send_invite.json

{

“ customer_invite” : {}

}

查看回应

发送自定义邀请

POST /admin/api/2021-01/customers/207119551/send_invite.json

{

“ customer_invite” : {

  1. “到” :“new_test_email@shopify.com”,
  2. “来自” :“ noaccesssteve@jobs.com”,
  3. “密件抄送” [
  4. noaccesssteve@jobs.com
  5. ],
  6. subject :“欢迎来到我的新店”,
  7. custom_message :“我的新店很棒”

}

}

查看回应

删除/admin/api/2021-01/customers/{customer_id}.json 删除客户。如果客户有现有订单,则不能将其删除。

删除现有客户

删除/admin/api/2021-01/customers/207119551.json

查看回应

得到/admin/api/2021-01/customers/count.json 检索所有客户的数量。

检索所有客户

GET /admin/api/2021-01/customers/count.json

查看回应

得到/admin/api/2021-01/customers/{customer_id}/orders.json 检索属于客户的所有订单。订单资源可用的查询字符串参数也可用于此端点。

检索客户的所有订单

GET /admin/api/2021-01/customers/207119551/orders.json

查看回应