SampleApp-CRUD-PHP
Welcome to the Intuit Developer's PHP Sample App for CRUD operations.
This sample app provides working examples of how to integrate your app with the Intuit Small Business ecosystem. Specifically, this sample app demonstrates how to:
- Use the Create, Read, Query, Update, Delete, and Void entities
- Perform operations using the QuickBooks PHP SDK
Note that while these examples work, features not called out above are not intended to be taken and used in production business applications. In other words, this is not a seed project to be taken cart blanche and deployed to your production environment.
For example, certain concerns are not addressed at all in our samples (e.g., security, privacy, scalability). In our sample apps, we strive to strike a balance between clarity, maintainability, and performance where we can. However, clarity is ultimately the most important quality in a sample app.
Therefore there are certain instances where we might forgo a more complicated implementation (e.g., caching a frequently used value, robust error handling, more generic domain model structure) in favor of code that is easier to read. In that light, we welcome any feedback that makes our samples apps easier to learn from.
In order to successfully run this sample app you need a few things:
- Install the PHP SDK. Refer to the instructions here.
- A developer.intuit.com account.
- An app on developer.intuit.com and the associated app token, consumer key, and consumer secret.
- One sandbox company, connect the company with your app and generate the OAuth tokens.
- Clone the GitHub repo to your computer.
- Fill in the
App.configfile values with the OAuth tokens generated while connecting with the company.
This app provides individual sample code for CRUD operations for various QBO entities. Each PHP file can be run individually.
Steps described below is to run the PHP file for creating a customer.
- Open the terminal window or command prompt and cd into the CRUD directory
/SampleApp-CRUD-PHP/CRUD/Customer. - Run the command
php CustomerCreate.php. - On the console you'll see the log being generated with the new customer ID.
- Request/Response XMLs are generated in the
Logsfolder.
Follow similar steps for other classes.
Note: The sample code has been implemented for a company with a US locale. Certain fields may not be applicable for other locales or minor versions. Care should be taken to handle such scenarios separately.
- PHP code for CRUD operations is located under
CRUD/Entitiesdirectory. - PHP code for Helper Classes is located under
helperdirectory. - Request/response XMLs are located under
Logsdirectory.