Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
1 Vastaa
5283 Näkymät

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.

Avatar
Hylkää
Paras vastaus

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...
          
Avatar
Hylkää
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
1
elok. 21
5614
0
helmik. 21
2319
0
heinäk. 19
216
2
jouluk. 18
4003
5
marrask. 18
7528