diff --git a/app/Services/RepuveService.php b/app/Services/RepuveService.php index dfda03d..a3c44f9 100644 --- a/app/Services/RepuveService.php +++ b/app/Services/RepuveService.php @@ -118,7 +118,11 @@ public function consultarPadron(string $niv) $this->asegurarCargaCredenciales(); $url = $this->baseUrl . $this->roboEndpoint; - $arg2 = $niv . '|||||||'; + + // 8 posiciones: [0]=NIV, [1]=vacío, [2]=placa, [3-7]=vacíos + $campos = array_fill(0, 8, ''); + $campos[0] = $niv; + $arg2 = implode('|', $campos); $soapBody = << @@ -278,14 +282,12 @@ public function verificarRobo(?string $niv = null, ?string $placa = null): array $url = $this->baseUrl . $this->roboEndpoint; - // Construir arg2 según los parámetros enviados - if (!empty($niv) && !empty($placa)) { - $arg2 = $niv . '|' . $placa . str_repeat('|', 5); - } elseif (!empty($niv)) { - $arg2 = $niv . str_repeat('|', 7); - } else { - $arg2 = '||' . $placa . str_repeat('|', 5); - } + // 8 posiciones: [0]=NIV, [1]=vacío, [2]=placa, [3-7]=vacíos + // Ejemplo: LSGHD52H0ND032457||WNU700B||||| + $campos = array_fill(0, 8, ''); + $campos[0] = $niv ?? ''; + $campos[2] = $placa ?? ''; + $arg2 = implode('|', $campos); Log::channel('repuve_nacional')->info('REPUVE verificarRobo: Cadena construida', [ 'niv' => $niv, @@ -384,12 +386,12 @@ public function consultarVehiculo(?string $niv = null, ?string $placa = null) $url = $this->baseUrl . '/jaxws-consultarpv/ConsultaRpv'; - // Construir arg2: NIV|||||||| - if ($placa) { - $arg2 = ($niv ?? '') . '|' . $placa . str_repeat('|', 5); - } else { - $arg2 = ($niv ?? '') . str_repeat('|', 7); - } + // 8 posiciones: [0]=NIV, [1]=vacío, [2]=placa, [3-7]=vacíos + // Ejemplo: LSGHD52H0ND032457||WNU700B||||| + $campos = array_fill(0, 8, ''); + $campos[0] = $niv ?? ''; + $campos[2] = $placa ?? ''; + $arg2 = implode('|', $campos); $soapBody = <<