# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://recursos.demandu.tech/guia-de-productos-y-formacion/integracion-de-api-de-terceros/requisitos-que-debe-cumplir-del-api-de-un-tercero.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
