【问题标题】:Mailjet: delete contactMailjet:删除联系人
【发布时间】:2018-10-14 16:17:15
【问题描述】:

是否可以从mailjet实际删除contact

他们的contact API doc 甚至没有将delete 列为受支持的操作。

from mailjet_rest import Client

mailjet = Client(auth=(MAILJET_API_KEY, MAILJET_API_SECRET), version='v3')
mailjet.contact.delete(<contact-id>).json()
{'ErrorInfo': '', 'ErrorMessage': 'Operation not allowed', 'StatusCode': 401}

我有兴趣删除contact,而不是list recipient,因此这个问题不是How can i delete a contact from a list with the mailjet api and php? 的重复。

【问题讨论】:

    标签: python api mailjet


    【解决方案1】:

    拥有被删除的权利和GDPR迫在眉睫,我也会对此感兴趣。他们的支持团队表示这是不可能的,您必须联系他们,以便他们手动删除联系人?!

    【讨论】:

    • 嗯,可用性 101。
    【解决方案2】:

    API reference 似乎还没有用 DELETE 方法更新,但在API guides 下似乎有关于如何删除联系人的信息:

    检索联系人

    要删除联系人,您必须首先确定其在您帐户的联系人数据库中的存在。

    使用 GET /contact/$CONTACT_EMAIL 来完成。

    curl -s \
        -X GET \
        --user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
        https://api.mailjet.com/v3/REST/contact/$CONTACT_EMAIL 
    

    删除联系人

    使用您检索到的 {contact_ID} 通过 /v4/contacts/{contact_ID} 端点删除联系人。删除成功后,API 会返回 200 OK 状态。任何其他响应都将表明删除未成功处理。

    curl -s \
        -X DELETE \
        --user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
        https://api.mailjet.com/v4/contacts/{contact_ID} \
    

    注意:这是 /v4 端点,而不是 /v3

    【讨论】:

    • 请务必记住,此操作不是永久性的,因此您的服务还应注意不要在进一步的交易电子邮件中使用联系电子邮件。 API 指南指出:删除联系人不会阻止您以后重新上传相同的联系人。如果您使用外部数据库将联系人与您的 Mailjet 联系人数据库同步,请确保同时从中删除联系人。
    【解决方案3】:

    在 Python 中,使用简单的删除请求

    import requests
    public_api_key = 'YOUR PUBLIC MAILJET KEY'
    private_api_key = ''YOUR PRIVATE MAILJET KEY''
    id = 'ID OF CONTACT'
    
    url = 'https://api.mailjet.com/v4/contacts/'+id
    
    x = requests.delete(url, auth = (api_key, api_secret))
    
    print(x.status_code)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多