only(['start', 'end', 'type', 'action']); $input = array_merge(['action' => 'index', 'type' => 'api'], $query); $startDate = $input['start'] ?? date('Y-01-01'); $endDate = $input['end'] ?? date('Y-12-31'); $baseParams = [ 'start_date' => $startDate, 'end_date' => $endDate, 'type' => $input['type'] ?? 'api', 'action' => $input['action'] ?? 'index', ]; $baseUrl = 'https://apoyos.comalcalco.gob.mx/beneficiaries/stats-by-date-range'; $countsUrl = 'https://apoyos.comalcalco.gob.mx/beneficiaries/counts-by-date'; try{ $response = Http::get($baseUrl, $baseParams); if(!$response->successful()){ return response()->json(['error' => 'Error del servicio'], $response->status()); } $mainData = $response->json(); $countsAc = []; try{ $countsResp = Http::get($countsUrl, [ 'start_date' => $startDate, 'end_date' => $endDate, ]); if($countsResp->successful()){ $countsAc = $countsResp->json(); } else { Log::error('Error al obtener los conteos de atención', ['status' => $countsResp->status()]); } }catch (\Exception $e) { Log::error('Error al obtener los conteos de atención', ['exception' => $e->getMessage()]); } $combinedData = array_merge( is_array($mainData) ? $mainData : [], [ 'counts' => $countsAc, ] ); return response()->json($combinedData, 200) ->header('Content-Type', 'application/json'); }catch (\Exception $e) { Log::error('Error en la consulta de atención', ['exception' => $e->getMessage()]); return response()->json(['error' => 'Error en la consulta de atención'], 500); } } }