> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/productos/landing/resultados-y-callbacks/implementacion-basica.md).

# Implementación básica

## Implementación

La implementación por parte del cliente es bastante sencilla; debe implementar una llamada POST en su API o servicio con los siguientes requisitos:

* Un método post que admita un máximo de 10 megabytes de `body parser`.

#### Ejemplos de implementación

En Javascript:

```javascript
const express = require('express');
const bodyParser = require('body-parser');
const app = express();

app.use(bodyParser.json({ limit: '10mb' }));

app.post('/example', (req, res) => {
  // Accede a los datos de la solicitud a través del cuerpo
  console.log(req.body);
  res.send('POST request received successfully');
});
```

En Java:

1. Importa las librerías necesarias, como `org.springframework.web.bind.annotation.PostMapping` y `org.springframework.web.bind.annotation.RequestBody`.

```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
```

2. Crea una ruta para la solicitud POST y utiliza la anotación `@RequestBody` para analizar el cuerpo de la solicitud.

```java
@PostMapping("/example")
public String example(@RequestBody String body) {
  // Accede a los datos de la solicitud a través del cuerpo
  System.out.println(body);
  return "POST request received successfully";
}
```

3. Configura la propiedad `spring.servlet.multipart.max-request-size` en el archivo de configuración de tu aplicación (como `application.properties`) para establecer el límite máximo de tamaño de la solicitud.

```java
spring.servlet.multipart.max-request-size=10MB
```

Con estos pasos, has creado una solicitud POST en Java que admite un `body parser` de 10 MB. Ten en cuenta que el límite máximo de tamaño de la solicitud también se puede establecer a través de otras opciones, como `@RequestPart` y `MultipartConfigElement`.

> Ten en cuenta que los objetos JSON enviados por nuestro servicio pueden no seguir el mismo orden que se muestra en la documentación, y algunos campos pueden ser nulos. Es esencial realizar un análisis adecuado de los objetos JSON recibidos. A continuación, se muestra un ejemplo de cómo analizar una cadena JSON, similar a la que se podría encontrar en la respuesta de una solicitud POST, en un objeto JSON para su consumo:
>
> ```java
> import org.json.JSONObject;
>
> public class JsonParser {
>
>     public static void main(String[] args) {
>         String jsonString = "{ \"resultJSON\": { \"imageFront\": \"IMAGE1\", \"imageBack\": \"IMAGE2\", \"imageSelfie\": "IMAGE3\" } }";
>         JSONObject jsonObject = new JSONObject(jsonString);
>
>         JSONObject resultJSON = jsonObject.getJSONObject("resultJSON");
>
>         String imageFront = resultJSON.getString("imageFront");
>         String imageBack = resultJSON.getString("imageBack");
>         String imageSelfie = resultJSON.getString("imageSelfie");
>
>         System.out.println("Image Front: " + imageFront);
>         System.out.println("Image Back: " + imageBack);
>         System.out.println("Image Selfie: " + imageSelfie);
>     }
> }
> ```
