如果是版本v2的调查问题,那么' https://api.surveymonkey.net/v2/batch/send_flow'使用包含接收列表的正文列表将简单地将所有收件人emailID添加到邮件中。
但是对于版本v3,是否有一种简单的方法可以批量添加所有收件人并为所有收件人发送电子邮件?以下流程发送邮件只会添加一个收件人emailID,否则我们必须进行多次POST调用" POST / collectors / {id} / messages / {id} / recipients"每次都有一个新的emailID。我们如何通过一个api呼叫将所有emailID添加到收件人列表中并向该收件人列表发送消息?
POST / surveys / {id} / collectors - > POST / collectors / {id} / messages - > POST / collectors / {id} / messages / {id} / recipients - > POST / collectors / {id} / messages / {id} / send
答案 0 :(得分:3)
唯一的方法就是你现在在V3中建议的方式。我要添加的唯一内容是bulk recipient endpoint。
所以你会
POST /collectors/{id}/messages/{id}/recipients/bulk
{
"contact_ids": ["1000", "10001"]
}
更愿意将其拆分的部分原因是为了更好地进行交易管理。例如,如果您调用send_flow并创建收集器和消息,那么出于任何原因尝试添加收件人时出错,您将留下延迟收集器/消息。这样你就可以自己处理每个错误案例中发生的事情。
SurveyMonkey正在考虑发布一些具有封装功能的SDK,以及可能的批处理请求端点,但截至目前,这是在API中发送消息的过程。
批量收件人端点的使用示例:
您可以像这样一起在邮件中添加联系人列表:
POST /collectors/{id}/messages/{id}/recipients/bulk
{
"contact_list_ids": ["2000", "20001"]
}
您可以一次性添加联系人列表中的所有联系人,如下所示:
POST /collectors/{id}/messages/{id}/recipients/bulk
{
"contacts": [{
"email": "user1@example.com",
"first_name": "User 1",
"last_name": "Testing"
},{
"email": "user2@example.com",
"first_name": "User 2",
"last_name": "Testing"
}]
}
或者您可以通过电子邮件手动添加任意数量的联系人:
{{1}}
我相信你可以从一个请求中添加所有这三种方法。