in order/tasks.py [0:0]
def fulfill_order_async(order_id, carrier, tracking_number, items=None):
''' Async task to fulfill an order by id, and sync the order's items
params:
order_id: id of the Order to fulfill
carrier: the shipping carrier
tracking_number: tracking number from the carrier
items: the subset of items this particular fulfillment is for
'''
logger.info("fulfill_order_async for order id {}".format(order_id))
order, _ = fulfill_order_by_id(order_id, carrier, tracking_number, items)
# check if fulfill is successful
if order is not None:
# get just items in the order or items being fulfilld for syncing
items = items or get_order_items(order)
logger.info("sync catalog to FB after fulfill order for store id {}{}".format(
order.store.id,
", and products: {}".format(items) if items else "."
)
)
res = post_item_batch_by_id(order.store.id, True, items)
logger.info("post_item_batch_by_id response: {}".format(res.json()))