Hello
I am using below python code updating shopify order status but getting error message.
def update_order_status(self,instance):
instances=
if not instance:
instances=self.env[‘shopify.instance.ept’].search([(‘order_auto_import’,‘=’,True),(‘state’,‘=’,‘confirmed’)])
else:
instances.append(instance)
for instance in instances:
instance.connect_in_shopify()
sales_orders = self.search([(‘warehouse_id’,‘=’,instance.warehouse_id.id),
(‘shopify_order_id’,‘!=’,False),
(‘shopify_instance_id’,‘=’,instance.id),
(‘updated_in_shopify’,‘=’,False)],order=‘date_order’)
for sale_order in sales_orders:
order = shopify.Order.find(sale_order.shopify_order_id)
for picking in sale_order.picking_ids:
“”“Here We Take only done picking and updated in shopify false”“”
if picking.updated_in_shopify or picking.state!=‘done’:
continue
line_items={}
list_of_tracking_number=
carrier_name=picking.carrier_id and picking.carrier_id.shopify_code or ‘’
if not carrier_name:
carrier_name=picking.carrier_id and picking.carrier_id.name or ‘’
for move in picking.move_lines:
if move.procurement_id and move.procurement_id.sale_line_id and move.procurement_id.sale_line_id.shopify_line_id:
shopify_line_id=move.procurement_id.sale_line_id.shopify_line_id
“”“Create Package for the each parcel”“”
for operation_link in move.linked_move_operation_ids:
if operation_link.operation_id:
tracking_no=False
if (operation_link.operation_id.result_package_id and operation_link.operation_id.result_package_id.tracking_no):
tracking_no=operation_link.operation_id.result_package_id.tracking_no
if (operation_link.operation_id.package_id and operation_link.operation_id.package_id.tracking_no):
tracking_no=operation_link.operation_id.package_id.tracking_no
if not tracking_no:
continue
list_of_tracking_number.append(operation_link.operation_id.result_package_id.tracking_no)
product_qty=operation_link.qty or 0.0
product_qty=int(product_qty)
if line_items.has_key(shopify_line_id):
if line_items.get(shopify_line_id).has_key(‘tracking_no’):
quantity=line_items.get(shopify_line_id).get(‘quantity’)
quantity=quantity+product_qty
line_items.get(shopify_line_id).update({‘quantity’:quantity})
if tracking_no not in line_items.get(shopify_line_id).get(‘tracking_no’):
line_items.get(shopify_line_id).get(‘tracking_no’).append(tracking_no)
else:
line_items.get(shopify_line_id).update({‘tracking_no’:})
line_items.get(shopify_line_id).update({‘quantity’:product_qty})
line_items.get(shopify_line_id).get(‘tracking_no’).append(tracking_no)
else:
line_items.update({shopify_line_id:{}})
line_items.get(shopify_line_id).update({‘tracking_no’:})
line_items.get(shopify_line_id).update({‘quantity’:product_qty})
line_items.get(shopify_line_id).get(‘tracking_no’).append(tracking_no)
location_custom_id = 5798866888
tracking_numbers=
update_lines=
for sale_line_id in line_items:
tracking_numbers+=line_items.get(sale_line_id).get(‘tracking_no’)
update_lines.append({‘id’:sale_line_id,‘quantity’:line_items.get(sale_line_id).get(‘quantity’)})
try:
new_fulfillment = shopify.Fulfillment({‘order_id’:order.id,‘tracking_numbers’:list(set(tracking_numbers)),‘tracking_company’:carrier_name,‘line_items’:update_lines, ‘location_id’: location_custom_id})
new_fulfillment.save()
except Exception,e:
raise Warning(e)
picking.write({‘updated_in_shopify’:True})
self.closed_at(instances)
return True
IT Showing Error at new_fulfillment.save()
ERROR MESSAGE :
Warning: Not Found: https://test.myshopify.com/admin/api/2023-07/orders/2546855858/fulfillments.json