Я пытаюсь использовать 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