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

# Постбэки

> Настройка постбэков для RevShare на OnlyTraffic: события, макросы и интеграция с трекерами.

Callbacks (постбэки) позволяют получать уведомления о событиях в реальном времени: новые подписчики, транзакции и клики по Smart Links. Данные отправляются на ваш URL с заполненными макросами.

## Доступные события

| Событие           | Когда срабатывает                                    |
| ----------------- | ---------------------------------------------------- |
| `new_subscriber`  | Новый фанат подписался через вашу ссылку             |
| `new_transaction` | Фанат совершил покупку (PPV, чаевые, подписка и др.) |
| `smartlink_click` | Клик по Smart Link (только для Smart Links)          |
| `marketing_stop`  | Кампания остановлена                                 |

## Настройка

Callbacks настраиваются на трёх уровнях:

1. **По умолчанию** — в настройках аккаунта. Применяется ко всем новым кампаниям.
2. **На кампанию** — индивидуальная настройка для конкретной кампании.
3. **На Smart Link** — настройка при создании Smart Link.

Для каждого события можно настроить отдельно:

* **URL** с макросами
* **HTTP метод** — GET или POST
* **Тело запроса** (для POST) с макросами
* **Заголовки** — произвольные HTTP-заголовки

## Макросы

### Подписчик (`new_subscriber`)

| Макрос                          | Описание                            |
| ------------------------------- | ----------------------------------- |
| `{{event}}`                     | `new_subscriber`                    |
| `{{campaign.id}}`               | ID кампании                         |
| `{{campaign.name}}`             | Название кампании                   |
| `{{subscriber.id}}`             | ID подписчика на OnlyFans           |
| `{{subscriber.name}}`           | Имя подписчика                      |
| `{{subscriber.revenue}}`        | Ваш общий доход от этого подписчика |
| `{{subscriber.date_subscribe}}` | Дата подписки (UNIX)                |
| `{{subscriber.click_id}}`       | Внешний click\_id (Smart Links)     |

### Транзакция (`new_transaction`)

| Макрос                    | Описание                                                                  |
| ------------------------- | ------------------------------------------------------------------------- |
| `{{event}}`               | `new_transaction`                                                         |
| `{{transaction.id}}`      | ID транзакции                                                             |
| `{{transaction.type}}`    | Тип: `tip`, `message`, `post`, `subscription`, `resubscription`, `stream` |
| `{{transaction.amount}}`  | Сумма транзакции                                                          |
| `{{transaction.revenue}}` | Ваша доля                                                                 |
| `{{transaction.date}}`    | Дата транзакции (UNIX)                                                    |
| `{{subscriber.click_id}}` | Внешний click\_id (Smart Links)                                           |

### Клик по Smart Link (`smartlink_click`)

| Макрос                        | Описание                               |
| ----------------------------- | -------------------------------------- |
| `{{event}}`                   | `smartlink_click`                      |
| `{{click.click_id}}`          | Внутренний ID клика                    |
| `{{click.external_click_id}}` | Ваш click\_id из URL                   |
| `{{click.url}}`               | URL перенаправления                    |
| `{{click.expires_ts}}`        | Время истечения (UNIX)                 |
| `{{click_params.*}}`          | Любые параметры из `params[key]` в URL |

### Остановка кампании (`marketing_stop`)

| Макрос                     | Описание              |
| -------------------------- | --------------------- |
| `{{event}}`                | `marketing_stop`      |
| `{{campaign.id}}`          | ID кампании           |
| `{{campaign.name}}`        | Название кампании     |
| `{{campaign.date_create}}` | Дата создания (UNIX)  |
| `{{campaign.date_finish}}` | Дата остановки (UNIX) |

## Примеры

**GET-запрос для трекера:**

```
https://tracker.example.com/postback?event={{event}}&click_id={{subscriber.click_id}}&revenue={{transaction.revenue}}&type={{transaction.type}}
```

**POST-запрос с JSON:**

URL: `https://api.example.com/webhook`

Тело:

```json theme={null}
{
  "event": "{{event}}",
  "click_id": "{{subscriber.click_id}}",
  "revenue": "{{transaction.revenue}}",
  "subscriber": "{{subscriber.name}}"
}
```

## Тестирование

В интерфейсе настройки callbacks есть кнопка **Test** — она отправляет тестовый запрос с заполненными макросами, чтобы вы могли проверить интеграцию перед запуском.

## Обработка запросов

* Запросы отправляются с User-Agent: `OnlyTraffic-postback`
* Таймаут: 20 секунд
* При ошибках соединения (таймаут, отказ, SSL) — до 3 повторных попыток
* Лог всех отправленных callbacks доступен в разделе **Postbacks**
