// ثبت endpoint تنظیمات در REST add_action('rest_api_init', function() { register_rest_route( defined('AIQA_LITE_REST_NAMESPACE') ? AIQA_LITE_REST_NAMESPACE : 'aiqa/v1', '/settings', [ 'methods' => ['GET','POST'], 'permission_callback' => function() { return current_user_can('manage_options'); }, 'callback' => function( $request ) { if ( $request->get_method() === 'GET' ) { $settings = aiqa_lite_get_settings(); aiqa_log('AIQA_SETTINGS', 'Settings fetched via REST', ['user'=>get_current_user_id()]); return [ 'success'=>true, 'data'=>$settings ]; } else { $params = $request->get_json_params(); $errors = aiqa_lite_validate_settings($params); if ( !empty($errors) ) { aiqa_log('AIQA_SETTINGS', 'Settings validation failed', ['errors'=>$errors]); return new WP_REST_Response([ 'success'=>false, 'errors'=>$errors ], 400); } $settings = aiqa_lite_update_settings($params); aiqa_log('AIQA_SETTINGS', 'Settings updated via REST', ['user'=>get_current_user_id()]); return [ 'success'=>true, 'data'=>$settings ]; } }, ]); }); // WooCommerce: order-status register_rest_route( defined('AIQA_LITE_REST_NAMESPACE') ? AIQA_LITE_REST_NAMESPACE : 'aiqa/v1', '/woo/order-status', [ 'methods' => ['GET'], 'permission_callback' => function() { return current_user_can('manage_woocommerce') || current_user_can('manage_aiqa'); }, 'callback' => function( $request ) { $order_id = $request->get_param('order_id'); // Placeholder: وضعیت واقعی سفارش در فاز بعدی تکمیل می‌شود $data = [ 'order_id'=>$order_id, 'status'=>'(آزمایشی)' ]; aiqa_log('AIQA_WOO', 'Order status fetched', ['user'=>get_current_user_id(),'order_id'=>$order_id]); return [ 'success'=>true, 'data'=>$data ]; }, ]); // WooCommerce: product-info register_rest_route( defined('AIQA_LITE_REST_NAMESPACE') ? AIQA_LITE_REST_NAMESPACE : 'aiqa/v1', '/woo/product-info', [ 'methods' => ['GET'], 'permission_callback' => function() { return current_user_can('manage_woocommerce') || current_user_can('manage_aiqa'); }, 'callback' => function( $request ) { $product_id = $request->get_param('product_id'); // Placeholder: اطلاعات واقعی محصول در فاز بعدی تکمیل می‌شود $data = [ 'product_id'=>$product_id, 'info'=>'(آزمایشی)' ]; aiqa_log('AIQA_WOO', 'Product info fetched', ['user'=>get_current_user_id(),'product_id'=>$product_id]); return [ 'success'=>true, 'data'=>$data ]; }, ]); // Usage endpoint register_rest_route( defined('AIQA_LITE_REST_NAMESPACE') ? AIQA_LITE_REST_NAMESPACE : 'aiqa/v1', '/usage', [ 'methods' => ['GET'], 'permission_callback' => function() { return current_user_can('view_aiqa_reports'); }, 'callback' => function( $request ) { // Placeholder: گزارش مصرف واقعی در فاز بعدی تکمیل می‌شود $data = [ 'total_requests'=>0, 'total_tokens'=>0, 'period'=>'(آزمایشی)' ]; aiqa_log('AIQA_USAGE', 'Usage report fetched', ['user'=>get_current_user_id()]); return [ 'success'=>true, 'data'=>$data ]; }, ]); // Export endpoint register_rest_route( defined('AIQA_LITE_REST_NAMESPACE') ? AIQA_LITE_REST_NAMESPACE : 'aiqa/v1', '/export', [ 'methods' => ['GET'], 'permission_callback' => function() { return current_user_can('view_aiqa_reports'); }, 'callback' => function( $request ) { $format = $request->get_param('format') ?: 'csv'; // Placeholder: خروجی واقعی در فاز بعدی تکمیل می‌شود $data = [ 'export'=>'(خروجی آزمایشی: پیاده‌سازی کامل در فاز بعدی)' ]; aiqa_log('AIQA_EXPORT', 'Export requested', ['user'=>get_current_user_id(),'format'=>$format]); return [ 'success'=>true, 'data'=>$data ]; }, ]); // Chat endpoint register_rest_route( defined('AIQA_LITE_REST_NAMESPACE') ? AIQA_LITE_REST_NAMESPACE : 'aiqa/v1', '/chat', [ 'methods' => ['POST'], 'permission_callback' => function() { return current_user_can('manage_aiqa'); }, 'callback' => function( $request ) { $params = $request->get_json_params(); $message = trim($params['message'] ?? ''); if ( !$message ) { aiqa_log('AIQA_CHAT', 'Empty chat message', ['user'=>get_current_user_id()]); return new WP_REST_Response([ 'success'=>false, 'error'=>'empty_message' ], 400); } // REST-only: will be proxied server-side in next phases aiqa_log('AIQA_CHAT', 'Chat message received (no provider call)', ['user'=>get_current_user_id(),'msg'=>$message]); return [ 'success'=>true, 'data'=>[ 'reply'=>'(پاسخ آزمایشی: پیاده‌سازی مدل در فاز بعدی انجام می‌شود)' ] ]; }, ]); دسر – دکتر کتو!
[apc_chatbot height="700px" width="100%" language="fa"]

دسر