PARA DESARROLLADORES E IA
Empiece con una solicitud.
Una API HTTP común para cuentas normales de WhatsApp, Telegram y MAX. La documentación pública describe el contrato de la API; la lista de sus cuentas solo está disponible con su propia clave.
1. Cree una cuenta y una conexión
Regístrese con su correo, confirme la dirección mediante el mensaje recibido e inicie sesión en el panel. Elija un servicio de mensajería y complete el acceso disponible mediante QR o número de teléfono. Telegram requiere sus propias application API credentials. Los pasos adicionales de acceso se muestran en el panel.
2. Cree una clave API
En Perfil → Claves API, cree una clave independiente para su proyecto. La lectura está permitida de forma predeterminada; el permiso write es necesario para enviar mensajes y realizar otros cambios. El valor solo se muestra una vez. Guárdelo entre los secretos del backend, no en el navegador, Git ni en una instrucción para IA.
3. Obtenga las conexiones y el catálogo completo
curl 'https://api-senden.ru/api/v1/integrations/manifest' \
--header 'Authorization: Bearer YOUR_API_KEY'La respuesta contiene instances, connectedMessengers, commands y permissions. Подключения относятся только к вашему пространству, архивные исключены явно. Для отправки выберите аккаунт со state: connected.
4. Elija un chat, envíe y compruebe el resultado
Obtén los ID reales de chat mediante GET /api/v1/instances/{id}/chats. Envía texto y archivos mediante POST /api/v1/instances/{id}/messages con un único Idempotency-Key. La respuesta 202 indica cola, no entrega. Los estados y mensajes están disponibles por historial, SSE, webhooks y cola de notificaciones. Consulta las capacidades abajo.
En MAX, contacts.lookup devuelve actualmente un ID de usuario que no debe interpretarse automáticamente como el ID de un chat privado. Utilice un ID de la lista de chats como destino. No reenvíe un mensaje con una clave nueva mientras se desconozca el resultado del primer envío.
Eventos y seguridad de webhooks
En los webhooks, verifique la firma HMAC y procese los eventos de forma idempotente. El endpoint debe ser una dirección HTTPS pública; las redes locales y privadas están bloqueadas. SSE ofrece un flujo de eventos; obtener una notificación de la cola crea un lease y requiere write, seguido de una confirmación ack. Los parámetros completos y los formatos de las solicitudes se describen en OpenAPI.
Materiales listos para usar
Sin claves, códigos QR, sesiones ni datos de usuarios. Al ejecutar los clientes solo se realiza una solicitud discovery.
Catálogo completo: 70 comandos HTTP
Este es el catálogo común de la API; la compatibilidad de cada comando nativo y la necesidad de una conexión activa se indican por separado. El catálogo /methods contiene únicamente el subconjunto nativo.
| Método y ruta | Función | Compatibilidad | Permisos |
|---|---|---|---|
GET/api/v1/health | Comprobación del proceso | whatsapp, telegram, max | read |
GET/api/v1/status | Conexiones y estados | whatsapp, telegram, max | read |
POST/api/v1/instances | Crear conexión | whatsapp, telegram, max | write |
GET/api/v1/instances | Obtener conexiones activas o archivadas | whatsapp, telegram, max | read |
DELETE/api/v1/instances/{id} | Detener y archivar una conexión conservando el historial y la sesión | whatsapp, telegram, max | write |
PATCH/api/v1/instances/{id} | Cambiar el nombre de una conexión | whatsapp, telegram, max | write |
GET/api/v1/instances/{id} | Estado de la conexión | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/restore | Restaurar desde el archivo dentro de los límites, sin conectar automáticamente | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/connect | Iniciar el acceso | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/auth | Continuar el paso actual de acceso | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/stop | Detener conservando la sesión | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/logout | Solicitar el cierre de sesión | whatsapp, telegram, max | write |
GET/api/v1/instances/{id}/chats | Obtener chats | whatsapp, telegram, maxRequiere conexión | read |
GET/api/v1/instances/{id}/messages | Historial de mensajes guardado | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/messages | Poner texto o un archivo en cola | whatsapp, telegram, max | writeIdempotency-Key |
POST/api/v1/instances/{id}/messages/from-url | Descargar de forma segura un archivo HTTPS y poner el documento en cola | whatsapp, telegram, max | writeIdempotency-Key |
GET/api/v1/instances/{id}/settings | Configuración de conexiones y eventos | whatsapp, telegram, max | read |
PUT/api/v1/instances/{id}/settings | Cambiar la configuración | whatsapp, telegram, max | write |
GET/api/v1/instances/{id}/queue | Cola persistente de mensajes | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/queue/clear | Cancelar todos los mensajes queued | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/queue/{messageId}/cancel | Cancelar un mensaje queued | whatsapp, telegram, max | write |
POST/api/v1/instances/{id}/queue/{messageId}/retry | Reintentar solo una operación con error failed confirmado | whatsapp, telegram, max | write |
GET/api/v1/instances/{id}/notifications/stats | Número de notificaciones pendientes y procesadas | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/notifications/receive | Obtener una notificación con lease y espera | whatsapp, telegram, max | write |
DELETE/api/v1/instances/{id}/notifications/{receiptId} | Confirmar el procesamiento del recibo actual | whatsapp, telegram, max | write |
GET/api/v1/instances/{id}/deliveries | Resultados de entrega de webhooks | whatsapp, telegram, max | read |
GET/api/v1/instances/{id}/deliveries/stats | Contadores de tareas de webhook | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/deliveries/clear | Cancelar webhooks pendientes, en reintento y dead-letter | whatsapp, telegram, max | write |
GET/api/v1/instances/{id}/deliveries/{jobId}/attempts | Registro de intentos de webhook | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/deliveries/{jobId}/retry | Reintentar un webhook de dead-letter | whatsapp, telegram, max | write |
GET/api/v1/events | Eventos con cursor | whatsapp, telegram, max | read |
GET/api/v1/stream | Flujo de eventos SSE | whatsapp, telegram, max | read |
POST/api/v1/files | Subir un archivo de hasta 20 MB | whatsapp, telegram, max | write |
GET/api/v1/files/{fileId} | Descargar un archivo local subido anteriormente | whatsapp, telegram, max | read |
PUT/api/v1/config | Configuración de la aplicación y de las conexiones de red | whatsapp, telegram, max | write |
GET/api/v1/methods | Catálogo de operaciones disponibles | whatsapp, telegram, max | read |
GET/api/v1/integrations/manifest | Conexiones del espacio de trabajo actual, comandos y archivos de integración listos para usar, sin claves ni datos de autenticación | whatsapp, telegram, max | read |
GET/api/v1/integrations/files/{name} | Descargar una plantilla de integración o el paquete ZIP completo sin datos personales | whatsapp, telegram, max | read |
POST/api/v1/instances/{id}/operations/account.settings.get | Perfil de la cuenta conectada | whatsapp, telegram, maxRequiere conexión | read |
POST/api/v1/instances/{id}/operations/contacts.list | Lista de contactos | whatsapp, telegram, maxRequiere conexión | read |
POST/api/v1/instances/{id}/operations/contacts.get | Información del contacto | whatsapp, telegram, maxRequiere conexión | read |
POST/api/v1/instances/{id}/operations/contacts.lookup | Comprobar si existe una cuenta por número de teléfono o ID | whatsapp, telegram, maxRequiere conexión | read |
POST/api/v1/instances/{id}/operations/contacts.create | Añadir un contacto | telegram, maxRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/contacts.update | Editar un contacto | telegramRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/contacts.delete | Eliminar un contacto | telegram, maxRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/profile.avatar.get | Obtener una imagen de perfil | whatsappRequiere conexión | read |
POST/api/v1/instances/{id}/operations/messages.history | Cargar el historial desde el servicio de mensajería | telegram, maxRequiere conexión | read |
POST/api/v1/instances/{id}/operations/messages.get | Obtener un mensaje del servicio de mensajería | telegram, maxRequiere conexión | read |
POST/api/v1/instances/{id}/operations/messages.read | Marcar mensajes como leídos | whatsapp, telegram, maxRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.delete | Eliminar un mensaje | whatsapp, telegram, maxRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.edit | Editar el texto de un mensaje | whatsapp, telegram, maxRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.forward | Reenviar los mensajes seleccionados | whatsapp, telegram, maxRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.react | Cambiar una reacción a un mensaje | whatsapp, telegram, maxRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.contact | Enviar una tarjeta de contacto | whatsapp, telegramRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.location | Enviar una ubicación | whatsapp, telegramRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/messages.poll | Enviar una encuesta | whatsapp, telegramRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/chats.typing | Mostrar el indicador de escritura | whatsapp, telegramRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/chats.archive | Archivar un chat | whatsapp, telegramRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/chats.unarchive | Desarchivar un chat | whatsapp, telegramRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/chats.expiration | Configurar mensajes temporales | whatsapp, telegramRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/chats.reactions | Obtener las reacciones disponibles | telegramRequiere conexión | read |
POST/api/v1/instances/{id}/operations/groups.get | Información del grupo | whatsapp, telegram, maxRequiere conexión | read |
POST/api/v1/instances/{id}/operations/groups.create | Crear un grupo | whatsapp, telegram, maxRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.rename | Cambiar el nombre de un grupo | whatsapp, telegramRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.members.add | Añadir un miembro | whatsapp, telegram, maxRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.members.remove | Eliminar un miembro | whatsapp, telegram, maxRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.admins.add | Nombrar un administrador del grupo | whatsappRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.admins.remove | Retirar los permisos de administrador del grupo | whatsappRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.leave | Salir de un grupo | whatsapp, telegram, maxRequiere conexión | writeIdempotency-Key |
POST/api/v1/instances/{id}/operations/groups.settings | Cambiar un permiso del grupo | whatsappRequiere conexión | writeIdempotency-Key |
DE LA IDEA A LA INTEGRACIÓN
Conecte su primera cuenta
Cree una cuenta, confirme su correo y empiece solicitando la lista de conexiones.