新用户API POST

我卡住了,不知道这仅仅是我自己的错误、收到了误报,还是其他问题。

当我通过 Postman 发送 POST 请求时,会收到 SUCCESS 消息:
https://site.co/users.json?Api-Key=12345abcde12345&Api-Username=system&email=name@email.co&group_names=Alumni&custom_message=Welcome321

消息内容:

{
    "success": true,
    "active": false,
    "message": "<p>您快完成了!我们已向 <b>name@email.co</b> 发送了激活邮件。请按照邮件中的说明激活您的账户。</p><p>如果未收到邮件,请检查您的垃圾邮件文件夹。</p>"
}

然而,当我检查收件箱时,没有任何通知。我的 /logs 中也没有记录,更没有创建用户。

为了排查问题,我尝试发送一个简单的 GET 请求:

https://site.co/admin/email.json?Api-Key=12345abcde12345&Api-Username=system

我没有收到成功回复。返回的内容是 <!DOCTYPE html> ...

于是我手动访问 https://site.co/admin/email.json,看到:
{"delivery_method":"smtp","settings":[{"name":"address","value":"smtp.sendgrid.net"},{"name":"port","value":2525},{"name":"user_name","value":"apikey"},{"name":"authentication","value":"plain"},{"name":"enable_starttls_auto","value":true}]}

有什么建议可以试试吗?我的目标是通过 Webhook/POST 邀请新用户并将其添加到群组中。

您需要将 API 密钥移到请求头中。

很久以前,我通过创建、停用并重新激活用户的方式,解决了我认为与您相同的问题。

您的脚本是 JavaScript(jQuery)。使用 type="application/json" 通常是为了在脚本中包含 JSON 数据,而不是 JavaScript 代码。示例如下:

<script id="data" type="application/json">
{"org": 10, "items":["one","two"]}
</script>

据我所知,您的脚本标签应该如下所示:

<script>
$.ajax({
method: "POST",
url: "https://site.co/invites",
headers: { "Api-Username": "system", "Api-Key": "12345" },
data: { 
"email": "grow@site.co",
"group_names": "Alumni",
"custom_message": "Welcome123"
}
});
</script>

对于 JavaScript,您不再需要指定 type="javascript",因为该属性早已过时。