use FacebookAds\Object\Fields\AdSetFields;
use FacebookAds\Object\Fields\AdUserFields;
use FacebookAds\Object\Fields\ConnectionObjectFields;
use FacebookAds\Object\Fields\InsightsFields;
use FacebookAds\Object\Fields\TargetingSpecsFields;
use FacebookAds\Object\TargetingSpecs;
use FacebookAds\Object\Values\InsightsActionBreakdowns;
use FacebookAds\Object\Values\InsightsPresets;
use FacebookAds\Object\Fields\AdPreviewFields;
use FacebookAds\Object\Values\AdFormats;
use FacebookAdsTest\Config\Config;
/** @var Config $config */
$ad_account_id = $config->accountId;
$page_id = $config->pageId;
$account = new AdAccount($ad_account_id);
$data = $account->getApi()->call('/' . $page_id . '/promotable_posts', RequestInterface::METHOD_GET)->getContent();
if (is_null($data) || !is_array($data['data']) || count($data['data']) === 0) {
    throw new \RuntimeException("no promotable posts available for page " . $page_id);
}
$post_id = $data['data'][0]['id'];
// _DOC open [ADACCOUNT_READ]
// _DOC vars [ad_account_id:s]
// use FacebookAds\Object\AdAccount;
// use FacebookAds\Object\AdAccountFields;
$account = new AdAccount($ad_account_id);
$fields = array(AdAccountFields::NAME, AdAccountFields::BALANCE);
$params = array(AdCampaignFields::STATUS => array(AdCampaign::STATUS_PAUSED));
$account->read($fields);
// Output account name
echo $account->{AdAccountFields::NAME} . PHP_EOL;
// Output account balance