$configV3->getBaseUrl(), 'timeout' => $configV3->get('api.timeout'), 'headers' => [ 'Content-Type' => 'application/json', 'Accept' => 'application/json' ] ]; $collectionPath = __DIR__ . '/' . $configV3->get('postman_collection'); $testRunner = new TestRunner($collectionPath, $config); $campaigns = []; $error = null; // Load ALL localized campaigns (no status filter) if ($_GET['action'] === 'load_all' || !isset($_GET['action'])) { try { $requests = $testRunner->getAvailableRequests(); foreach ($requests as $index => $request) { if (strpos($request['name'], 'Retrieve Localized Campaign') !== false) { // Modify the request to remove status filter $modifiedRequest = $request; $url = is_array($request['request']['url']) ? $request['request']['url']['raw'] : $request['request']['url']; // Decode the search condition to remove status filter $searchCondition = [ 'search_condition_list' => [ 'search_condition' => [ [ 'display_value' => 'L7+ - CAMPAIGN', 'left_paren' => '(', 'metadata_field_id' => 'ARTESIA.FIELD.CONTAINER TYPE NAME', 'relational_operator_id' => 'ARTESIA.OPERATOR.CHAR.CONTAINS', 'right_paren' => ')', 'type' => 'com.artesia.search.SearchScalarCondition', 'value' => 'GLOBALCAMPAING' ], [ 'metadata_field_id' => 'FERRERO.FIELD.CAMPAIGN TYPE', 'relational_operator' => 'and', 'relational_operator_id' => 'ARTESIA.OPERATOR.CHAR.IS', 'type' => 'com.artesia.search.SearchScalarCondition', 'value' => 'Local adaptation of global comm' ] // Removed status filter to get ALL campaigns ] ] ]; $searchEncoded = urlencode(json_encode($searchCondition)); $baseUrl = $configV3->getBaseUrl(); $newUrl = "{$baseUrl}/v6/search/text?load_type=metadata&search_config_id=18&search_condition_list={$searchEncoded}"; if (is_array($modifiedRequest['request']['url'])) { $modifiedRequest['request']['url']['raw'] = $newUrl; } else { $modifiedRequest['request']['url'] = $newUrl; } $result = $testRunner->runSingleTest($modifiedRequest, $index); if ($result['status'] === 'PASS') { $data = json_decode($result['response']['body'], true); $assetList = $data['asset_list']['asset'] ?? []; // Extract campaign info with status foreach ($assetList as $asset) { $campaignInfo = extractCampaignWithStatus($asset); $campaigns[] = $campaignInfo; } } break; } } } catch (Exception $e) { $error = $e->getMessage(); } } function extractCampaignWithStatus($asset) { $info = [ 'asset_id' => $asset['asset_id'] ?? 'Unknown', 'campaign_name' => 'Unknown', 'campaign_id' => 'Unknown', 'brand' => 'Unknown', 'market' => 'Unknown', 'status' => 'NOT FOUND', 'status_field_found' => false, 'all_metadata_fields' => [] ]; if (!isset($asset['metadata']['metadata_element_list'])) { return $info; } // Traverse metadata to find fields foreach ($asset['metadata']['metadata_element_list'] as $category) { if (!isset($category['metadata_element_list'])) continue; foreach ($category['metadata_element_list'] as $field) { $fieldId = $field['id'] ?? ''; $fieldValue = $field['value']['value']['value'] ?? null; // Store all field IDs we find $info['all_metadata_fields'][] = $fieldId; // Extract specific fields switch ($fieldId) { case 'FERRERO.FIELD.CAMPAIGN_NAME': $info['campaign_name'] = $fieldValue; break; case 'FERRERO.FIELD.CAMPAIGN_ID': $info['campaign_id'] = $fieldValue; break; case 'FERRERO.FIELD.BRAND': $info['brand'] = $fieldValue; break; case 'FERRERO.FIELD.MARKET': $info['market'] = $fieldValue; break; case 'CONTENT.SCALING.STATUS': $info['status'] = $fieldValue ?? 'EMPTY'; $info['status_field_found'] = true; break; case 'FERRERO.FIELD.CONTENT.SCALING.STATUS': $info['status'] = $fieldValue ?? 'EMPTY'; $info['status_field_found'] = true; $info['status_field_alternate'] = 'FERRERO.FIELD.CONTENT.SCALING.STATUS'; break; } } } return $info; } $oauth2Status = $testRunner->getOAuth2Status(); ?> Debug Status Field

🔍 Debug: Status Field Analysis

This page loads ALL localized campaigns and shows where the status field is located in the metadata

Error:
Found localized campaign(s)

Campaign Status Summary

Campaign Name Campaign ID Brand Market Status Value Status Field Found? Asset ID

Alt Field:
✅ YES ❌ NO

Metadata Field Analysis

Status Distribution

$count): ?>
Status Value Count

Status-Related Fields Found

  • (in campaigns)

❌ No status-related fields found!

🔍 View All Metadata Field IDs Found ( unique fields)
$count): ?>
()
No campaigns found. Click the button above to load campaigns.