Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
1 Ответить
5378 Представления

I am using Trello webhooks to synchronize Odoo project module, In order to create a webhook, I have to first validate the controller in Odoo and if the controller successfully returned then Trello will start sending data to the same controller which I have used for verification but the issue is during controller verification, Trello called the controller using HTTP type and after validation they send data to the same controller called by JSON type, which I am not sure how to achieve.

So basically during validation, it should be the controller.

@http.route('/trello/webhook',type="http", auth='public')
def trelloWebhook(self, **kwagrs):
pass

and after verification, It should be like this

@http.route('/trello/webhook',type="json", auth='public') 
def trelloWebhook(self, **kwagrs):
pass
How to handle same controller for two different types.

Аватар
Отменить
Лучший ответ

You can create two controllers like this to solve.

    @http.route('/trello', type='http', auth="none", methods=['GET'], csrf=False)
    def trello_webhook_test(self, **kwargs):
        res = request.httprequest
        if res.method == 'HEAD':
            return ''
    
    @http.route('/trello', type='json', auth="none", methods=['POST'], csrf=False)
    def trello_webhook_response(self, **kwargs):
        res = request.jsonrequest and request.jsonrequest or {}
        # your code...
          
Аватар
Отменить
Related Posts Ответы Просмотры Активность
1
авг. 21
5780
0
февр. 21
2418
0
июл. 19
216
2
дек. 18
4128
5
нояб. 18
7708