Pipeline de API: publicar tus publicaciones en grupos a un ritmo marcado por su tráfico y seguir lo enviado y lo borrado
Índice: Pipelines de API — índice · Ciclo de vida: Pipeline de API: crear, configurar, iniciar, detener, medir y eliminar una campaña de Telegram de cualquier tipo
Objetivo: tus oráculos publican tus publicaciones en una lista de grupos, cada grupo al ritmo de su propio tráfico, y tú sigues lo enviado, lo borrado y lo respondido. Las respuestas a tus publicaciones se contestan según tu agenda.
Pasos
1. Crear (Paused).
POST /v0/my/campaigns
Idempotency-Key: ann-villas-1
{"title": "Villa offers", "kind": "mtproto_announcements", "project_nonce": "<Pro project>",
"posts": ["<post or posts workspace>"], "tg_groups": ["<preset nonce>"], "oracles": ["<oracle nonce>"],
"agenda": "<swappable agenda>", "speed": "medium", "mode": "linear", "forward": false, "join_missing": false}
→ {"nonce": "470380000000000001", "kind": "mtproto_announcements", "status": "Paused", …}
posts: tus tarjetas de publicación, o espacios con ellas; cada una necesita texto.mode:linear(los grupos por turnos) omagnet(primero los grupos más grandes).speed: x_slow | slow | medium | fast | x_fast: cuándo sale la siguiente ronda; las rondas más lentas esperan a que haya más grupos listos.forward: true: reenviar las publicaciones originales de Telegram en lugar de enviar copias; solo se pueden reenviar publicaciones que Cabi.Chat importó de Telegram; si no, start responde 400 e indica la publicación.join_missing: true(por defectofalse): cuando en un grupo le toca el turno a un oráculo que aún no está en él, se une; tu publicación sale a ese grupo en una ronda posterior. El oráculo se queda en el grupo.
2. Iniciar. POST /v0/my/campaigns/470380000000000001/start → {"success": true, "status": "Active", "is_active": true}.
3. Seguir.
GET /v0/my/campaigns/470380000000000001/sends?page=1&limit=50
→ {"rows": [{"username": "example_group", "message_id": 17552, "post": "…", "oracle": "…",
"sent_at": "…", "deleted_at": null, "replied_at": "…", "replies": 2}], "total": 56, "has_more": true, …}
GET /v0/my/campaigns/470380000000000001/performance
→ {"totals": {"sent": 56, "deleted": 33, "replied": 3, "groups": 39, "oracles": 2, …}, "timeline": […], "groups": […]}
Las publicaciones realmente enviadas también se guardan en el sent_posts_workspace de la campaña.
4. Detener. POST …/stop. La campaña sigue hasta que la detengas.
En segundo plano
- Un grupo recibe tu siguiente publicación cuando, desde la anterior, han pasado allí suficientes mensajes nuevos: los grupos activos reciben publicaciones más a menudo y los tranquilos esperan. Las publicaciones se van alternando.
- Tus campañas de un mismo proyecto comparten esa distancia: en un grupo cuenta la última publicación de cualquiera de ellas. Cada uno de tus oráculos también la respeta, sea cual sea la campaña para la que publique: un oráculo que publicó en un grupo hace muy poco se salta allí, y lo intenta el siguiente en el orden.
- Tus oráculos se turnan por grupo: cada grupo tiene su propio orden de oráculos, así que grupos distintos empiezan con oráculos distintos. Si un oráculo no puede publicar allí en ese momento, lo intenta el siguiente en el orden en la misma ronda; una publicación por grupo y ronda.
- Cada uno de tus oráculos mantiene además su propio ritmo constante de publicaciones en grupos, repartido a lo largo del día y compartido por todas tus campañas; un oráculo recién conectado empieza más despacio. Un oráculo al que aún no le toca se salta, y lo intenta el siguiente en el orden; si todavía no le toca a ninguno, el grupo espera a una ronda posterior.
- Un oráculo al que Telegram pide esperar se queda fuera hasta que pueda volver a enviar.
- Un grupo que ya no existe, o del que tus oráculos están vetados o en el que no pueden publicar, sale de las rondas. Sin
join_missing, se omite un grupo en el que no está ninguno de tus oráculos. - Un grupo cuyos administradores eliminan la mayoría de tus publicaciones se pausa automáticamente y se vuelve a intentar más tarde.
- Las respuestas a tus publicaciones se contestan según
agenda; esas respuestas son ejecuciones de IA; su coste aparece en tu gasto de IA: Pipeline de API: ver tu gasto en IA. Precios: link
Reglas
- Iniciar requiere un proyecto Pro, grupos, oráculos, publicaciones y una agenda: 400
assign telegram groups before activating,assign oracles before activating,assign posts before activating,announcements require an agenda assigned: replies to your posts are answered under it. - Respeta las normas de cada grupo: las publicaciones que borran sus admins aparecen como
deleted_at.
Superficie de la API
| Endpoint | Para qué | FE | IA / oráculo |
|---|---|---|---|
POST /v0/my/campaigns (kind: mtproto_announcements) |
Crear | sí | sí |
PATCH /v0/my/campaigns/{nonce} |
Publicaciones, grupos, oráculos, agenda, speed, mode, forward, join_missing | sí | sí |
POST /v0/my/campaigns/{nonce}/start, /stop |
Iniciar / detener | sí | sí |
GET /v0/my/campaigns/{nonce}/sends |
Cada mensaje enviado: borrado, respondido | sí | sí |
GET /v0/my/campaigns/{nonce}/performance |
Totales, evolución, por grupo | sí | sí, informes |