SendGrid添加/更新联系人时list_ids参数使用报错求助
正确使用SendGrid添加/更新联系人接口的list_ids参数
核心问题
你遇到的400错误大概率是因为把list_ids放错了位置——它是请求体的顶级参数,不属于单个联系人对象的属性,官方示例没展示这个参数的用法,但接口文档明确支持。
正确请求结构
请求体需要包含两个顶级字段:
contacts: 数组,存放单个或多个联系人的详细信息(邮箱、姓名等)list_ids: 数组,存放要关联的联系人列表ID(即使只关联一个列表,也要用数组格式)
完整curl示例
curl --request PUT \ --url https://api.sendgrid.com/v3/marketing/contacts \ --header 'Authorization: Bearer YOUR_API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "list_ids": ["YOUR_TARGET_LIST_ID"], "contacts": [ { "email": "jane.smith@example.com", "first_name": "Jane", "last_name": "Smith" } ] }'
关键注意事项
- 确保
list_ids里的列表ID已经在SendGrid后台创建,不存在的ID会直接触发400错误 - 如果是更新现有联系人,这个参数会直接替换该联系人关联的所有列表,不是追加;如果需要追加列表,得用「添加联系人到列表」的单独接口
- 请求体必须严格符合JSON格式,比如逗号、括号不要遗漏,所有字符串用双引号包裹
内容的提问来源于stack exchange,提问作者Mohamed Kamal
相关产品推荐
相关产品推荐

