<?php

// This is an example script for querying for a User Defined Field
// on a Configuration Item (otherwise known as an Installed Product)
// This example should work for you if you are an OpenDNS customer
// after you enter your username and password below
require_once __DIR__ . '/src/autoload.php';
// Edit these variables to get this example to work for you
$username = '******';
$password = '******';
// End Edit Region
$authWsdl = 'https://webservices.autotask.net/atservices/1.5/atws.wsdl';
$opts = array('trace' => 1);
$client = new ATWS\Client($authWsdl, $opts);
$zoneInfo = $client->getZoneInfo($username);
print_r($zoneInfo);
$authOpts = array('login' => $username, 'password' => $password, 'trace' => 1);
$wsdl = str_replace('.asmx', '.wsdl', $zoneInfo->getZoneInfoResult->URL);
$client = new ATWS\Client($wsdl, $authOpts);
$query = new ATWS\AutotaskObjects\Query('InstalledProduct');
$package = new ATWS\AutotaskObjects\QueryField('Package', true);
$package->addExpression('Equals', 'Umbrella for MSPs');
$query->addField($package);
// If you want to debug the XML produced by the Query object
// print($query->asXml());
// Print the results of the query
print_r($client->query($query));
Example #2
0
/**
 * Returns a string with the Human-readable name of the Account
 *
 * @param object $client Takes the $client connection object\
 *
 * @param integer $accountID Takes the accounts ID from Autotask
 *
 * @return string Returns a string with the Human-readable name of the Account
 */
function accountNameLookup($client, $accountID)
{
    $query = new ATWS\AutotaskObjects\Query('Account');
    $aidField = new ATWS\AutotaskObjects\QueryField('id');
    $aidField->addExpression('Equals', $accountID);
    $query->addField($aidField);
    $response = $client->query($query);
    return $response->queryResult->EntityResults->Entity->AccountName;
}