diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2025-01-28 14:58:05 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2025-01-28 14:58:05 +0700 |
| commit | 346b6dc89cbde3640413714175cdc438544a664c (patch) | |
| tree | 196835c3ab4d9753bd161e581fab3d43aacf3583 | |
| parent | 2644e259339cd921babf49218aadbdcedb0c8937 (diff) | |
<iman> save response
| -rw-r--r-- | indoteknik_custom/models/stock_picking.py | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index cd330aeb..6967e1a3 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -165,6 +165,11 @@ class StockPicking(models.Model): lalamove_image_url = fields.Char(string="Lalamove Image URL") lalamove_image_html = fields.Html(string="Lalamove Image", compute="_compute_lalamove_image_html") + # Biteship Section + biteship_id = fields.Char(string="Biteship Respon ID") + biteship_tracking_id = fields.Char(string="Biteship Trackcking ID") + biteship_waybill_id = fields.Char(string="Biteship Waybill ID") + def _compute_lalamove_image_html(self): for record in self: if record.lalamove_image_url: @@ -387,7 +392,7 @@ class StockPicking(models.Model): } # Cek jika pengiriman instant atau same_day - if "instant" in self.sale_id.delivery_service_type or "same_day" in self.sale_id.delivery_service_type: + if self.sale_id.delivery_service_type and ("instant" in self.sale_id.delivery_service_type or "same_day" in self.sale_id.delivery_service_type): payload.update({ "origin_note": "BELAKANG INDOMARET", "courier_company": self.carrier_id.name.lower(), @@ -404,10 +409,19 @@ class StockPicking(models.Model): # Kirim request ke Biteship response = requests.post(url, headers=headers, json=payload) - if response.status_code == 201: - return response.json() + if response.status_code == 200: + data = response.json() + + self.biteship_id = data.get("id", "") + self.biteship_tracking_id = data.get("tracking_id", "") + self.biteship_waybill_id = data.get("waybill_id", "") + + return data else: - raise UserError(f"Error saat mengirim ke Biteship: {response.content}") + error_data = response.json() + error_message = error_data.get("error", "Unknown error") + error_code = error_data.get("code", "No code provided") + raise UserError(f"Error saat mengirim ke Biteship: {error_message} (Code: {error_code})") @api.constrains('driver_departure_date') def constrains_driver_departure_date(self): |
