# APIV2

La URL para hacer uso de API v2 cambia a <https://api.chatapi.net/v2>. El protocolo HTTPS es OBLIGATORIO

Esta versión de API seguirá las convenciones de RESTful cuando seaposible, y la mayoría de las operaciones pueden ser realizadas a través de solicitudes GET, POST, PUT y DELETE. Los cuerpos de las solicitudes y las respuestas se codifican como JSON.

## Autenticación

Se hace uso de un Token de Acceso  API para autenticar las solicitudes. Puedes ver y gestionar tu token de acceso en el módulo Configuración > Integración > API para desarrolladores.

Puedes generar hasta 10 tokens de acceso por espacio de trabajo. Cada organización está limitada a generar un máximo de 10 tokens de acceso.

La autenticación se pasa a través del encabezado de Autorización con cada solicitud.

## Tasa de límites

Se estableció una limitación en la cantidad de solicitudes que se pueden enviar por cada end-point. Los límites se aplican a nivel de organización.

Las respuestas de la API contienen cabeceras de límite de velocidad útiles para comprobar las solicitudes restantes.

| Nombre                  | Descripción                                                            |
| ----------------------- | ---------------------------------------------------------------------- |
| `Retry-After`           | Cantidad de segundos antes de que puedas volver a enviar una solicitud |
| `X-RateLimit-Limit`     | Cantidad de solicitudes permitidas para este end-point                 |
| `X-RateLimit-Remaining` | Cantidad de solicitudes restantes disponibles en este end-point        |

## Límites

| Nombre de API                            | Endpoint                                      | Solicitudes por segundo |
| ---------------------------------------- | --------------------------------------------- | ----------------------- |
| Enviar un mensaje                        | `/contact/{identifier}/message`               | 10                      |
| Obtener un mensaje                       | `/contact/{identifier}/message/{messageId}`   | 15                      |
| Crear un comentario                      | `/contact/{identifier}/comment`               | 10                      |
| Obtener un contacto                      | `/contact/{identifier}`                       | 10                      |
| Crear, actualizar o eliminar un contacto | `/contact/{identifier}`                       | 5                       |
| Fusionar dos contactos                   | `/contact/merge`                              | 5                       |
| Crear o actualizar un contacto           | `/contact/create_or_update/{identifier}`      | 5                       |
| Añadir o eliminar etiquetas              | `/contact/{identifier}/tag`                   | 5                       |
| Listar canales por contacto              | `/contact/{identifier}/channels`              | 5                       |
| Obtener el canal de un contacto          | `/contact/{identifier}/channel/{channelId}`   | 10                      |
| Asignar/Desasignar una conversación      | `/contact/{identifier}/conversation/assignee` | 5                       |
| Abrir/Cerrar una conversación            | `/contact/{identifier}/conversation/status`   | 5                       |
| Listar canales en un espacio             | `/space/channel`                              | 5                       |
| Listar notas de cierre                   | `/space/closing_notes`                        | 5                       |
| Listar usuarios por espacio              | `/space/user`                                 | 5                       |
| Obtener un usuario de un espacio         | `/space/user/{id}`                            | 10                      |
| Crear campo de contacto                  | `/space/contact_field`                        | 5                       |
| Obtener campo de contacto                | `/space/contact_field/{id}`                   | 10                      |
| Listar campos de contacto                | `/space/contact_field`                        | 5                       |

## Códigos de respuesta HTTP

| Codigo de estado      | Descripción                                                                                                                                                                                       |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 200 Ok                | La solicitud se ha realizado con éxito y se ha proporcionado la respuesta adecuada.                                                                                                               |
| 201 Created           | La solicitud se ha cumplido, dando lugar a la creación de un nuevo recurso.                                                                                                                       |
| 400 Bad request       | Hay un error en el lado del cliente y, como resultado, el servidor no puede devolver una respuesta. Por ejemplo, el correo electrónico, el teléfono o el ID del contacto no son válidos.          |
| 401 Unauthorised      | El token de acceso no es válido.                                                                                                                                                                  |
| 404 Not Found         | Dado el token de acceso utilizado, el recurso no existe.                                                                                                                                          |
| 429 Too many requests | Esta solicitud excede el número de solicitudes permitidas. Reduzca la velocidad y vuelva a intentarlo.                                                                                            |
| 502/504 timeouts      | El servidor ascendente no ha proporcionado una respuesta oportuna al segundo servidor, que actualmente sirve de pasarela o proxy. Como resultado, no puede proporcionar una respuesta al cliente. |
| 503                   | El servidor no puede procesar la solicitud porque está sobrecargado o está en mantenimiento.                                                                                                      |


---

# 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://docs.1980tic.us/api-de-desarrolladores/apiv2.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.
