Is there a way to return a list of Contacts that bought a particular Product (ProductId) through API and spit it out in PHP, and possibly specify a date?
You would have to correlate the Invoice and InvoiceItem tables to do that. Nothing that can really be done with just one call though.
What you can do is to query the “OrderItem” API Table to obtain the “OrderId” numbers for the Product.
Then using the array of Order Ids, you can query the “Job” API Table to get the list of Contacts.
You will have to loop through the pages if you have more than 1000 Records.
An alternative would be to setup a Saved Search in the Orders page for the Product, and run the search via your script.