diff --git a/services/WhatsAppService.php b/services/WhatsAppService.php index dc10efc..f21248f 100644 --- a/services/WhatsAppService.php +++ b/services/WhatsAppService.php @@ -399,8 +399,8 @@ class WhatsAppService */ private function sendMessage($data) { - // Construir URL correctamente - $url = rtrim($this->apiUrl, '/') . '/' . $this->phoneNumberId . '/conversations'; + // Construir URL correcto para enviar mensajes (use /messages) + $url = rtrim($this->apiUrl, '/') . '/' . $this->phoneNumberId . '/messages'; // Debug log error_log("WhatsApp API URL: " . $url); @@ -409,9 +409,24 @@ class WhatsAppService $response = $this->makeRequest('POST', $url, $data); - // Guardar mensaje enviado en la base de datos - if ($response && isset($response['conversations'][0]['id'])) { - $this->saveOutgoingMessage($data, $response); + // Guardar mensaje enviado en la base de datos (respuesta puede contener 'messages' o 'conversations') + $sentMessageId = null; + if ($response) { + if (isset($response['messages'][0]['id'])) { + $sentMessageId = $response['messages'][0]['id']; + } elseif (isset($response['conversations'][0]['id'])) { + $sentMessageId = $response['conversations'][0]['id']; + } + } + + if ($response && $sentMessageId) { + // Asegurar que la estructura de respuesta para saveOutgoingMessage se mantenga pasando el id + $responseWrapper = $response; + // Normalizar para compatibilidad con saveOutgoingMessage + if (!isset($responseWrapper['conversations']) && $sentMessageId) { + $responseWrapper['conversations'][0]['id'] = $sentMessageId; + } + $this->saveOutgoingMessage($data, $responseWrapper); } return $response;