【发布时间】:2019-12-26 09:21:40
【问题描述】:
我正在使用允许我检查用户是否连接到任何帐户(亚马逊、Ebay、Prestashop 等)的 API。
建立连接后,我会在 JSON 中收到一个 webhook,如下所示:
Parameters: {"connection"=>{"informations"=>{}, "connector_uuid"=>"3180ba23-2b75-5abe-b14d-69a42835474d", "id_user"=>626, "created"=>"2019-12-26 10:03:41", "id_provider"=>940, "error_message"=>nil, "last_push"=>nil, "last_update"=>"2019-12-26 10:03:45", "connector"=>{"sync_frequency"=>nil, "code"=>nil, "uuid"=>"3180ba23-2b75-5abe-b14d-69a42835474d", "documents_type"=>["bill"], "color"=>"c8ee20", "auth_mechanism"=>"credentials", "capabilities"=>["document"], "id"=>470, "available_auth_mechanisms"=>["credentials"], "beta"=>true, "months_to_fetch"=>nil, "urls"=>["https://addons.prestashop.com"], "siret"=>nil, "hidden"=>false, "charged"=>true, "slug"=>"PRE", "categories"=>[], "name"=>"PrestaShop"}, "active"=>true, "state"=>nil, "expire"=>nil, "accounts"=>[], "error"=>nil, "subscriptions"=>[{"id_source"=>604, "documents"=>[], "id_user"=>696, "deleted"=>nil, "id_connection"=>708, "number"=>"test01@gmail.com", "validity"=>nil, "label"=>"test@gmail.com", "subscriber"=>"John Doe", "currency"=>nil, "disabled"=>nil, "error"=>"bug", "id"=>550, "formatted_balance"=>nil, "renewdate"=>nil, "balance"=>nil, "last_update"=>nil}], "next_try"=>"2019-12-27 14:03:45", "id_connector"=>440, "id"=>608}, "push_type"=>"partial_history", "user"=>{"signin"=>"2019-12-26 10:03:08", "platform"=>"sharedAccess", "id"=>626}, "invoice"=>{"connection"=>{"informations"=>{}, "connector_uuid"=>"3180ba23-2b75-5abe-b14d-69a42835474d", "id_user"=>926, "created"=>"2019-12-26 10:03:41", "id_provider"=>480, "error_message"=>nil, "last_push"=>nil, "last_update"=>"2019-12-26 10:03:45", "connector"=>{"sync_frequency"=>nil, "code"=>nil, "uuid"=>"3180ba23-2b75-5abe-b14d-69a42835474d", "documents_type"=>["bill"], "color"=>"c8ee20", "auth_mechanism"=>"credentials", "capabilities"=>["document"], "id"=>440, "available_auth_mechanisms"=>["credentials"], "beta"=>true, "months_to_fetch"=>nil, "urls"=>["https://addons.prestashop.com"], "siret"=>nil, "hidden"=>false, "charged"=>true, "slug"=>"PRE", "categories"=>[], "name"=>"PrestaShop"}, "active"=>true, "state"=>nil, "expire"=>nil, "accounts"=>[], "error"=>nil, "subscriptions"=>[{"id_source"=>699, "documents"=>[], "id_user"=>926, "deleted"=>nil, "id_connection"=>608, "number"=>"test01@gmail.com", "validity"=>nil, "label"=>"compere01@gmail.com", "subscriber"=>"John Doe", "currency"=>nil, "disabled"=>nil, "error"=>"bug", "id"=>550, "formatted_balance"=>nil, "renewdate"=>nil, "balance"=>nil, "last_update"=>nil}], "next_try"=>"2019-12-27 14:03:45", "id_connector"=>490, "id"=>908}, "push_type"=>"partial_history", "user"=>{"signin"=>"2019-12-26 10:03:08", "platform"=>"sharedAccess", "id"=>626}}}
你知道如何在我的视图中显示这个JSON 吗?
我试过了,在我的控制器中:
def webhooks
render json: response.body, status: 200
puts response.body.inspect
end
但在我看来,什么都没有发生,我的控制台中有 JSON,但我的 puts 渲染了一个空字符串。
【问题讨论】:
-
你得到
JSON作为参数,你需要渲染参数而不是response.body。
标签: ruby-on-rails json ruby webhooks