quickbooksqbxmlqbfc

Consolibyte QuickBooks PHP Library - How Do You Pass Parameters To Queued Functions?


I am looking to add a customer to my QB installation using the Consolibyte PHP library. I know that I need to initialize and queue up my requests by using the following:

$Queue = new QuickBooks_WebConnector_Queue('mysql://root:password@localhost/my_database');  
$Queue->enqueue(QUICKBOOKS_ADD_CUSTOMER, $id_value);

In the above, I am merely passing in a unique ID when I queue the request ($id_value). Looking at the _quickbooks_customer_add_request() method, I see that there are 9 parameters for the function. How are these parameters set when I call $Queue->enqueue()?


Solution

  • Here's the function definition:

    ->enqueue($action, $ident = null, $priority = 0, $extra = null, $user = null, $qbxml = null, $replace = true)
    

    From here:

    Documentation:

    * @param string $action     An action to be performed within QuickBooks (see the qbXML and QuickBooks SDK documentation, i.e.: "CustomerAdd", "InvoiceAdd", "CustomerMod", etc.)
    * @param mixed $ident           A unique identifier (if required) for a record being operated on (i.e. if you're doing a "CustomerAdd", you'd probaly put a unique customer ID number here, so you're SOAP handler function knows which customer it is supposed to add)
    * @param integer $priority      The priority of the update (higher priority actions will be pushed to QuickBooks before lower priority actions)
    * @param array $extra           If you need to make additional bits of data available to your request/response functions, you can pass an array of extra data here
    * @param string $user           The username of the QuickBooks Web Connector user this item should be queued for 
    * @param boolean $replace       Whether or not to replace any other currently queued entries with the same action/ident