ContributionsMost RecentMost LikesSolutionsRe: New App, need to get info from another appI always start these kinds of projects with a data design on paper of the to-be data model, which you can use and compare with the as-is design. That will make it easier to visualize how the data will map from old to new. It will be important to understand why those existing data fields and relationships were built in the old model. You may not want or need them for any apparent business reason, but often these kinds of fields need to be added to support or enable the data you do want to see, in the way that you want to see it (especially in QuickBase). If you have new, eliminated or changed business processes, those should be clearly identified and documented, along with new, eliminated or changed reporting requirements or interfaces with other applications or systems. ------------------------------ Rob Talbert ------------------------------ Re: PHP Code for API XML PostMeant to say "http 302 error" ------------------------------ RobertN Talbert ------------------------------ PHP Code for API XML PostI have an API_Authenticate and API_DoQuery calls working in Postman, but my PHP knowledge is 20 years old. The following code results in an http 301 error. I am lost as to how construct the contents of my $request-xml variable. I am out of my depth with the curl code. I may have some other problems:) Could someone kindly respond with a correction(s): <!DOCTYPE html> <html> <body> <?php $request_xml = "<?xml version='1.0' encoding='utf-8'?> Content-Type: application/xml QUICKBASE-ACTION: API_Authenticate <qdbapi> <username>MyUserName</username> <password>MyPassword</password> <hours>24</hours> </qdbapi>"; //Initialize handle and set options $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://mydomain.quickbase.com/db/main'); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 4); curl_setopt($ch, CURLOPT_POSTFIELDS, $request_xml); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close')); //Execute the request $result = curl_exec($ch); //Check for errors if ( curl_errno($ch) ) { $result = 'ERROR -> ' . curl_errno($ch) . ': ' . curl_error($ch); } else { $returnCode = (int)curl_getinfo($ch, CURLINFO_HTTP_CODE); switch($returnCode){ case 200: break; default: $result = 'HTTP ERROR -> ' . $returnCode; break; } } //Close the handle curl_close($ch); //Output the results echo $result; echo "<br>"; echo "ticket = " . $response->ticket; ?> </body> </html> ------------------------------ Rob Talbert ------------------------------