【问题标题】:How to update specific contact using SendGrid API如何使用 SendGrid API 更新特定联系人
【发布时间】:2022-06-14 10:46:38
【问题描述】:

为了支持 GDPR 用户的纠正权,我们需要允许我们的用户更新他们的个人记录。

在仔细审查了 SendGrid API 之后,我们没有找到用于更新特定联系人详细信息的 API 调用。

SendGrid API 参考:https://docs.sendgrid.com/api-reference/

例如,我们希望允许用户将电子邮件从旧电子邮件地址更改为新电子邮件地址。

到目前为止,我们使用 SendGrid API 来查找用户记录。

curl -X POST https://api.sendgrid.com/v3/marketing/contacts/search/emails \
--header "Authorization: Bearer <<YOUR_API_KEY_HERE>>" \
--data "{'emails': ['jane_doe@example.com', 'john_doe@example.com', 'joann_doe@example.com']}"

如果用户 {id} 已知,我们还可以加载联系方式。

GET GET /marketing/contacts/{id}

如果有人能告诉我们如何更新特定的用户详细信息,那就太好了。

例如:

POST GET /marketing/contacts/{id}

谢谢

【问题讨论】:

    标签: sendgrid sendgrid-api-v3


    【解决方案1】:

    这里是 Twilio SendGrid 开发人员宣传员。

    当您add or update a contact with the API 时,记录由电子邮件地址键入。这意味着您无法直接更新联系人的电子邮件地址。相反,您应该 delete the old contact 并添加一个新的。

    【讨论】:

    • 你好。删除用户记录操作将重置用户统计信息。我们希望防止这种情况发生。
    • 恐怕这是我为您提供的最佳答案。我建议联系SendGrid support 看看他们是否可以提供帮助。
    【解决方案2】:

    https://docs.sendgrid.com/api-reference/contacts/add-or-update-a-contact

    如果系统中已经存在联系人,则通过 此端点将更新现有联系人。要更新的联系人 将仅由电子邮件字段和省略的任何字段确定 请求将保持原样。联系人的 ID 不能用于 更新联系人。

    正如网站所述,电子邮件地址是联系人的唯一标识符,并且只能使用电子邮件地址更新联系人。因此,您不能用新的电子邮件地址更新联系人的电子邮件地址,但可以更新联系人的任何其他字段。

    这是一个用于更新现有联系人详细信息的示例查询。

    curl -X PUT 'https://api.sendgrid.com/v3/marketing/contacts' \ 
    -H 'Authorization: <<YOUR_SENDGRID_API_KEY_HERE>>' \ 
    -d '{"contacts": [{"email":"john_doe@example.com", "state_province_region":"CO","postal_code":"80503"}]}'
    

    【讨论】:

    • 我们希望能够将电子邮件地址从旧地址更改为新地址。
    【解决方案3】:

    可以更新联系方式,包括电子邮件地址。您可以使用Add or Update a Contact 来执行此操作。

    这样做的方法是通过他们的电子邮件地址使用Get Contacts by Emails获取联系人。

    获得联系人后,您只需复制联系人对象,覆盖电子邮件属性,然后通过将修改后的联系人对象作为请求正文传递来发出更新请求。


    注意事项:

    您可能有一些自定义 ID 会阻止联系人更新成功。原因是为了更新自定义字段,您需要将 ids 作为自定义字段而不是它们各自的名称传递(名称是从获取联系人查询返回的,而不是 id)。为了快速处理这个问题,您可以简单地从您传递的要更新的联系人对象的副本中删除 custom_fields 属性。 最终,一旦更新完成,更新后的联系人(使用新的电子邮件地址)将拥有相同的 ID(以及其他相关详细信息)。

    您还会注意到完成更新需要几秒钟,这意味着您不会立即看到更新的联系人。

    一段时间后,您可以通过用户的旧电子邮件 (404) 和新电子邮件 (200) 来确认更新是否成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      相关资源
      最近更新 更多