# Notificaciones de eventos en tu propio bot de Telegram

Un postback puede ir a otro sitio, no solo a tu tracker. La misma petición puede arrancar un escenario en Make y llegarte a Telegram como mensaje: registro, depósito, comisión — con el importe, la campaña y tu etiqueta de fuente ya dentro.

- **Resultado:** Una cadena postback → Make → bot que funciona: tu propio webhook, un filtro por evento y un texto de mensaje listo para cada evento que sigas.
- **Duración:** 30–40 minutos

## 01. Cómo funciona la cadena

Entre la acción del trader y el mensaje en tu chat hay tres pasos. El sistema de afiliados envía un postback, Make lo recibe y arma el texto, y tu bot lo entrega.

> Make no calcula ni cambia nada. Recibe los mismos datos que recibe tu tracker y los muestra en un formato legible.

1. **El trader genera un evento.** Un registro, un depósito, un retiro o una comisión ya acreditada.
2. **La petición llega a Make.** El postback va a la dirección del webhook y el escenario arranca.
3. **Filtro y texto.** El escenario comprueba qué evento llegó y construye el mensaje con los parámetros de la petición.
4. **El bot envía el mensaje.** Escribe en tu chat privado, grupo o canal — normalmente en segundos.

El postback de Telegram es un postback adicional, no un sustituto del que va al tracker. Pregunta a tu manager si se permite un segundo destino para el mismo evento; si no, deja el tracker como principal y reenvía la petición desde Make con un módulo HTTP.

## Partner Postback Bot

Postbacks sin tracker, directos a Telegram. El bot es el tracker. Elige los eventos, recibe las URL ya armadas con sus macros y pégalas en el panel: los registros, los depósitos y la comisión llegan a tu chat privado con el importe, la campaña y la etiqueta de la fuente.

- No necesitas un tracker propio
- Tres toques hasta las URL listas
- 9 eventos y 21 macros: la lista completa del panel
- Tu semana en un solo mensaje con /stats

