<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Contracts\HttpClient\HttpClientInterface;
use Symfony\Component\Security\Core\Security;
/**
* @Route("/registro_civil")
*/
class RegistroCivilController extends AbstractController
{
/**
* @var Security
*/
private $security;
public function __construct(Security $security)
{
date_default_timezone_set("America/Guayaquil");
$this->security = $security;
}
/**
* @Route("/", name="registro_civil_index", methods={"GET","POST"})
*/
public function registroCivil( Request $request, HttpClientInterface $client): JsonResponse {
$cedula = $request->request->get('cedula');
if (!$cedula) {
return new JsonResponse([
'error' => true,
'mensaje' => 'Parámetro Empleado es obligatorio'
], 400);
}
$url = 'https://saccs.acess.gob.ec/wsc/registrocivil/infopersona/' . $cedula;
try {
$response = $client->request('GET', $url, [
'verify_peer' => false, // ⚠️ solo si el SSL da problemas
'timeout' => 30,
]);
$statusCode = $response->getStatusCode();
if ($statusCode !== 200) {
return new JsonResponse([
'error' => true,
'mensaje' => 'Error en API Registro Civil',
'status' => $statusCode
], $statusCode);
}
// Convierte automáticamente a array
$data = $response->toArray(false);
return new JsonResponse($data);
} catch (\Throwable $e) {
return new JsonResponse([
'error' => true,
'mensaje' => 'Error al consumir API',
'detalle' => $e->getMessage()
], 500);
}
}
}