1

Я пытаюсь понять, как работает webhook. Я понимаю, что он способен подключать два разных приложения. Если я отправить webhook с URLRuby on Rails: Захват данных JSON из webhook?

локальный: 3000/приемник

в одно приложение, и у меня есть приложение, с помощью метода

def receiver 

end 

Я задавался вопросом, если я не» я знаю, что будет вызвано обратным вызовом из webhook, как бы я захватил данные? Как сохранить данные JSON, которые связаны с моим приложением? Я думал, может быть, сэкономить какой-нибудь файл, чтобы узнать, что это за объекты, но я все еще довольно новичок и не уверен, как записывать данные JSON?

Благодаря

ответ

0
  1. Несомненно, webhook а является инструментом для sincronize два приложения
  2. Вы ДОЛЖНЫ доу знать структуру входящего JSON, потому что вам нужно, чтобы получить информацию внутри
  3. По определению webhook отправляется методом POST, так что вы можете захватить его просто осматривая тело ходатайства, т.е.

    webHook = JSON.parse(params[:something]) 
    

Попробуйте с помощью github web hooks и опубликуйте приложение в heroku, api очень хорошо документирован и есть много примеров.

+0

Я хотел бы знать, как захватить любое значение вместо того, чтобы находить Params. Что делать, если я не знаю, какие параметры? – hellomello

+0

Вы можете проверить значения в каждом методе, но вы, как хорошая практика, чтобы сопоставить значения с db, должны знать структуру параметров, взгляните на провайдера api, он покажет вам структуру сообщений, то есть http://developer.github.com/v3/repos/comments/ – rderoldan1

3

Если вы уверены, что webhook возвращается в JSON, вы можете так что-то вроде этого

data_json = JSON.parse request.body.read 
+0

Добавленная выгода от использования этого также связана с входящими параметрами, которые называются теми же, что и используемые рельсы. Например, 'params [: action]'. Если есть входящий параметр, называемый ': action', он будет перезаписан рельсами – Brandt