创建和更新用户
了解什么是 Marqeta 用户,以及如何创建和更新用户。
一个Marqeta用户,也称为持卡人,是指拥有Marqeta卡片的个人。Marqeta用户可以使用与实体或虚拟Marqeta卡关联的账户资金。每位Marqeta用户同时也是账户持有人,因为每个用户都拥有一个通用目的账户(GPA),可用于资金转账。
此外,Marqeta用户之间存在父子关系,其中某个用户或企业可以作为另一个用户的父级。企业本身不持有任何卡片,但其子用户可以持有。企业可以作为其他用户的父级。在卡片使用方面,这种关系使父账户能够对子账户进行一定程度的控制,例如监控或限制子账户的卡片使用。同时,该关系还允许子用户共享父账户的资金,从而访问父账户中的资金。
这种父子关系可以延伸至多层。这意味着一个普通用户账户可以是企业的子账户,同时又是另一个用户的父账户。在这种情况下,普通用户不能使用其父账户的余额,但该普通用户的子账户可以被配置为使用其父账户(即该普通用户)的余额。
在本课程中,我们将学习如何创建和更新Marqeta用户。
创建Marqeta用户
我们可以通过向 {BASE_URL}/users 端点发送 POST 请求来创建一个Marqeta用户。可以在请求体中提供用户的基本信息。如果要创建子用户,则必须为 parent_token 提供值。此外,若希望子用户与父账户共享资金,可将 uses_parent_account 字段设为 True。
注意:如果子用户与父用户共享账户,当父账户处于非活跃状态时,子用户将无法使用资金,但仍可激活卡片。
请求参数
| 参数 | 类型 | 分类 | 说明 |
|---|---|---|---|
| first_name | 字符串 | 可选 | 名字,最大长度40个字符 |
| last_name | 字符串 | 可选 | 姓氏,最大长度40个字符 |
| 字符串 | 可选 | 用户邮箱地址,长度1–255字符。注意:所有用户中邮箱必须唯一。 | |
| password | 字符串 | 可选 | 账户密码,最大长度255字符。条件:至少包含一个数字、一个小写字母、一个大写字母,以及以下符号之一:@ # $ % ! ^ & * ( ) \ _ + ~ ` - = [ ] { } , ; : ' " , . / < > ? |
| address1 | 字符串 | 可选 | 用户地址,最大长度255字符 |
| country | 字符串 | 可选 | 用户地址对应的国家,最大长度40字符 |
| phone | 字符串 | 可选 | 用户电话号码,格式:+00000000000,最大长度255字符 |
| company | 字符串 | 可选 | 公司名称,最大长度255字符 |
| token | 字符串 | 可选 | 用户的唯一标识符,长度1–36字符。若未指定,系统将自动生成。一旦设置后不可更改。 |
| uses_parent_account | 布尔值 | 可选 | 若子账户与父账户共享余额,则设为 True;否则为 False。默认值为 False。注意:若设为 True,则必须同时设置 parent_token。该字段一旦设置后不可更改。 |
| parent_token | 字符串 | 可选 | 作为当前用户父级的用户或企业的令牌。注意:当 uses_parent_account = True 时,此参数为必填项。 |
| active | 布尔值 | 可选 | 用户状态 |
注意:上述输入参数列表并非完整。其余参数请参阅 Marqeta 官方 API 文档。
第4-5行:我们为两个可选参数 first_name 和 last_name 添加了值。
注意:您也可以填写表格中列出的其他可选参数。
点击下方代码框中的“运行”按钮,查看输出结果。
1url = '{{BASE_URL}}users' 2 3data = json.dumps({ 4 "first_name": "", 5 "last_name": "" 6}) 7 8response = requests.post(url, headers=headers, data=data) 9 10printResponse(response)
代码成功执行后,输出将显示包含所有请求数据字段的完整用户对象。系统会提取 token 字段并保存为 USER_TOKEN。我们将在后续课程中使用此令牌来更新用户并执行其他操作。
若执行失败,将显示相应的错误信息。
更新Marqeta用户
我们可以通过向 {BASE_URL}/users/{token} 端点发送 PUT 请求来更新Marqeta用户。路径参数({token})指代要更新的用户的令牌。同时,还需在请求体中指定需要更新的字段。
路径参数
| 参数 | 类型 | 分类 | 说明 |
|---|---|---|---|
| token | 字符串 | 必填 | 要更新的用户的令牌 |
注意:请参考上文「创建Marqeta用户」中的输入参数表,了解可更新的字段。除该表中受限字段外,其余字段均可更新。
在下面的代码中,我们修改了指定用户的 last_name。
注意:您可以选择更新之前创建用户时所用表格中的任意属性。
第1行:token 使用了前例中保存的 USER_TOKEN 值。如果您想更新其他用户,可自行修改该值。
第6行:请输入 last_name 的新值。
点击下方代码框中的“运行”按钮,查看输出结果。
1token = '{{USER_TOKEN}}' 2 3url = '{{BASE_URL}}users/' + token 4 5data = json.dumps({ 6 "last_name": "" 7}) 8 9response = requests.put(url, headers=headers, data=data) 10 11printResponse(response)
代码成功执行后,输出将显示与给定 token 对应的完整用户对象,包含所有请求的数据字段,包括刚刚更新的内容。
若执行失败,将显示相应的错误信息。