> For the complete documentation index, see [llms.txt](https://recursos.demandu.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://recursos.demandu.tech/guia-de-productos-y-formacion/referencias-api/integracion-de-api-de-terceros/requisitos-que-debe-cumplir-del-api-de-un-tercero.md).

# Requisitos que debe cumplir del API de un tercero

Requisitos Generales de la API

La API que se integre a la plataforma **Demandu** debe cumplir con los siguientes requisitos generales:

1. **Tipo de API**: La API debe seguir la arquitectura RESTful, utilizando métodos HTTP estándar (GET, POST, PUT, DELETE, etc.).
2. **Autenticación**: La autenticación debe implementarse mediante un **token** de acceso.
   * El token de acceso puede ser enviado de dos maneras:
     1. **Como parámetro en la URL** (ejemplo: `https://api.demandu.com/resource?token=token)`
     2. **Como Bearer token en el encabezado** HTTP:
        1. Authorization: Bearer \[token]
3. **Lista de Endpoints**: Se  debe proporcionar una lista de endpoints con sus respectivos parámetros de entrada, salida y el método HTTP que utiliza.
4. **Encabezados Adicionales**: Se debe especificar si se requieren enviar encabezados adicionales, como el tipo de contenido aceptado.
5. **Estructura del Cuerpo de la Solicitud**: Algunos métodos HTTP estándar requieren enviar los parámetros de entrada como parte del cuerpo de la solicitud, por lo que es necesario especificar su estructura.

#### Consideraciones adicionales

* **Manejo de errores**: La API debe manejar y devolver los siguientes códigos de error estándar:
  * `400 Bad Request`: Si los parámetros enviados no son válidos.
  * `401 Unauthorized`: Si el token de autenticación es inválido o no se proporciona.
  * `404 Not Found`: Si el recurso solicitado no existe.
  * `500 Internal Server Error`: En caso de errores del servidor.
* **Formato de datos**: Todas las respuestas y solicitudes deben ser en formato **JSON**.
* **Tasa de peticiones**: Se puede imponer un límite de peticiones por minuto para evitar abusos, por ejemplo, 100 peticiones por minuto.
