# Nemiling API

> Nemiling API: методы CheckMember и GetAccessLink — проверка подписки и выдача доступа из сторонних ботов и сайтов. GET-запросы, HTTPS, токен.

[@Nemilin_bot](https://t.me/nemilin_bot) помогает автоматизировать платные подписки для закрытых сообществ Telegram (каналов и групп). Но что если помимо сообщества, вам нужно настроить платный доступ для другого бота? Или например для сайта? Такое возможно. С помощью открытого **API Nemiling**.

> ℹ️ Для использования данной возможности, вы должны владеть навыками разработки или нужно обратиться к разработчику вашей системы.

Все запросы к **API Nemiling** должны соблюдать следующие требования:

- протокол - **HTTPS**
- тип запросов - **GET**
- не более 3 запросов в секунду
- для авторизации запросов необходимо передавать API токен в заголовке
`Authorization: {API token}`

> Выпустить токен можно в боте в разделе 
> "Настройки" - "Интеграции"

✅ Возможности Nemiling API доступны только на тарифах [**БИЗНЕС** и **АНЛИМ**](/help/stoimost/)

▶️ Основной URL-адрес для вызова методов API: `https://nemilin.pro/API`

## Доступные методы

- [CheckMember](#checkmember)
- [GetAccessLink](#getaccesslink)

> Параметры запроса указываются в строке запроса (без фигурных скобок)

> Ответ запроса содержит объект **JSON**, который всегда имеет поле `status`. Если `status` равно *ok* , запрос был успешным, и результат запроса можно найти в поле `message`. В случае неудачного запроса `status` равно *error,* а ошибка объясняется в `message` поле (например, *API token missing or incorrect*).

### CheckMember

*Этот метод возвращает статус подписки для указанного телеграм аккаунта.*

> **URL:** /v1/checkmember/{project_id}/{member_id}

Параметры:

- `project_id` (*Integer, обязательное*)
ID проекта (отображается при открытии проекта)
- `member_id` (*Integer, обязательное*)
Telegram ID подписчика

✅ В случае, если подписчик успешно найден, возвращаются следующие поля:

- `tarif` (int)
*ID тарифа (отображается при открытии тарифа)*
- `active` (bool/NULL)
*активен ли подписчик (1 - активен, 0 - не активен, NULL - никогда не платил)*
- `end_date` (int, unix timestamp)
*дата окончания подписки*

> **Пример запроса:**
> `https://nemilin.pro/API/v1/checkmember/100/123456789`

> **Примеры реализации:**
> - внедрение проверки оплаченной подписки в стороннего бота
> - внедрение проверки оплачена ли подписка на сторонний сайт, после того как сайт получит Telegram ID подписчика (например, с помощью виджета авторизации от Телеграм)

### GetAccessLink

*Этот метод формирует и возвращает*[*ссылку-доступ*](/help/platnye-podpiski/ssylka-dostup/)*для подписчиков, открыв которую у пользователя сразу же активируется подписка на указанный тариф.*

> **URL:**/v1/getaccesslink/{project_id}/{tarif_id}/{capacity}

Параметры:

- `project_id` (int)
*ID проекта - отображается при открытии проекта*
- `tarif_id` (int)
*ID тарифа - отображается при открытии тарифа*
- `capacity` (int)
*вместимость ссылки: кол-во возможных активаций. если равно 1 - ссылка одноразовая*

✅ В случае, если все параметры заданы верно, возвращается следующее поле:

- `url` (String)
*сама ссылка-доступ*

> **Пример запроса:**
> `https://nemilin.pro/API/v1/getaccesslink/100/100/1`

> **Пример реализации:**
> - выдача подписки после оплаты через стороннее решение (на сайте или в другом боте)

---

HTML-версия: https://nemiling.info/help/api/
Nemiling — монетизация Telegram-сообществ: подписки, платные сообщения, консультации, донаты. https://nemiling.info/
