diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2023-07-06 15:55:10 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2023-07-06 15:55:10 +0700 |
| commit | 21ee3f19583c28c3df3785eda0e6ce4b4ef7e48d (patch) | |
| tree | 8abb7308eaf3e5fe701180862cf88662f4d563b2 | |
| parent | 93f85a378d6a8ea5b04a4320346a1a8decd01514 (diff) | |
API airway bill
| -rw-r--r-- | indoteknik_api/controllers/api_v1/sale_order.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index c1665b72..038508c4 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -418,3 +418,23 @@ class SaleOrder(controller.Controller): } return self.response(data) + + @http.route('/api/sale_order/<id>/airway', auth='public', methods=['GET']) + def get_sale_order_airway_bill_by_id(self, **kw): + if not self.authenticate(): + return self.unauthorized_response() + + id = kw.get('id') + airway_bill = request.env['airway.bill'].search([('so_id', '=', id)], limit=1) + + data = airway_bill.decode_response() + result = data['rajaongkir']['result'] + + response = { + 'delivery_status': result['delivery_status'], + 'manifest': result['manifest'], + 'delivered': result['delivered'], + 'waybill_number': result['summary']['waybill_number'] + } + + return self.response(response)
\ No newline at end of file |
