diff options
| author | Indoteknik . <it@fixcomart.co.id> | 2025-05-31 12:52:01 +0700 |
|---|---|---|
| committer | Indoteknik . <it@fixcomart.co.id> | 2025-05-31 12:52:01 +0700 |
| commit | c73872a03e13203b0e335cef9270ca296363de61 (patch) | |
| tree | a0c695b26bf86ad13ec0f4d9cda9d119ca064383 /indoteknik_api | |
| parent | ab3b534beaaa9be924741e72c0280289fe6ac5a0 (diff) | |
(andri) try add webhook
Diffstat (limited to 'indoteknik_api')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/stock_picking.py | 54 |
1 files changed, 38 insertions, 16 deletions
diff --git a/indoteknik_api/controllers/api_v1/stock_picking.py b/indoteknik_api/controllers/api_v1/stock_picking.py index efcc56eb..61880132 100644 --- a/indoteknik_api/controllers/api_v1/stock_picking.py +++ b/indoteknik_api/controllers/api_v1/stock_picking.py @@ -143,26 +143,48 @@ class StockPicking(controller.Controller): 'name': picking_data.name }) + # @http.route(prefix + 'webhook/biteship', type='json', auth='public', methods=['POST'], csrf=False) + # def udpate_status_from_bitehsip(self, **kw): + # try: + # if not request.jsonrequest: + # return "ok" + + # data = request.jsonrequest # Ambil data JSON dari request + # event = data.get('event') + + # # Handle Event Berdasarkan Jenisnya + # if event == "order.status": + # self.process_order_status(data) + # elif event == "order.price": + # self.process_order_price(data) + # elif event == "order.waybill_id": + # self.process_order_waybill(data) + + # return {'success': True, 'message': f'Webhook {event} received'} + # except Exception as e: + # return {'success': False, 'message': str(e)} + @http.route(prefix + 'webhook/biteship', type='json', auth='public', methods=['POST'], csrf=False) def udpate_status_from_bitehsip(self, **kw): try: - if not request.jsonrequest: - return "ok" - - data = request.jsonrequest # Ambil data JSON dari request - event = data.get('event') - - # Handle Event Berdasarkan Jenisnya - if event == "order.status": - self.process_order_status(data) - elif event == "order.price": - self.process_order_price(data) - elif event == "order.waybill_id": - self.process_order_waybill(data) - - return {'success': True, 'message': f'Webhook {event} received'} + # Selalu return "ok" dulu biar bisa daftar webhook + return "ok" + + # TODO: Uncomment code dibawah setelah webhook berhasil terdaftar + # data = request.jsonrequest + # event = data.get('event') + + # if event == "order.status": + # self.process_order_status(data) + # elif event == "order.price": + # self.process_order_price(data) + # elif event == "order.waybill_id": + # self.process_order_waybill(data) + + # return {'success': True, 'message': f'Webhook {event} received'} + except Exception as e: - return {'success': False, 'message': str(e)} + return "ok" def process_order_status(self, data): picking_model = request.env['stock.picking'].sudo().search([('biteship_id', '=', data.get('order_id'))], |
