def track_purchase(self, user, items, total, purchase_id= None, campaign_id=None, 
					   template_id=None, created_at=None,
					   data_fields=None):
		"""
			The 'purchase_id' argument maps to 'id' for this API endpoint.
			This name is used to distinguish it from other instances where
			'id' is a part of the API request with other Iterable endpoints.
		"""

		call="/api/commerce/trackPurchase"

		payload ={}
	
		if isinstance(user, dict):
			payload["user"]= user
		else:
			raise TypeError('user key is not in Dictionary format')

		if isinstance(items, list):
			payload["items"]= items
		else:
			raise TypeError('items are not in Array format')

		if isinstance(total, float):
			payload["total"]= total
		else:
			raise TypeError('total is not in correct format')

		if purchase_id is not None:
			payload["id"]= str(purchase_id) 

		if campaign_id is not None:
			payload["campaignId"]= campaign_id

		if template_id is not None:
			payload["templateId"]= template_id		

		if created_at is not None:
			payload["createdAt"]= created_at

		if data_fields is not None:
			payload["data_fields"]= data_fields

		return self.api_call(call=call, method="POST", json=payload)
def track_purchase ( self , user , items , total , purchase_id = None , campaign_id = None , template_id = None , created_at = None , data_fields = None ) : call = "/api/commerce/trackPurchase" payload = { } if isinstance ( user , dict ) : payload [ "user" ] = user else : raise TypeError ( 'user key is not in Dictionary format' ) if isinstance ( items , list ) : payload [ "items" ] = items else : raise TypeError ( 'items are not in Array format' ) if isinstance ( total , float ) : payload [ "total" ] = total else : raise TypeError ( 'total is not in correct format' ) if purchase_id is not None : payload [ "id" ] = str ( purchase_id ) if campaign_id is not None : payload [ "campaignId" ] = campaign_id if template_id is not None : payload [ "templateId" ] = template_id if created_at is not None : payload [ "createdAt" ] = created_at if data_fields is not None : payload [ "data_fields" ] = data_fields return self . api_call ( call = call , method = "POST" , json = payload )
The 'purchase_id' argument maps to 'id' for this API endpoint.
			This name is used to distinguish it from other instances where
			'id' is a part of the API request with other Iterable endpoints.