feat: soporte de imagen dinámica en plantillas WhatsApp
- Detecta header_type=IMAGE en get_template_details.php
- send_message (individual): muestra input de imagen si la plantilla lo requiere,
sube a upload_media.php y envía header_image_url al backend
- broadcast (masivo): igual, con upload previo al envío
- api/send_message.php: acepta header_image_url y lo pasa como headerParameters
[type:image, image:{link:URL}] a WhatsAppService::sendTemplateMessage()
- api/send_broadcast.php: igual para cada destinatario del masivo
- Preview en tiempo real de la imagen seleccionada en ambos formularios
This commit is contained in:
+12
-1
@@ -168,11 +168,22 @@ try {
|
||||
throw new Exception("La plantilla requiere {$expectedVars} variable(s) numéricas, pero se enviaron " . count($processedVariables));
|
||||
}
|
||||
|
||||
// Preparar header de imagen dinámica si se proporcionó
|
||||
$headerParams = [];
|
||||
if (!empty($input['header_image_url'])) {
|
||||
$imageUrl = filter_var($input['header_image_url'], FILTER_VALIDATE_URL) ? $input['header_image_url'] : null;
|
||||
if ($imageUrl) {
|
||||
$headerParams = [['type' => 'image', 'image' => ['link' => $imageUrl]]];
|
||||
error_log("Broadcast template header image URL: " . $imageUrl);
|
||||
}
|
||||
}
|
||||
|
||||
$response = $whatsappService->sendTemplateMessage(
|
||||
$user['phone_number'],
|
||||
$template['template_name'] ?? $template['name'],
|
||||
$template['language_code'] ?? 'es',
|
||||
$processedVariables
|
||||
$processedVariables,
|
||||
$headerParams
|
||||
);
|
||||
|
||||
// Construir contenido para BD (reemplazar variables en body_text)
|
||||
|
||||
Reference in New Issue
Block a user