validate([ 'phone_number' => ['required', 'string', 'regex:/^[0-9]{10,13}$/'], 'document_url' => ['required', 'url'], 'filename' => ['required', 'string', 'max:255'], 'ticket' => ['required', 'string', 'max:100'], 'customer_name' => ['required', 'string', 'max:255'], ], [ 'phone_number.required' => 'El número de teléfono es obligatorio', 'phone_number.regex' => 'El número de teléfono debe tener entre 10 y 13 dígitos', 'document_url.required' => 'La URL del documento es obligatoria', 'document_url.url' => 'La URL del documento no es válida', ]); $result = $this->whatsAppService->sendDocument( phoneNumber: $validated['phone_number'], documentUrl: $validated['document_url'], filename: $validated['filename'], userEmail: auth()->user()->email, ticket: $validated['ticket'], customerName: $validated['customer_name'] ); if ($result['success']) { return ApiResponse::OK->response([ 'message' => 'Documento enviado correctamente por WhatsApp', 'data' => $result ]); } return ApiResponse::BAD_REQUEST->response([ 'message' => $result['message'], 'error' => $result['error'] ?? null ]); } /** * Enviar factura por WhatsApp */ public function sendInvoice(Request $request) { $validated = $request->validate([ 'phone_number' => ['required', 'string', 'regex:/^[0-9]{10,13}$/'], 'invoice_number' => ['required', 'string'], 'pdf_url' => ['required', 'url'], 'customer_name' => ['required', 'string', 'max:255'], ]); $result = $this->whatsAppService->sendInvoice( phoneNumber: $validated['phone_number'], pdfUrl: $validated['pdf_url'], invoiceNumber: $validated['invoice_number'], customerName: $validated['customer_name'] ); if ($result['success']) { return ApiResponse::OK->response([ 'message' => 'Factura enviada correctamente por WhatsApp', 'data' => $result ]); } return ApiResponse::BAD_REQUEST->response([ 'message' => 'Error al enviar la factura', 'error' => $result ]); } }