up
This commit is contained in:
+16
-5
@@ -160,18 +160,27 @@ class WhatsAppWebhook {
|
||||
} elseif (isset($message['image'])) {
|
||||
$messageText = $message['image']['caption'] ?? '';
|
||||
$messageType = 'image';
|
||||
$mediaUrl = $message['image']['id'] ?? null;
|
||||
// Preferir URL directo si viene en el webhook (evita resolver media_id)
|
||||
$mediaUrl = $message['image']['url'] ?? ($message['image']['id'] ?? null);
|
||||
$mimeType = $message['image']['mime_type'] ?? null;
|
||||
$filename = $message['image']['filename'] ?? null;
|
||||
} elseif (isset($message['audio'])) {
|
||||
$messageType = 'audio';
|
||||
$mediaUrl = $message['audio']['id'] ?? null;
|
||||
$mediaUrl = $message['audio']['url'] ?? ($message['audio']['id'] ?? null);
|
||||
$mimeType = $message['audio']['mime_type'] ?? null;
|
||||
$filename = $message['audio']['filename'] ?? null;
|
||||
} elseif (isset($message['video'])) {
|
||||
$messageText = $message['video']['caption'] ?? '';
|
||||
$messageType = 'video';
|
||||
$mediaUrl = $message['video']['id'] ?? null;
|
||||
$mediaUrl = $message['video']['url'] ?? ($message['video']['id'] ?? null);
|
||||
$mimeType = $message['video']['mime_type'] ?? null;
|
||||
$filename = $message['video']['filename'] ?? null;
|
||||
} elseif (isset($message['document'])) {
|
||||
$messageText = $message['document']['filename'] ?? '';
|
||||
$messageType = 'document';
|
||||
$mediaUrl = $message['document']['id'] ?? null;
|
||||
$mediaUrl = $message['document']['url'] ?? ($message['document']['id'] ?? null);
|
||||
$mimeType = $message['document']['mime_type'] ?? null;
|
||||
$filename = $message['document']['filename'] ?? null;
|
||||
}
|
||||
|
||||
// Guardar mensaje en base de datos
|
||||
@@ -182,6 +191,8 @@ class WhatsAppWebhook {
|
||||
'message_type' => $messageType,
|
||||
'content' => $messageText,
|
||||
'media_url' => $mediaUrl,
|
||||
'filename' => isset($filename) ? $filename : null,
|
||||
'mime_type' => isset($mimeType) ? $mimeType : null,
|
||||
'status' => 'received',
|
||||
'is_read' => 0
|
||||
];
|
||||
@@ -307,7 +318,7 @@ class WhatsAppWebhook {
|
||||
if (isset($entry['changes'])) {
|
||||
foreach ($entry['changes'] as $change) {
|
||||
error_log("processPayload: processing change field=" . ($change['field'] ?? ''));
|
||||
if (($change['field'] ?? '') === 'conversations' && isset($change['value'])) {
|
||||
if ((($change['field'] ?? '') === 'conversations' || ($change['field'] ?? '') === 'messages' || isset($change['value']['messages'])) && isset($change['value'])) {
|
||||
try {
|
||||
$this->processconversations($change['value']);
|
||||
} catch (Exception $e) {
|
||||
|
||||
Reference in New Issue
Block a user