Sendgrid webhook响应没有收到rails?

时间:2018-02-01 15:07:39

标签: ruby-on-rails ruby email sendgrid webhooks

我是ruby on rails的新手,我正在研究sendgrid event webhooks for email。 我已经成功整合了电子邮件发送系统,但现在我想跟踪电子邮件事件。

我已经设置了一个带路径的控制器和方法来接收webhook响应。

当我直接点击链接时,每件事都运行正常,但是当我尝试使用sendgrid webhook测试工具测试它时,没有任何反应。我不知道它有什么问题。在网站或我的日志中没有显示错误。

这是我的路线

post 'apis/email_events', :to => 'apis#email_events'

测试端点的工具网址

http://localhost:8090/apis/email_events

控制器代码

class ApisController < ApplicationController
    protect_from_forgery with: :null_session
    require 'json'

def email_events
    email = params["_json"][0]["email"]
    event  = params["_json"][0]["event"]
    time = params["_json"][0]["timestamp"]
    EmailInvite.create(email:email,status:event)
end 

结束

当我使用带有json响应的postman命中同一个端点时,每件事情都运行正常,我在数据库中获得了记录,但是使用了sendgrid测试工具它没有用。

[
  {
    "email":"john.doe@sendgrid.com",
    "timestamp": 1337197600,
    "smtp-id":"<4FB4041F.6080505@sendgrid.com>",
    "sg_event_id":"sendgrid_internal_event_id",
    "sg_message_id":"sendgrid_internal_message_id",
    "event": "processed"
  },
  {
    "email":"john.doe@sendgrid.com",
    "timestamp": 1337966815,
    "ip":"X.XX.XXX.XX",
    "sg_event_id":"sendgrid_internal_event_id",
    "url":"https://sendgrid.com",
    "sg_message_id":"sendgrid_internal_message_id",
    "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
    "event":"click"
  },
  {
    "ip": "X.XX.XXX.XX",
    "sg_user_id": 123,
    "sg_event_id":"sendgrid_internal_event_id",
    "sg_message_id":"sendgrid_internal_message_id",
    "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
    "event": "group_unsubscribe",
    "email": "john.doe@sendgrid.com",
    "timestamp": 1337969592,
    "asm_group_id": 42
  }
]

提前致谢。

0 个答案:

没有答案