> ## Documentation Index
> Fetch the complete documentation index at: https://docs.visitoai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Canales y conversaciones

> Consulta canales, sincroniza conversaciones y envía respuestas mediante la API M2M de Visito.

Usa estos endpoints para conectar Visito con un CRM, helpdesk o backend de operaciones. La URL base es:

```text theme={null}
https://platform-api.visitoai.com/m2m/v1
```

Envía `Authorization: Bearer <token>` desde el servidor. Consulta [Autenticación](/es/api-docs/authentication) para scopes, errores e idempotencia.

## Endpoints

| Operación             | Endpoint                                     | Scope                 |
| --------------------- | -------------------------------------------- | --------------------- |
| Listar canales        | `GET /channels`                              | `channels:read`       |
| Listar conversaciones | `GET /conversations`                         | `conversations:read`  |
| Obtener detalle       | `GET /conversations/{conversationId}`        | `conversations:read`  |
| Enviar una respuesta  | `POST /conversations/{conversationId}/reply` | `conversations:write` |

## Listar y leer conversaciones

`GET /conversations` devuelve la ventana de trabajo actual. Para mensajes anteriores de una conversación, usa `GET /conversations/{conversationId}` con `limit` y `before`.

## Enviar una respuesta

Incluye un `Idempotency-Key` estable en cada envío:

```bash theme={null}
curl -X POST "https://platform-api.visitoai.com/m2m/v1/conversations/CONVERSATION_ID/reply" \
  -H "Authorization: Bearer $VISITO_M2M_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: reply-123" \
  -d '{"text":"Your message"}'
```

La respuesta `202 Accepted` indica que el envío está en cola, no entregado. Guarda `conversationId`, `replyId`, `requestEventId`, `correlationId` e `Idempotency-Key` y vuelve a leer el detalle para reconciliar el resultado.

<Warning>
  Reintenta un envío únicamente con el mismo cuerpo y la misma clave de idempotencia. No expongas el token en frontend o apps móviles.
</Warning>

Cuando la ventana de respuesta de WhatsApp esté cerrada, utiliza una [plantilla aprobada](/es/api-docs/messaging-api-templates).
