Rails5: Как протестировать запрос API webhook на Heroku - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь использовать webhook логистического API для изменения моего статуса Order на основе их запроса webhook. API Create Order запрос работает нормально, но когда я Cancel Order просто запрашиваю только запрос с моего сервера на сервер API, статус Order все равно не изменится. Я не уверен, что веб-крючок работает или нет

Заголовок запроса Webhook Content-Type равен application/json.

Тело как:

{
"OrderCode": "DC5D4NFUH",
"CurrentStatus": "Picking" //other status: delivered, cancel
}


//order.rb model 
 enum status: {
    in_progress: 0,
    shipping: 1,
    complete: 2,
    cancel: 3
}


//routes.rb
  post 'orders/api_webhook', to: 'orders#api_webhook' 


//orders_controller.rb
 class OrdersController < ApplicationController
  skip_before_action :verify_authenticity_token
  def api_webhook
   event = JSON.parse(request.body.read)
   if event['OrderCode']
    @payment = Payment.find_by(order_code: event['OrderCode'])
    case event['CurrentStatus']
     when "Picking"
       @payment.status = 1
     when "Delivered"
       @payment.status = 2
     when "Cancel"
       @payment.status = 3
    end
   @payment.save
  end
 end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...