}
$node = $resp['productVariantsBulkCreate'] ?? [];
$errs = $node['userErrors'] ?? [];
return [
'label' => $label,
'ok' => empty($errs),
'userErrors' => $errs,
'created' => $node['productVariants'] ?? [],
'sentCount' => count($variants),
];
};
// Construir variantes para cada forma
$attempts = [];
$success = null;
// 1) optionN_fields (option1/2/3)
$variants_optionN = [];
foreach ($baseVariantInputs as $v) {
if (empty($v['options'])) continue;
$out = ['price' => $v['price'] ?? null];
foreach ($v['options'] as $i => $val) {
if ($val === null || $val === '') continue;
if ($i < 3) { $out['option'.($i+1)] = $val; }
}
$variants_optionN[] = $out;
}
if ($variants_optionN) {
$r = $run('optionN_fields', $variants_optionN);
$attempts[] = $r;
if ($r['ok']) $success = $r;
}
// 2) selectedOptions (array name/value)
if (!$success && $optionNames) {
$variants_selectedOptions = [];
foreach ($baseVariantInputs as $v) {
if (empty($v['options'])) continue;
$sel = [];
foreach ($v['options'] as $i => $val) {
if (!isset($optionNames[$i])) continue;
$sel[] = ['name' => mb_strtolower($optionNames[$i]), 'value' => $val];
}
if ($sel) {
$variants_selectedOptions[] = [ 'price' => $v['price'] ?? null, 'selectedOptions' => $sel ];
}
}
if ($variants_selectedOptions) {
$r = $run('selectedOptions', $variants_selectedOptions);
$attempts[] = $r;
if ($r['ok']) $success = $r;
}
}
// 3) optionValues name+value
if (!$success && $optionNames) {
$variants_optionValues = [];
foreach ($baseVariantInputs as $v) {
if (empty($v['options'])) continue;
$ov = [];
foreach ($v['options'] as $i => $val) {
if (!isset($optionNames[$i])) continue;
$ov[] = ['name' => mb_strtolower($optionNames[$i]), 'value' => $val];
}
if ($ov) {
$variants_optionValues[] = [ 'price' => $v['price'] ?? null, 'optionValues' => $ov ];
}
}
if ($variants_optionValues) {
$r = $run('optionValues_name_value', $variants_optionValues);
$attempts[] = $r;
if ($r['ok']) $success = $r;
}
}
// 4) optionValues name+optionValue
if (!$success && $optionNames) {
$variants_optionValues2 = [];
foreach ($baseVariantInputs as $v) {
if (empty($v['options'])) continue;
$ov = [];
foreach ($v['options'] as $i => $val) {
if (!isset($optionNames[$i])) continue;
$ov[] = ['name' => mb_strtolower($optionNames[$i]), 'optionValue' => $val];
}
if ($ov) {
$variants_optionValues2[] = [ 'price' => $v['price'] ?? null, 'optionValues' => $ov ];
}
}
if ($variants_optionValues2) {
$r = $run('optionValues_name_optionValue', $variants_optionValues2);
$attempts[] = $r;
if ($r['ok']) $success = $r;
}
}
// 5) optionValues solo name
if (!$success && $optionNames) {
$variants_optionValues3 = [];
foreach ($baseVariantInputs as $v) {
if (empty($v['options'])) continue;
$ov = [];
foreach ($v['options'] as $i => $val) {
if (!isset($optionNames[$i])) continue;
$ov[] = ['name' => mb_strtolower($optionNames[$i])];
}
if ($ov) {
$variants_optionValues3[] = [ 'price' => $v['price'] ?? null, 'optionValues' => $ov ];
}
}
if ($variants_optionValues3) {
$r = $run('optionValues_name_only', $variants_optionValues3);
$attempts[] = $r;
if ($r['ok']) $success = $r;
}
}
// 6) NUEVO: optionValues optionName + name
if (!$success && $optionNames) {
$variants_optionValues4 = [];
foreach ($baseVariantInputs as $v) {
if (empty($v['options'])) continue;
$ov = [];
foreach ($v['options'] as $i => $val) {
if (!isset($optionNames[$i])) continue;
if ($val === '—' || $val === '' || $val === null) continue; // omitir placeholder
$ov[] = ['optionName' => $optionNames[$i], 'name' => $val];
}
if ($ov) {
$variants_optionValues4[] = [ 'price' => $v['price'] ?? null, 'optionValues' => $ov ];
}
}
if ($variants_optionValues4) {
$r = $run('optionValues_optionName_name', $variants_optionValues4);
$attempts[] = $r;
if ($r['ok']) $success = $r;
}
}
return [
'success' => $success,
'attempts' => $attempts,
];
}
// (El bloque duplicado de resultados fue limpiado arriba)
// (Bloque antiguo eliminado; la versión simplificada del handler ya está definida más arriba.)
?>
TIMBERLAND → NEXUS
Llegó reposición Bota CATERPILLAR🥾
Nueva Colección🔥
✅Material 💯%Cuero🐄
✅Cosida🧵
Para Caballero💪
Tallas: del 37al44👣
$ 53.81
Llegó Nuevo Bolso CATERPILLAR🔥
💯%Cuero
Fotos reales 📸
Medidas del bolso 28cm x 26cm
$ 48.66
CALZADO NACIONAL
LINEA PREMIUN DE ALTA CALIDAD
CALIDAD AA
TALLA 35 al 43 COL
ANTIDESLIzANTE
GARANTIA:30 DIAS
DISEÑOCASUAL.
DISEÑO COMODO.
PLATILLA SUAVE
$ 180,000.00$ 210,000.00
CALZADO NACIONAL
LINEA PREMIUN DE ALTA CALIDAD
CALIDAD AA
TALLA 37 al 43 COL
ANTIDESLIZANTE
GARANTIA:30 DIAS
DISEÑOCASUAL.
DISEÑO COMODO.
PLATILLA SUAVE
$ 149,900.00$ 169,900.00
CALZADO NACIONAL
LINEA PREMIUN DE ALTA CALIDAD
CALIDAD AA
TALLA 37 al 43 COL
ANTIDESLIZANTE
GARANTIA:30 DIAS
DISEÑOCASUAL.
DISEÑO COMODO.
PLATILLA SUAVE
$ 38.41
CALZADO NACIONAL
LINEA PREMIUN DE ALTA CALIDAD
CALIDAD AA
TALLA 36 al 43 COL
ANTIDESLIzANTE
GARANTIA:30 DIAS
DISEÑOCASUAL.
DISEÑO COMODO.
PLATILLA SUAVE
$ 35.85