### 2.
Cómo probar la API
Puedes probar la API usando Postman o cURL. Aquí tienes un ejemplo
usando cURL:
```bash
curl -X POST -H "Content-Type: application/xml" -d '<datos>
<Nombre>Vacaciones</Nombre>
<Descripcion>Vacaciones de verano</Descripcion>
<FechaInicio>2024-07-01</FechaInicio>
<DiasSolicitados>10</DiasSolicitados>
<FechaRegreso>2024-07-11</FechaRegreso>
<DiasRestantes>5</DiasRestantes>
<PersonaACargo>Juan Pérez</PersonaACargo>
<CorreoPersonaACargo>[email protected]</CorreoPersonaACargo>
<CelularPersonaACargo>123456789</CelularPersonaACargo>
<Observaciones>Sin observaciones</Observaciones>
</datos>' http://tu-servidor/api.php
```
### 3. Notas
- Asegúrate de que tu servidor tenga habilitado el módulo `libxml`
para procesar XML.
- Considera agregar validaciones para asegurar que los datos sean
correctos antes de procesarlos.
- Implementa medidas de seguridad para proteger tu API, como
autenticación y sanitización de datos.
### 1. Crear el archivo `api.php`
```php
<?php
// Establece el tipo de contenido
header("Content-Type: application/json; charset=utf-8");
// Obtén el contenido JSON de la solicitud
$json = file_get_contents('php://input');
// Decodifica el JSON
$data = json_decode($json, true);
// Verifica si la decodificación fue exitosa
if (json_last_error() !== JSON_ERROR_NONE) {
// Manejar errores en el JSON
$response = [
"status" => "error",
"message" => "Invalid JSON",
"errors" => json_last_error_msg()
];
echo json_encode($response);
exit;
}
// Extraer los campos del JSON
$nombre = $data['Nombre'] ?? null;
$descripcion = $data['Descripcion'] ?? null;
$fechaInicio = $data['FechaInicio'] ?? null;
$diasSolicitados = $data['DiasSolicitados'] ?? null;
$fechaRegreso = $data['FechaRegreso'] ?? null;
$diasRestantes = $data['DiasRestantes'] ?? null;
$personaACargo = $data['PersonaACargo'] ?? null;
$correoPersonaACargo = $data['CorreoPersonaACargo'] ?? null;
$celularPersonaACargo = $data['CelularPersonaACargo'] ?? null;
$observaciones = $data['Observaciones'] ?? null;
// Aquí puedes procesar los datos, por ejemplo, guardarlos en una base
de datos
// Respuesta de éxito
$response = [
"status" => "success",
"message" => "Datos recibidos correctamente"
];
echo json_encode($response);
?>