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

# Guía para desarrolladores de la API M2M de Visito

> Crea automatizaciones, integraciones de servidor y flujos de IA con la API M2M de Visito para canales, conversaciones, plantillas y herramientas.

La Guía para desarrolladores de Visito está dirigida a equipos que crean integraciones de servidor: CRM, PMS, herramientas internas, agentes de IA, reportes y automatizaciones operativas.

La API machine-to-machine permite consultar canales conectados, sincronizar conversaciones, enviar respuestas, administrar herramientas personalizadas de IA y enviar plantillas aprobadas de WhatsApp.

## URL base

```bash theme={null}
https://api.visitoai.com/m2m/v1
```

Todas las solicitudes deben realizarse desde un backend. No llames a la API M2M desde código de navegador, aplicaciones móviles ni widgets incrustados.

## Definición OpenAPI

Usa la [definición OpenAPI](/openapi.json) como fuente para generar clientes, validar datos y dar contexto a asistentes de programación. La especificación contiene las rutas actuales, scopes, parámetros, cuerpos, respuestas y errores estructurados.

<Warning>
  Si un endpoint no aparece en la definición OpenAPI actual o en la Guía para desarrolladores, considéralo no disponible.
</Warning>

## Conceptos principales

* **Tenant**: cuenta de negocio a la que pertenece una credencial M2M.
* **Canal**: destino conectado de WhatsApp, Instagram, Messenger o Webchat.
* **Conversación**: hilo entre un usuario externo y un tenant de Visito.
* **Credencial M2M**: clave de servidor con scopes explícitos.
* **Idempotency-Key**: encabezado que evita envíos duplicados cuando una solicitud se reintenta.

## Patrón de solicitud

```http theme={null}
GET /m2m/v1/channels HTTP/1.1
Host: api.visitoai.com
Authorization: Bearer visito_m2m_...
Accept: application/json
```

Las operaciones de envío también requieren una clave de idempotencia:

```http theme={null}
Idempotency-Key: confirmacion-reserva-123
```

## Primeros pasos

<Steps>
  <Step title="Crear una clave M2M">
    Genera una credencial en el dashboard de Visito con únicamente los scopes que necesita tu integración.
  </Step>

  <Step title="Consultar los canales">
    Llama a `GET /m2m/v1/channels` y guarda el `channelId` del canal que utilizarás.
  </Step>

  <Step title="Sincronizar conversaciones">
    Usa `GET /m2m/v1/conversations` para cargar conversaciones en tu CRM o backend.
  </Step>

  <Step title="Enviar de forma segura">
    Incluye `Idempotency-Key` en cada envío y guarda los identificadores devueltos para conciliar el estado.
  </Step>
</Steps>

<Card title="Configurar autenticación M2M" icon="key" href="/es/api-docs/authentication">
  Crea credenciales, asigna scopes y autentica solicitudes de servidor.
</Card>
