summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2025-01-28 14:58:05 +0700
committerit-fixcomart <it@fixcomart.co.id>2025-01-28 14:58:05 +0700
commit346b6dc89cbde3640413714175cdc438544a664c (patch)
tree196835c3ab4d9753bd161e581fab3d43aacf3583
parent2644e259339cd921babf49218aadbdcedb0c8937 (diff)
<iman> save response
-rw-r--r--indoteknik_custom/models/stock_picking.py22
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):