# Реферальная система

{% hint style="info" %}
**Реферер** – пользователь стоящий выше, тот кто пригласил в реферальную программу.

**Реферал** – пользователь стоящий ниже, тот кого пригласили в реферальную программу.
{% endhint %}

## Получить рефереры контакта

<mark style="color:blue;">`GET`</mark> `https://app.onebot.tech/api/v1/getReferrers`

Этот метод позволяет получить список или дерево рефереров контакта.

#### Path Parameters

| Name        | Type    | Description                                                                                                                               |
| ----------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| contact\_id | Integer | ID контакта                                                                                                                               |
| depth       | Integer | Глубина дерева (мин. 1, макс. 10)                                                                                                         |
| is\_flat    | Boolean | По умолчанию ns получаешь информацию в виде дерева, если укажешь значение этого поля в `1`, то информация придет в виде списка рефереров. |

{% tabs %}
{% tab title="200: OK Запрос успешно обработан. Результат в виде дерева, включая текущий контакт." %}

```javascript
{
  "data": {
    "id": 3,
    "name": "Иван Иванов",
    "messenger": "telegram",
    "created_at": "2022-11-10T10:38:28+00:00",
    "referrer": {
      "id": 2,
      "name": "Петр Петров",
      "messenger": "telegram",
      "created_at": "2022-11-10T10:38:25+00:00",
      "referrer": {
        "id": 1,
        "name": "Василий Васильев",
        "messenger": "telegram",
        "created_at": "2022-11-11T10:11:42+00:00"
      }
    }
  }
}
```

{% endtab %}
{% endtabs %}

## Получить рефералы контакта

<mark style="color:green;">`POST`</mark> `https://app.onebot.tech/api/v1/getReferrals`

Этот метод позволяет получить список рефералов контакта

#### Path Parameters

| Name        | Type    | Description                                                                                                                                                                                                                       |
| ----------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| filters     | Object  | <p>Поля для фильтрации данных. Например фильтр по тегу: <br><code>{"tag\_name": "Горячий"}</code><br><code>{"tag\_name": \["Горячий", "Холодный"]}</code><br><code>{"tag\_id": 1}</code><br><code>{"tag\_id": \[1, 2]}</code></p> |
| page        | Integer | Номер страницы результатов.                                                                                                                                                                                                       |
| contact\_id | Integer | ID контакта.                                                                                                                                                                                                                      |

{% tabs %}
{% tab title="200: OK Запрос успешно обработан" %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

## Получить количество рефералов всей сети контакта

<mark style="color:green;">`POST`</mark> `https://app.onebot.tech/api/v1/getCountReferrals`

Этот метод позволяет получить количество рефералов всей сети контакта

#### Path Parameters

| Name    | Type    | Description                                                                                                                                                                                                                       |
| ------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| filters | Object  | <p>Поля для фильтрации данных. Например фильтр по тегу: <br><code>{"tag\_name": "Горячий"}</code><br><code>{"tag\_name": \["Горячий", "Холодный"]}</code><br><code>{"tag\_id": 1}</code><br><code>{"tag\_id": \[1, 2]}</code></p> |
|         | Integer | ID контакта                                                                                                                                                                                                                       |

{% tabs %}
{% tab title="200: OK Запрос успешно обработан" %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}
