ferrero-opentext/check_folder_status.php
DJP 00f35169a1 Add Global campaign search methods and update debug to show both Local and Global
StatusManager Enhancements:
 searchGlobalCampaigns() - Search for 'Global comm' campaigns (B1-B2 workflow)
 searchAllCampaignTypes() - Search for ALL campaigns (Local + Global)

Workflow Updates:
 Debug search now uses searchAllCampaignTypes()
 Shows both 'Local Adaptation' and 'Global comm' campaigns
 Updated success message: 'Local Adaptation + Global comm'

This fixes the issue where B1 campaigns weren't showing in debug view.

Test:
1. Click '🔍 Debug: Load ALL Campaigns' in any workflow tab
2. Should now see Global comm campaigns with B1/B2 status
3. Example: NUTELLA PLANT-BASED LAUNCH (Status: B1)

Next: Add dedicated B1→B2 workflow tab and status change buttons

🤖 Generated with Claude Code
2025-11-03 12:25:28 -05:00

94 lines
3.2 KiB
PHP

<?php
require_once 'config_v3.php';
require_once 'src/TestRunner.php';
require_once 'src/ApiClient.php';
$config = new ConfigV3();
$testRunner = new TestRunner($config->get('postman_collection'), ['baseUrl' => $config->getBaseUrl()]);
// Get OAuth token
$reflection = new ReflectionClass($testRunner);
$property = $reflection->getProperty('oauth2Handler');
$property->setAccessible(true);
$oauth2Handler = $property->getValue($testRunner);
$token = $oauth2Handler->getAccessToken();
$folderId = '676f2bcde4c7bcf7ef783e97f7495069bf50b6bc';
echo "Checking folder: {$folderId}" . PHP_EOL;
echo str_repeat('=', 60) . PHP_EOL;
// Get folder metadata
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $config->getBaseUrl() . '/v6/folders/' . $folderId . '?load_type=full',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $token,
'Accept: application/json'
],
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_TIMEOUT => 30
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo 'HTTP Code: ' . $httpCode . PHP_EOL . PHP_EOL;
if ($httpCode == 200) {
$data = json_decode($response, true);
$folder = $data['folder_resource']['folder'] ?? $data;
echo 'Folder Name: ' . ($folder['name'] ?? 'Unknown') . PHP_EOL;
echo 'Folder ID: ' . ($folder['asset_id'] ?? 'Unknown') . PHP_EOL;
echo PHP_EOL;
// Find all relevant metadata fields
$fieldsToFind = [
'CONTENT.SCALING.STATUS' => 'Content Scaling Status',
'FERRERO.FIELD.CAMPAIGN TYPE' => 'Campaign Type',
'FERRERO.FIELD.CAMPAIGN_BRAND' => 'Campaign Brand',
'FERRERO.FIELD.CAMPAIGN_MARKET' => 'Campaign Market',
'FERRERO.FIELD.CAMPAIGN_ID' => 'Campaign ID',
'FERRERO.FIELD.CAMPAIGN ID' => 'Campaign ID (alt)',
'ARTESIA.FIELD.NAME' => 'Folder Name',
'INER_NAME_GENERIC' => 'Generic Name'
];
$foundFields = [];
if (isset($folder['metadata']['metadata_element_list'])) {
foreach ($folder['metadata']['metadata_element_list'] as $category) {
if (isset($category['metadata_element_list'])) {
foreach ($category['metadata_element_list'] as $field) {
$fieldId = $field['id'] ?? '';
if (isset($fieldsToFind[$fieldId])) {
$value = null;
if (isset($field['value']['value']['value'])) {
$value = $field['value']['value']['value'];
} elseif (isset($field['value']['value']['field_value']['value'])) {
$value = $field['value']['value']['field_value']['value'];
}
$foundFields[$fieldId] = $value ?? '(not set)';
}
}
}
}
}
echo 'Metadata Fields Found:' . PHP_EOL;
echo str_repeat('-', 60) . PHP_EOL;
foreach ($fieldsToFind as $fieldId => $fieldLabel) {
$value = $foundFields[$fieldId] ?? '(field not found)';
echo $fieldLabel . ': ' . $value . PHP_EOL;
}
} else {
echo 'Error getting folder (HTTP ' . $httpCode . '):' . PHP_EOL;
echo $response . PHP_EOL;
}