[Abrir el bot en Telegram ↗](https://t.me/affpartnerpostbackbot) — Gratis. Responde en ruso, inglés, español, portugués y francés.

## 02. Qué preparar

Tres cosas antes de empezar. Llevan unos diez minutos y después el escenario se arma sin pausas.

### Make — Una cuenta en Make

El plan gratuito basta para empezar: 1 000 operaciones al mes. Una notificación entregada gasta dos — recibir la petición y enviar el mensaje.

- Plan gratuito
- ≈500 notificaciones al mes

[Crear una cuenta en Make](https://www.make.com/en/register)

### BotFather — Tu propio bot y su token

Envía a @BotFather el comando /newbot, elige un nombre y un usuario, y recibirás un token parecido a 8123456789:AAH… Es la contraseña del bot: nunca lo publiques ni lo reenvíes a un chat compartido.

- El comando /newbot
- El token es una contraseña

[Abrir @BotFather](https://t.me/BotFather)

### Chat ID — El id del chat

Chat privado: envía /start al bot y abre api.telegram.org/botTOKEN/getUpdates en el navegador, con tu propio token en lugar de TOKEN — la respuesta trae el chat id. Grupo: añade primero el bot; el id de un grupo empieza con un signo menos. Canal: haz al bot administrador.

- Chat privado
- Grupo
- Canal

Un bot no puede escribir primero a quien nunca le ha escrito. Si no llega nada a tu chat privado, abre el bot y pulsa Start.

## 03. Paso 1. El webhook de Make

Un webhook es una dirección que espera una petición. Va primero, porque la URL del postback se construye sobre esa dirección.

1. **Crea un escenario.** En Make, abre Scenarios y pulsa Create a new scenario.
2. **Añade el módulo Webhooks.** Pulsa «+», busca Webhooks y elige Custom webhook.
3. **Crea el webhook.** Add → ponle un nombre, por ejemplo PocketPartners Events → Save. Make devuelve una dirección receptora.
4. **Copia la dirección entera.** Usa Copy address to clipboard. La región cambia según la cuenta — eu1, eu2 o us1 —, así que usa tu propia dirección y no la del ejemplo.
5. **No le añadas nada.** No hace falta que agregues parámetros propios: todos los valores llegan desde el postback.

**Una dirección de webhook se ve así:**

```
https://hook.eu2.make.com/9f31c2ad74qz8mvb1kxs
```

Esa es la dirección receptora. En el siguiente paso se convierte en el comienzo de la URL del postback.

## 04. Paso 2. Un postback a esa dirección

Ahora crea en tu panel de partner el postback que envía los eventos a Make. La regla es la misma que para un tracker: un evento, un postback.

1. **Abre Postbacks → Add New Postback.** El tipo Global envía los eventos de toda la cuenta; Campaign envía solo los de la campaña que elijas.
2. **Elige el evento.** Registration, First Deposit, Re-deposit, Withdrawal o Commission. Cada evento que quieras recibe su propio postback.
3. **Arma la URL.** La dirección del webhook, después ?event= con tu propio valor y después los parámetros con sus macros. El primer parámetro siempre va tras un ?, y cada uno de los siguientes tras un &.
4. **Envía todo lo que quieras ver en el mensaje.** Un valor solo llega a Make si su macro está en la URL. Si la ficha del evento activa y desactiva parámetros, activa los mismos que pusiste en la URL: un parámetro desactivado no se envía.
5. **Guárdalo y repite con los demás eventos.** Cada evento lleva su propio valor de event=. Ese valor es lo que permite al escenario distinguir un registro de un depósito.

**La URL del postback para un registro:**

```
https://hook.eu2.make.com/9f31c2ad74qz8mvb1kxs?event=registration&trader_id={trader_id}&cid={cid}&ac={ac}&country={country}&date_time={date_time}
```

A la izquierda, la dirección del webhook, sin cambios. event=registration es tu propia etiqueta del evento. Después vienen los nombres de parámetros y los macros: el sistema los rellena con valores reales al enviar la petición.

Para la lista completa de macros y un constructor de URL, mira [Postbacks: para qué sirven y cómo construir la URL](https://playbook.affpartners.io/es/affiliate/lessons/postback-setup/).

## Auto-Postback

Nueve postbacks sin nueve pasadas por el formulario. La extensión se abre desde el icono de la barra, pregunta qué tracker usas y crea los postbacks en tu panel de partner, con los nombres de parámetro que ese tracker espera. La lista de parámetros la lee del propio panel, así que un macro añadido allí se recoge solo.

- Keitaro, Partner Postback Bot o cualquier otro receptor
- Los nombres de parámetro se ajustan a los que acepta tu tracker
- Cada URL se muestra entera antes de crear nada
- Sin servidor nuestro: nada sale del panel

[Instalar desde Chrome Web Store ↗](https://partner-bot.affpartners.io/ext/es) — Gratis. Chrome en un ordenador, con la sesión en la que tienes abierto el panel.

## 05. Paso 3. Un evento de prueba

Make no sabe qué campos van a llegar hasta que ve la primera petición. Por eso el texto del mensaje se escribe después de la prueba, no antes.

1. **Ponte a la escucha.** En el escenario, pulsa Run once — el webhook queda esperando una única petición.
2. **Envía un evento.** La vía rápida: abre en el navegador la URL que armaste con los macros sustituidos por cualquier valor. La comprobación completa es un registro de prueba con tu propio enlace de afiliado.
3. **Mira qué llegó.** En el módulo aparece un contador, y en su salida se listan los campos: event, trader_id, cid y todo lo demás que hayas enviado.
4. **Vuelve a determinar la estructura tras cada cambio.** ¿Añadiste un parámetro al postback? Pulsa Re-determine data structure y envía el evento otra vez, o el campo nuevo no aparecerá en la lista.

Una salida vacía casi siempre significa una cosa: a la URL del postback le faltan parámetros o está mal armada. Comprueba que el primer parámetro va tras un ? y no tras un &.

## 06. Paso 4. Filtro y mensaje

Quedan dos módulos: un filtro descarta los eventos que no pediste y Telegram envía el texto. Arma el texto aquí abajo — el constructor mapea los campos de Make y muestra cómo llegará el mensaje al chat.

**El filtro entre el webhook y Telegram.** La condición se pone en la conexión entre los módulos: a la izquierda el campo event del webhook, el operador Equals y a la derecha el valor del evento. Sin filtro, al chat llegan todos los eventos.

```
1.event Equals registration
```

**Registro:**

```
🆕 Nuevo registro
👤 Trader ID: {{ifempty(1.trader_id; "—")}}
📌 Campaña: {{ifempty(1.cid; "—")}}
🔖 Etiqueta sub_id1: {{ifempty(1.sub_id1; "—")}}
🌍 País: {{ifempty(1.country; "—")}}
🕒 Hora del evento: {{ifempty(1.date_time; "—")}}
```

A la izquierda, el valor que llega del postback; a la derecha, la etiqueta con la que aparece en el chat. Reescribe cualquier etiqueta a tu gusto.

### El módulo de Telegram

1. **Add a module → Telegram Bot → Send a Text Message.** Va después del filtro, el último del escenario.
2. **Create a connection.** Pega el token de @BotFather. El token vive en la conexión — nunca debe aparecer en el texto del mensaje.
3. **Chat ID.** El id del chat al que escribir. El id de un grupo lleva un signo menos.
4. **Text.** Pega el texto ya listo del constructor de arriba.
5. **Guarda el escenario y enciéndelo.** El interruptor del escenario tiene que estar en ON: un escenario apagado no capta eventos.

Deja Parse mode vacío. Con Markdown o HTML el mensaje falla en cuanto un valor contiene _, * o <: Telegram responde con un error 400.

## 07. Comprobaciones y errores frecuentes

Repasa la lista antes de empezar a depender de las notificaciones. Casi todo lo que falla aquí tiene una de dos causas: una URL de postback incompleta o un escenario apagado.

### Lo que más se rompe

| Síntoma | Causa | Qué hacer |
| --- | --- | --- |
| A Make solo llega event | Los demás macros faltan en la URL del postback, o sus interruptores están apagados | Añade los macros a la URL, guarda y pulsa Re-determine data structure |
| No llega ningún mensaje | El bot no puede escribir primero, el chat id es incorrecto o el escenario está apagado | Pulsa Start en el chat con el bot, revisa el chat id y enciende el escenario |
| Telegram responde con un error 400 | El texto está vacío, o Parse mode falla por un carácter dentro de los datos | Deja Parse mode vacío y activa el marcador para los valores vacíos |
| Al chat llegan todos los eventos | No hay filtro entre el webhook y Telegram | Añade un filtro por el valor de event en cada escenario |
| La campaña llega vacía | La URL del postback no lleva los macros {cid} y {ac} | Añade los dos y vuelve a determinar la estructura de datos |
| Los mensajes llegan dos veces | Hay dos postbacks o dos escenarios configurados para el mismo evento | Revisa qué postback tienes configurado en el panel y qué escenarios están activos en Make |
| Las notificaciones se cortaron a mitad de mes | Se agotaron las operaciones del plan | Deja notificaciones solo para los eventos con dinero: primer depósito, depósito repetido, comisión |

- El webhook existe y su dirección se copió entera y sin tocar.
- Cada evento tiene su propio postback con su propio valor de event=.
- Llegó un evento de prueba: la salida del webhook muestra todos los campos que necesitas.
- Entre el webhook y Telegram hay un filtro por el valor de event.
- El módulo de Telegram tiene la conexión y el Chat ID rellenos, con Parse mode vacío.
- El escenario está guardado y encendido en ON.
- El token del bot no se envió a nadie y no quedó en ningún historial de chat.

Para saber qué hacer después con estos eventos, mira la lección [Analítica y crecimiento](https://playbook.affpartners.io/es/affiliate/lessons/analytics-and-growth/).

## Seguridad y limitaciones

Solo para personas mayores de 21 años. Operar con instrumentos financieros implica un riesgo significativo y puede provocar la pérdida de los fondos invertidos. Los materiales de Affiliate Academy tienen fines exclusivamente educativos, no constituyen asesoramiento de inversión y no garantizan ganancias.

## Crece con GameChange Partners

[Explorar el programa de afiliados ↗](https://gamechange.partners/es?utm_source=academy&utm_medium=referral&utm_campaign=gcpacademy)