Введение
Ссылка на API:
https://api.look-prod.ru/web/index.php
В ссылке обязательно должен присутствовать параметр r в котором указывается путь до метода к которому вы обращаетесь.
Для проверки доступа используется GET-араметр auth содержащий имя пользователя и ключ доступа
этого пользователя.
Пример:
auth=admin:YdZ2jtC4aXXXXXXXXXXXXXXXXXXXPc1SSWa
Пример:
https://api.look-prod.ru/web/index.php?r=api/get-user-by-username&username=name&auth=admin:YdZ2jtC4aXXXXXXXXXXXXXXXXXXXPc1SSWa
Возвращаемые данные
API всегда возвращает валидный объект JSON
В случае ошибки в объекте всегда возвращается свойство status: false и error: "Данные
ошибки. Объект, массив или строка"
- Version: 1.0
- Author: PTeam
- Created: 31 января, 2024
- Update: Только что...
Методы добавляются в документацию по мере создания.
Работа со странами Контроллер Api
Объект страны
{
"id": 5, // ID страны
"name": "CountryQ", // Название страны
"shortName": "testuytyuytyuttu", // Краткое название страны
"alpha2": "tt", // Двубуквенный международный код страны
"alpha3": "ttt", // Трёхбуквенный международный код страны
"iso": 111 // Код страны по ISO
}
Получение списка стран
Возвращает список стран
api/get-countries GET
Возвращаемые данные
[
{
"id": 5,
"name": "CountryQ",
"shortName": "testuytyuytyuttu",
"alpha2": "tt",
"alpha3": "ttt",
"iso": 111
},
{
"id": 7,
"name": "CountryW",
"shortName": "qwe",
"alpha2": "qw",
"alpha3": "wqe",
"iso": 222
}
]
Получение одной страны по её ID
Возвращает объект страны по запрошенному ID
api/get-country-by-id GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | int | ID запрашиваемой страны | Да |
Возвращаемые данные
{
"id": 5, // ID страны
"name": "CountryQ", // Название страны
"shortName": "testuytyuytyuttu", // Краткое название страны
"alpha2": "tt", // Двубуквенный международный код страны
"alpha3": "ttt", // Трёхбуквенный международный код страны
"iso": 111 // Код страны по ISO
}
Добавление страны
Добавляет новую страну в БД
api/set-country POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| name | string(150) | Полное название (Уникальный) | Да |
| shortName | string(50) | Сокращённое название (Уникальный) | Да |
| alpha2 | string(2) | Двухбуквенный код страны (Уникальный) | Да |
| alpha3 | string(3) | Трёхбуквенный код страны (Уникальный) | Да |
| iso | int(3) | Код страны по ISO (Уникальный) | Да |
Возвращаемые данные
{"status": true}
Обновление страны
Обновляет страну в БД
api/update-country POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемой страны. Передаётся GET параметром | Да |
| name | string(150) | Полное название (Уникальный) | Да |
| shortName | string(50) | Сокращённое название (Уникальный) | Да |
| alpha2 | string(2) | Двухбуквенный код страны (Уникальный) | Да |
| alpha3 | string(3) | Трёхбуквенный код страны (Уникальный) | Да |
| iso | int(3) | Код страны по ISO (Уникальный) | Да |
Возвращаемые данные
{"status": true}
Удаление страны
Обновляет страну в БД
api/del-country POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID удаляемой страны. Передаётся GET параметром | Да |
Возвращаемые данные
{"status": true}
Работа с городами Контроллер Api
Объект города
{
"id": 5, // ID города
"country_id": 16 // ID страны в которой находится город
"name": "Москва", // Название города
}
Получение списка городов
Возвращает список городов
api/get-cities GET
Возвращаемые данные
[
{
"id": 5, // ID города
"country_id": 16, // ID страны в которой находится город
"name": "Москва", // Название города
},
{
"id": 6, // ID города
"country_id": 16, // ID страны в которой находится город
"name": "Казань", // Название города
}
]
Получение одного города по его ID
Возвращает объект города по запрошенному ID
api/get-city-by-id GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | int | ID запрашиваемого города | Да |
Возвращаемые данные
{
"id": 5, // ID города
"country_id": 16, // ID страны в которой находится город
"name": "Москва", // Название города
}
Добавление города
Добавляет новый город в БД
api/set-city POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| country_id | int(11) | ID страны в которой находится город | Да |
| name | string(150) | Название города | Да |
Возвращаемые данные
{"status": true}
Обновление города
Обновляет город в БД
api/update-city POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемого города. Передаётся GET параметром | Да |
| country_id | int(11) | ID страны в которой находится город | Да |
| name | string(150) | Название города | Да |
Возвращаемые данные
{"status": true}
Удаление города
Удаляет город из БД
api/del-city POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID удаляемого города. Передаётся GET параметром | Да |
Возвращаемые данные
{"status": true}
Работа со станциями метро Контроллер Api
Объект метро
{
"id": 5, // ID метро
"city_id": 16, // ID городв в котором находится метро
"name": "Серпуховская", // Название станции
}
Получение списка станций
Возвращает список станций
api/get-metros GET
Возвращаемые данные
[
{
"id": 5, // ID метро
"city_id": 16, // ID городв в котором находится метро
"name": "Серпуховская", // Название станции
},
{
"id": 6, // ID метро
"city_id": 16, // ID городв в котором находится метро
"name": "Краснопресненская", // Название станции
}
]
Получение одной станции по её ID
Возвращает объект метро по запрошенному ID
api/get-metro-by-id GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | int | ID запрашиваемой станции | Да |
Возвращаемые данные
{
"id": 6, // ID метро
"city_id": 16, // ID городв в котором находится метро
"name": "Краснопресненская", // Название станции
}
Получение списка станций по ID города в котором они находятся
Возвращает массив объектов метро по запрошенному ID города
api/get-metro-by-city-id GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | int | ID города в котором находится запрашиваемые станции | Да |
Возвращаемые данные
[
{
"id": 5, // ID метро
"city_id": 16, // ID городв в котором находится метро
"name": "Серпуховская", // Название станции
},
{
"id": 6, // ID метро
"city_id": 16, // ID городв в котором находится метро
"name": "Краснопресненская", // Название станции
}
]
Добавление станции
Добавляет новую станцию в БД
api/set-metro POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| city_id | int(11) | ID города в котором находится станция | Да |
| name | string(150) | Название станции | Да |
Возвращаемые данные
{"status": true}
Обновление станции
Обновляет станцию в БД
api/update-metro POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемой станции. Передаётся GET параметром | Да |
| city_id | int(11) | ID города в котором находится станция | Да |
| name | string(150) | Название станции | Да |
Возвращаемые данные
{"status": true}
Удаление станции
Удаляет станцию из БД
api/del-metro POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID удаляемой станции. Передаётся GET параметром | Да |
Возвращаемые данные
{"status": true}
Работа с категориями Контроллер Api
Объект категории
{
"id": 5, // ID метро
"name": "Индивидуалки", // Название категории
"description": "Индивидуалки всякие-разные", // Описание категории
}
Получение списка категорий
Возвращает список категорий
api/get-categories GET
Возвращаемые данные
[
{
"id": 5, // ID метро
"name": "Индивидуалки", // Название категории
"description": "Индивидуалки всякие-разные", // Описание категории
},
...
]
Получение одной категории по её ID
Возвращает объект категории по запрошенному ID
api/get-category-by-id GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | int | ID запрашиваемой категории | Да |
Возвращаемые данные
{
"id": 5, // ID метро
"name": "Индивидуалки", // Название категории
"description": "Индивидуалки всякие-разные", // Описание категории
}
Добавление категории
Добавляет новую категорию в БД
api/set-category POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| name | string(150) | Название категории | Да |
| description | string(1500) | Описание категории | Нет |
Возвращаемые данные
{"status": true}
Обновление категории
Обновляет категорию в БД
api/update-category POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемой категории. Передаётся GET параметром | Да |
| name | string(150) | Название категории | Нет |
| description | string(1500) | Описание категории | Нет |
Возвращаемые данные
{"status": true}
Удаление категории
Удаляет категорию из БД
api/del-category POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID удаляемой категории. Передаётся GET параметром | Да |
Возвращаемые данные
{"status": true}
Работа со статусами анкет Контроллер Api
Объект статуса анкеты
{
"id": 5, // ID статуса
"name": "Активна", // Название статуса
}
Получение списка статусов
Возвращает список статусов
api/get-profile-status GET
Возвращаемые данные
[
{
"id": 5, // ID статуса
"name": "Активна", // Название статуса
},
...
]
Получение одного статуса по ID
Возвращает объект статуса по запрошенному ID
api/get-profile-status-by-id GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | int | ID запрашиваемого статуса | Да |
Возвращаемые данные
{
"id": 5, // ID статуса
"name": "Активна", // Название статуса
}
Добавление статуса в БД
Добавляет новый статус в БД
api/set-profile-status POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| name | string(150) | Название статуса | Да |
Возвращаемые данные
{"status": true}
Обновление статуса
Обновляет статус в БД
api/update-profile-status POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемого статуса. Передаётся GET параметром | Да |
| name | string(150) | Название статуса | Нет |
Возвращаемые данные
{"status": true}
Удаление статуса
Удаляет статус из БД
api/del-profile-status POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID удаляемого статуса. Передаётся GET параметром | Да |
Возвращаемые данные
{"status": true}
Работа со услугами анкет Контроллер Api
Объект услуги анкеты
{
"id": 5, // ID услуги
"name": "Массаж", // Название услуги
"price": 500000, // Цена в копейках
"category_id": 1, // Категория услуги
}
Получение списка услуг
Возвращает список услуг с добавлением расшифровки категории
api/get-profile-services GET
Возвращаемые данные
[
{
"id": 5, // ID услуги
"name": "Массаж", // Название услуги
"price": 500000, // Цена в копейках
"category_id": 5, // Категория услуги
"category":{ //Объект категории услуг
"id": 5, // ID категории
"name": "Массаж", // Название категории
}
},
...
]
Получение одной услуги по ID
Возвращает объект услуги по запрошенному ID с добавлением расшифровки категории
api/get-profile-service-by-id GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | int | ID запрашиваемой услуги | Да |
Возвращаемые данные
{
"id": 5, // ID услуги
"name": "Массаж", // Название услуги
"price": 500000, // Цена в копейках
"category_id": 5, // Категория услуги
"category":{ //Объект категории услуг
"id": 5, // ID категории
"name": "Массаж", // Название категории
}
}
Добавление услуги в БД
Добавляет новую услугу в БД
api/set-profile-service POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| name | string(150) | Название услуги | Да |
| price | int | Стоимость услуги в копейках | Да |
| category_id | int (11) | ID категории услуги | Да |
Возвращаемые данные
{"status": true}
Обновление услуги
Обновляет услугу в БД
api/update-profile-service POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемой услуги. Передаётся GET параметром | Да |
| name | string(150) | Название услуги | Нет |
| price | int | Стоимость услуги в копейках | Нет |
| category_id | int (11) | ID категории услуги | Нет |
Возвращаемые данные
{"status": true}
Удаление услуги
Удаляет услугу из БД
api/del-profile-service POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID удаляемой услуги. Передаётся GET параметром | Да |
Возвращаемые данные
{"status": true}
Работа с валютами Контроллер Api
Объект валюты
{
"id": 5, // ID валюты
"symbol": "$", // Знак валюты. Например "$"
"name": "Доллар", // Название валюты
"alpha3": "USD", // Трёхсимвольный код валюты
"number3": 840, // Цифровой код валюты
}
Получение списка валют
Возвращает список валют
api/get-currencies GET
Возвращаемые данные
[
{
"id": 5, // ID валюты
"symbol": "$", // Знак валюты. Например "$"
"name": "Доллар", // Название валюты
"alpha3": "USD", // Трёхсимвольный код валюты
"number3": 840, // Цифровой код валюты
},
...
]
Получение одной валюты по её ID
Возвращает объект валюты по запрошенному ID
api/get-currency-by-id GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | int | ID запрашиваемой валюты | Да |
Возвращаемые данные
{
"id": 5, // ID валюты
"symbol": "$", // Знак валюты. Например "$"
"name": "Доллар", // Название валюты
"alpha3": "USD", // Трёхсимвольный код валюты
"number3": 840, // Цифровой код валюты
}
Добавление валюты
Добавляет новую валюту в БД
api/set-currency POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| symbol | string (1) | Знак валюты. Например "$" | Да |
| name | string(50) | Название валюты | Да |
| alpha3 | string(3) | Трёхсимвольный код валюты | Да |
| number3 | string(50) | Цифровой код валюты | Да |
Возвращаемые данные
{"status": true}
Обновление валюты
Обновляет валюту в БД
api/update-currency POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемой валюты. Передаётся GET параметром | Да |
| symbol | string (1) | Знак валюты. Например "$" | Нет |
| name | string(50) | Название валюты | Нет |
| alpha3 | string(3) | Трёхсимвольный код валюты | Нет |
| number3 | string(50) | Цифровой код валюты | Нет |
Возвращаемые данные
{"status": true}
Удаление валюты
Удаляет валюту из БД
api/del-currency POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID удаляемой валюты. Передаётся GET параметром | Да |
Возвращаемые данные
{"status": true}
Работа со статусами отзывов Контроллер Api
Объект статуса отзыва
{
"id": 5, // ID статуса
"name": "Активен", // Название статуса
}
Получение списка статусов
Возвращает список статусов
api/get-feedback-status GET
Возвращаемые данные
[
{
"id": 5, // ID статуса
"name": "Активен", // Название статуса
},
...
]
Получение одного статуса по ID
Возвращает объект статуса по запрошенному ID
api/get-feedback-status-by-id GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | int | ID запрашиваемого статуса | Да |
Возвращаемые данные
{
"id": 5, // ID статуса
"name": "Активен", // Название статуса
}
Добавление статуса в БД
Добавляет новый статус в БД
api/set-feedback-status POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| name | string(150) | Название статуса | Да |
Возвращаемые данные
{"status": true}
Обновление статуса
Обновляет статус в БД
api/update-feedback-status POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемого статуса. Передаётся GET параметром | Да |
| name | string(150) | Название статуса | Нет |
Возвращаемые данные
{"status": true}
Удаление статуса
Удаляет статус из БД
api/del-profile-status POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID удаляемого статуса. Передаётся GET параметром | Да |
Возвращаемые данные
{"status": true}
Работа с пользователями
Контроллер позволяет работать с пользователями
User
Объект описывает пользователя системы
{
"id": 1221, // INT ID пользователя
"username": "admin", //STRING Логин пользователя
"password": "sdjkdghDKJDHF18", //STRING пароль пользователя
"password_reset_token": "Z2jXXXXXXXXXXXXXuXKf0X", //STRING Токен сброса пароля
"email": "admin@admin.admin", //STRING Email
"status": 10, //INT Статус. 10 - активен
"created_at": 1688999065, //INT - timestamp создания
"updated_at": "1688999065", //INT - timestamp последнего обновления
"auth_key": "YdZ2jXXXXXXXXXXXXXuXKf0XLv", // STRING Токен доступа
}
Получение списка пользователей
Возвращает список пользователей с минимальным набором данных с возможностью постраничной разбивки
api-user/get-user-list GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| limit | int | Количество возвращаемых записей. По умолчанию 50 | Нет |
| offset | int | Отступ от начала списка. По умолчанию null. | Нет |
Возвращаемые данные
[
{
"id": "1",
"username": "admin"
},
{
"id": "2",
"username": "recipient"
}
]
Регистрация пользователя
Регистрирует пользователя.
api-user/register POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| username | string | Уникальный логин. Минимум 3 символа | Да |
| password | string | 8 символов латиницей минимум, большие, маленькие, цифры | Да |
| string | Валидный email уникальный по системе | Да | |
| role | string | Роль регистрируемого пользователя. Может быть user или girl. | Да |
Возвращаемые данные
{
"status": true,
"user": {
"id": 1221, // INT ID пользователя
"username": "admin", //STRING Логин пользователя
"password": "sdjkdghDKJDHF18", //STRING пароль пользователя
"password_reset_token": "Z2jXXXXXXXXXXXXXuXKf0X", //STRING Токен сброса пароля
"email": "admin@admin.admin", //STRING Email
"status": 10, //INT Статус. 10 - активен
"created_at": 1688999065, //INT - timestamp создания
"updated_at": "1688999065", //INT - timestamp последнего обновления
"auth_key": "YdZ2jXXXXXXXXXXXXXuXKf0XLv", // STRING Токен доступа
}
}
Аутентификация пользователя
Аутентифицирует пользователя.
api-user/login POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| username | string | Уникальный логин. Минимум 3 символа | Да |
| password | string | 8 символов латиницей минимум, большие, маленькие, цифры | Да |
Возвращаемые данные
{
"status": true,
"user": {
"id": 1221, // INT ID пользователя
"username": "admin", //STRING Логин пользователя
"password": "sdjkdghDKJDHF18", //STRING пароль пользователя
"password_reset_token": "Z2jXXXXXXXXXXXXXuXKf0X", //STRING Токен сброса пароля
"email": "admin@admin.admin", //STRING Email
"status": 10, //INT Статус. 10 - активен
"created_at": 1688999065, //INT - timestamp создания
"updated_at": "1688999065", //INT - timestamp последнего обновления
"auth_key": "YdZ2jXXXXXXXXXXXXXuXKf0XLv", // STRING Токен доступа
}
}
Получение пользователя по данным доступа
api-user/get-user-by-access GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| username | string | Уникальный логин. Минимум 3 символа | Да |
| auth_key | string | Токен доступа | Да |
Возвращаемые данные
{
"id": 1221, // INT ID пользователя
"username": "admin", //STRING Логин пользователя
"password": "sdjkdghDKJDHF18", //STRING пароль пользователя
"password_reset_token": "Z2jXXXXXXXXXXXXXuXKf0X", //STRING Токен сброса пароля
"email": "admin@admin.admin", //STRING Email
"status": 10, //INT Статус. 10 - активен
"created_at": 1688999065, //INT - timestamp создания
"updated_at": "1688999065", //INT - timestamp последнего обновления
"auth_key": "YdZ2jXXXXXXXXXXXXXuXKf0XLv", // STRING Токен доступа
}
Отправка токена сброса пароля на почту пользователя
Генерирует код для сброса пароля и отправляет пользователю письмо.
api-user/send-reset-token POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| string | Валидный email существующий в БД | Да |
Возвращаемые данные
{"status": true}
Смена пароля по токену из письма
Заменяет пароль пользователя
api-user/reset-password POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| password_reset_token | string | Токен, полученный пользователем в письме | Да |
| password | string | Новый пароль пользователя. 8 символов латиницей минимум, большие, маленькие, цифры | Да |
Возвращаемые данные
{"status": true}
Добавление анкеты в избранное пользователя
Помимо добавления анкеты в избранное пользователю метод обновляет счётчик лайков в анкете
UserSaveGirl
Объект описывает запись в избранном пользователя
{
"id": 1221, // INT ID записи
"user_id": 1, // INT ID пользователя
"profile_id": 1, // INT ID анкеты
}
api-user/save-girl POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| user_id | int (11) | ID пользователя | Да |
| profile_id | int (11) | ID анкеты | Да |
Возвращаемые данные
{"status": true}
Получение избранного пользователя
Метод позволяет получить список сохранённых анкет с данными по каждой анкете
UserSaveGirl
Объект описывает запись в избранном пользователя
{
"id": 1221, // INT ID записи
"user_id": 1, // INT ID пользователя
"profile_id": 1, // INT ID анкеты
}
api-user/get-saved-profiles GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| limit | int (11) | Лимит выборки из базы. По умолчанию 4 | Нет |
| offset | int (11) | Отступ выборки из базы для постраничного вывода. По умолчанию null | Нет |
Возвращаемые данные
[
{
"id": "1", // ID записи в базе
"user_id": "1", // ID пользователя
"profile_id": "189", // ID анкеты
"date_add": "1707231752", // Дата добавления
"girlProfile": { // Объект анкеты
"id": "189",
"user_id": "65",
"category_id": "8",
"name": "Динь",
"age": "22",
"height": "174",
"breast": "2",
"hair_color": "Блондинка",
"metro": "218",
"price_hour_app": "0",
"price_two_hour_app": "0",
"price_night_app": "0",
"price_hour_exit": "15000",
"price_two_hour_exit": "30000",
"price_night_exit": "75000",
"verify_photo": "1",
"description": "Стану для тебя нежной, страстной ...",
"tel": "79111061645",
"tg": "",
"date_add": "1706508061",
"date_update": "1706508061",
"whatsapp": "9111061645",
"currency_id": "1",
"city_id": "1",
"status_id": "6",
"author_id": "1",
"activity": null,
"category": {
"id": "8",
"name": "Инди",
"description": ""
},
"photo": [
{
"id": "3752",
"profile_id": "189",
"type": "photo",
"title": "i",
"pic": "1476acc81b2f4aff164173b4b1fc25ae.jpg",
"sort": "0"
},
...
]
}
}
]
Удаление анкеты из избранного пользователя
Помимо удаления анкеты из избранного метод обновляет счётчик лайков в анкете
UserSaveGirl
Объект описывает запись в избранном пользователя
{
"id": 1221, // INT ID записи
"user_id": 1, // INT ID пользователя
"profile_id": 1, // INT ID анкеты
}
api-user/unsave-girl POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| user_id | int (11) | ID пользователя | Да |
| profile_id | int (11) | ID анкеты | Да |
Возвращаемые данные
{"status": true}
Работа с анкетами
Контроллер позволяет работать с анкетами девочек
GirlProfile
Объект описывает анкету
{
"id": 1221, // INT ID анкеты
"user_id": 123, //ID пользователя. Владельца анкеты
"category_id": 5, //ID категории анкеты
"name": "Анна", //STRING Имя в анкете
"age": 23, //INT возраст
"height": 160, //INT рост
"breast": 3, //INT бюст
"hair_color": "Русый", //STRING цвет волос
"metro": 4, //INT ID станции метро
"price_hour_app": 500000, //INT Стоимость 1 часа в апартаментах в копейках
"price_two_hour_app": 1000000, //INT Стоимость 2 часов в апартаментах в копейках
"price_night_app": 5000000, //INT Стоимость ночи в апартаментах в копейках
"price_hour_exit": 500000, //INT Стоимость 1 часа выезд в копейках
"price_two_hour_exit": 1000000, //INT Стоимость 2 часов выезд в копейках
"price_night_exit": 5000000, //INT Стоимость ночи выезд в копейках
"verify_photo": 1, //INT проверено ли фото модераторами. 0 - нет 1 - да.
"description": "Я самая самая...", //STRING о себе от лица владельца анкеты
"tel": 76554112787, //INT номер телефона
"whatsapp": 76554112787, //INT номер телефона в whatsapp
"tg": "@lkjdsgiov | 74568546589", //STRING телеграм. Логин или телефон
"currency_id": 1, //INT ID валюты использующейся в анкете
"city_id": 1, //INT ID города в котором отображается анкета
"status_id": 1, //INT ID статуса анкеты
"author_id": 1, //INT ID пользователя создателя анкеты
"date_add": 1, //INT timestamp даты создания анкеты
"date_update": 1, //INT timestamp даты последнего обновления анкеты
}
Получение списка анкет по параметрам.
Возвращает список анкет с возможностью постраничной
разбивки и фильтрации по параметрам.
ВАЖНО!
Для равномерного распределения трафика метод получает для каждой анкеты
объект статистики анкеты
и выбирает данные отсортированные по количеству показов от меньшего к большему.
api-girl/get-profiles-list GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| category_id | int | ID категории анкеты | Нет |
| user_id | int | ID пользователя. Владельца анкеты | Нет |
| city_id | int | ID города. | Нет |
| id | int | ID анкеты | Нет |
| status_id | int | ID статуса анкеты | Нет |
| author_id | int | ID пользователя. Создателя анкеты | Нет |
| date_add | string | Дата создания анкеты. При указании параметра вернутся все анкеты после этой даты. Формат: YYYY-MM-DD | Нет |
| date_end | string | Дата создания анкеты. При указании параметра вернутся все анкеты ДО этой даты. Формат: YYYY-MM-DD | Нет |
| photo_size | array | Массив указывающий, какой размер фото должен быть возвращён вместе с анкетой. Пример:
['width' => 300, 'height' => 450] По умолчанию : ['width' => 300, 'height' => 450] |
Нет |
| order | string | Название поля для сортировки списка от меньшего к большему | Нет |
| order_type | string | Порядок сортировки. Может быть asc или desc. По умолчанию asc | Нет |
| limit | int | Количество возвращаемых записей. По умолчанию 20 | Нет |
| offset | int | Отступ от начала списка. По умолчанию null. | Нет |
Возвращаемые данные
[
"count": 652, // Общее количество анкет в базе по заданным параметрам
{
"id": 1221, // INT ID анкеты
"user_id": 123, //ID пользователя. Владельца анкеты
"category_id": 5, //ID категории анкеты
"name": "Анна", //STRING Имя в анкете
"age": 23, //INT возраст
"height": 160, //INT рост
"breast": 3, //INT бюст
"hair_color": "Русый", //STRING цвет волос
"metro": 4, //INT ID станции метро
"price_hour_app": 500000, //INT Стоимость 1 часа в апартаментах в копейках
"price_two_hour_app": 1000000, //INT Стоимость 2 часов в апартаментах в копейках
"price_night_app": 5000000, //INT Стоимость ночи в апартаментах в копейках
"price_hour_exit": 500000, //INT Стоимость 1 часа выезд в копейках
"price_two_hour_exit": 1000000, //INT Стоимость 2 часов выезд в копейках
"price_night_exit": 5000000, //INT Стоимость ночи выезд в копейках
"verify_photo": 1, //INT проверено ли фото модераторами. 0 - нет 1 - да.
"description": "Я самая самая...", //STRING о себе от лица владельца анкеты
"tel": 76554112787, //INT номер телефона
"whatsapp": 76554112787, //INT номер телефона в whatsapp
"tg": "@lkjdsgiov | 74568546589", //STRING телеграм. Логин или телефон
"currency_id": 1, //INT ID валюты использующейся в анкете
"city_id": 1, //INT ID города в котором отображается анкета
"status_id": 1, //INT ID статуса анкеты
"author_id": 1, //INT ID пользователя создателя анкеты
"date_add": 1, //INT timestamp даты создания анкеты
"date_update": 1, //INT timestamp даты последнего обновления анкеты
"stat":{ // Объект статистики анкеты
"id": 1,
"profile_id": 165,
"view": 9,
"like": 0,
"dislike": 0
},
"activity": { // Объект активности пользователя владельца анкеты
"id": "3",
"user_id": "44",
"status": "1",
"last_activity": "1707150669"
},
"metro":{
"id": 5, // ID метро
"city_id": 16, // ID городв в котором находится метро
"name": "Серпуховская", // Название станции
},
"city":{
"id": 5, // ID города
"country_id": 16 // ID страны в которой находится город
"name": "Москва", // Название города
},
"shortUser": { // Сокращённый объект пользователя владельца анкеты
"id": "123",
"username": "Anchelika",
"email": "Ghb@cffrf.com"
},
"photo": [ // Массив объектов фото привязанных к анкете
{
"id": "3252",
"profile_id": "99",
"type": "photo",
"title": "i",
"pic": "7794e5dfa7e187da8c48f1935aafec28.png",
"sort": "0"
},
...
],
"video": { // Объект видео визитки анкеты
"id": "40",
"profile_id": "99",
"type": "title",
"title": "i",
"name": "5ae7ac6384310d914e43be4bff98a566.mp4",
"sort": "0"
},
"category": { //Объект категории анкеты
"id": "4",
"name": "Содержанки",
"description": null
},
"status": { //Объект статуса анкеты
"id": "5",
"name": "Архивная"
},
"author": { // Объект пользователя создателя анкеты
"id": "1",
"username": "admin",
"email": "admin@admin.admin"
},
"tags": [ //Массив объектов тегов привязанных к анкете
{
"id": 149,
"tag_id": 19,
"profile_id": 1509,
"tag": {
"id": 19,
"name": "Анальный секс",
"pic": "/system/tag/987531b688def690dedeea68737ab35c.JPG",
"sort": 0,
"weight": 13
}
},
...
],
schedule": [ //Массив объектов расписания на каждую дату для которой расписание установлено
{
"id": 44,
"profile_id": 1509,
"date": "2024-05-01",
"status": 1
},
...
]
"isSaved": false // Добавлена ли анкета в избранное запросившего пользователя
},
...
]
Получение списка анкет по параметрам.
Возвращает список анкет с возможностью постраничной
разбивки и фильтрации по параметрам.
В отличие от метода api-girl/get-profiles-list возвращает данные в естественном порядке сортируя
анкеты по id или по столбцу переданному в параметре order
api-girl/get-profiles-list-admin GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| category_id | int | ID категории анкеты | Нет |
| user_id | int | ID пользователя. Владельца анкеты | Нет |
| id | int | ID анкеты | Нет |
| status_id | int | ID статуса анкеты | Нет |
| author_id | int | ID пользователя. Создателя анкеты | Нет |
| date_add | string | Дата создания анкеты. Формат: YYYY-MM-DD | Нет |
| order | string | Название поля для сортировки списка от меньшего к большему | Нет |
| limit | int | Количество возвращаемых записей. По умолчанию 20 | Нет |
| offset | int | Отступ от начала списка. По умолчанию null. | Нет |
Возвращаемые данные
[
"count": 652, // Общее количество анкет в базе по заданным параметрам
{
"id": 1221, // INT ID анкеты
"user_id": 123, //ID пользователя. Владельца анкеты
"category_id": 5, //ID категории анкеты
"name": "Анна", //STRING Имя в анкете
"age": 23, //INT возраст
"height": 160, //INT рост
"breast": 3, //INT бюст
"hair_color": "Русый", //STRING цвет волос
"metro": 4, //INT ID станции метро
"price_hour_app": 500000, //INT Стоимость 1 часа в апартаментах в копейках
"price_two_hour_app": 1000000, //INT Стоимость 2 часов в апартаментах в копейках
"price_night_app": 5000000, //INT Стоимость ночи в апартаментах в копейках
"price_hour_exit": 500000, //INT Стоимость 1 часа выезд в копейках
"price_two_hour_exit": 1000000, //INT Стоимость 2 часов выезд в копейках
"price_night_exit": 5000000, //INT Стоимость ночи выезд в копейках
"verify_photo": 1, //INT проверено ли фото модераторами. 0 - нет 1 - да.
"description": "Я самая самая...", //STRING о себе от лица владельца анкеты
"tel": 76554112787, //INT номер телефона
"whatsapp": 76554112787, //INT номер телефона в whatsapp
"tg": "@lkjdsgiov | 74568546589", //STRING телеграм. Логин или телефон
"currency_id": 1, //INT ID валюты использующейся в анкете
"city_id": 1, //INT ID города в котором отображается анкета
"status_id": 1, //INT ID статуса анкеты
"author_id": 1, //INT ID пользователя создателя анкеты
"date_add": 1, //INT timestamp даты создания анкеты
"date_update": 1, //INT timestamp даты последнего обновления анкеты
"stat":{ // Объект статистики анкеты
"id": 1,
"profile_id": 165,
"view": 9,
"like": 0,
"dislike": 0
},
"activity": { // Объект активности пользователя владельца анкеты
"id": "3",
"user_id": "44",
"status": "1",
"last_activity": "1707150669"
},
"metro":{
"id": 5, // ID метро
"city_id": 16, // ID городв в котором находится метро
"name": "Серпуховская", // Название станции
},
"city":{
"id": 5, // ID города
"country_id": 16 // ID страны в которой находится город
"name": "Москва", // Название города
},
"shortUser": { // Сокращённый объект пользователя владельца анкеты
"id": "123",
"username": "Anchelika",
"email": "Ghb@cffrf.com"
},
"photo": [ // Массив объектов фото привязанных к анкете
{
"id": "3252",
"profile_id": "99",
"type": "photo",
"title": "i",
"pic": "7794e5dfa7e187da8c48f1935aafec28.png",
"sort": "0"
},
...
],
"video": { // Объект видео визитки анкеты
"id": "40",
"profile_id": "99",
"type": "title",
"title": "i",
"name": "5ae7ac6384310d914e43be4bff98a566.mp4",
"sort": "0"
},
"category": { //Объект категории анкеты
"id": "4",
"name": "Содержанки",
"description": null
},
"status": { //Объект статуса анкеты
"id": "5",
"name": "Архивная"
},
"author": { // Объект пользователя создателя анкеты
"id": "1",
"username": "admin",
"email": "admin@admin.admin"
},
"isSaved": false // Добавлена ли анкета в избранное запросившего пользователя
},
...
]
Получение списка анкет по параметрам с минимальным набором данных.
Возвращает список анкет с возможностью постраничной разбивки и фильтрации по параметрам и с минимальным набором данных
api-girl/get-profiles-list-short-data GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| category_id | int | ID категории анкеты | Нет |
| user_id | int | ID пользователя. Владельца анкеты | Нет |
| id | int | ID анкеты | Нет |
| status_id | int | ID статуса анкеты | Нет |
| author_id | int | ID пользователя. Создателя анкеты | Нет |
| date_add | string | Дата создания анкеты. Формат: YYYY-MM-DD | Нет |
| order | string | Название поля для сортировки списка от меньшего к большему | Нет |
| limit | int | Количество возвращаемых записей. По умолчанию 20 | Нет |
| offset | int | Отступ от начала списка. По умолчанию null. | Нет |
Возвращаемые данные
[
{
"id": 1221, // INT ID анкеты
"user_id": 123, //ID пользователя. Владельца анкеты
"category_id": 5, //ID категории анкеты
"name": "Ирина" // Имя в анкете
},
...
]
Получение анкеты по ID
Возвращает данные анкеты по запрошенному ID
api-girl/get-profile-by-id POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | int | ID запрашиваемой анкеты | Да |
Возвращаемые данные
{
"id": 1221, // INT ID анкеты
"user_id": 123, //ID пользователя. Владельца анкеты
"category_id": 5, //ID категории анкеты
"name": "Анна", //STRING Имя в анкете
"age": 23, //INT возраст
"height": 160, //INT рост
"breast": 3, //INT бюст
"hair_color": "Русый", //STRING цвет волос
"metro": 4, //INT ID станции метро
"price_hour_app": 500000, //INT Стоимость 1 часа в апартаментах в копейках
"price_two_hour_app": 1000000, //INT Стоимость 2 часов в апартаментах в копейках
"price_night_app": 5000000, //INT Стоимость ночи в апартаментах в копейках
"price_hour_exit": 500000, //INT Стоимость 1 часа выезд в копейках
"price_two_hour_exit": 1000000, //INT Стоимость 2 часов выезд в копейках
"price_night_exit": 5000000, //INT Стоимость ночи выезд в копейках
"verify_photo": 1, //INT проверено ли фото модераторами. 0 - нет 1 - да.
"description": "Я самая самая...", //STRING о себе от лица владельца анкеты
"tel": 76554112787, //INT номер телефона
"whatsapp": 76554112787, //INT номер телефона в whatsapp
"tg": "@lkjdsgiov | 74568546589", //STRING телеграм. Логин или телефон
"currency_id": 1, //INT ID валюты использующейся в анкете
"city_id": 1, //INT ID города в котором отображается анкета
"status_id": 1, //INT ID статуса анкеты
"author_id": 1, //INT ID пользователя создателя анкеты
"date_add": 1, //INT timestamp даты создания анкеты
"date_update": 1, //INT timestamp даты последнего обновления анкеты
"stat":{ // Объект статистики анкеты
"id": 1,
"profile_id": 165,
"view": 9,
"like": 0,
"dislike": 0
},
"activity": { // Объект активности пользователя владельца анкеты
"id": "3",
"user_id": "44",
"status": "1",
"last_activity": "1707150669"
},
"shortUser": { // Сокращённый объект пользователя владельца анкеты
"id": "123",
"username": "Anchelika",
"email": "Ghb@cffrf.com"
},
"category": { // Объект категории анкеты
"id": "4",
"name": "Содержанки",
"description": null
},
"currency": { // Объект валюты анкеты
"id": "1",
"symbol": "₽",
"name": "Рубль",
"alpha3": "RUB",
"number3": "643"
},
"city": { // Объект города анкеты
"id": "2",
"country_id": "5",
"name": "Kaliningrad",
"country": { // Объект страны в которой находится город
"id": "5",
"name": "CountryQ",
"shortName": "testuytyuytyuttu",
"alpha2": "tt",
"alpha3": "ttt",
"iso": "111"
}
},
"checkService": [ // Массив объектов предоставляемых услуг
{ // Объект услуги анкеты заполненный владельцем
"id": "203",
"service_id": "8",
"profile_id": "99",
"price": "1000",
"description": "Буду стараться", // STRING (150) Комментарий девочки к услуге
"service": { // Базовый объект услуги на основании которой создана услуга анкеты
"id": "8",
"name": "Секс классический",
"price": "0",
"category_id": "1"
}
},
...
],
"photo": [ // Массив объектов фотографий анкеты
{
"id": "3252",
"profile_id": "99",
"type": "photo",
"title": "i",
"pic": "7794e5dfa7e187da8c48f1935aafec28.png",
"sort": "0"
},
...
],
"video": { // Объект видео визитки анкеты
"id": "40",
"profile_id": "99",
"type": "title",
"title": "i",
"name": "5ae7ac6384310d914e43be4bff98a566.mp4",
"sort": "0"
},
"status": { // Объект статуса анкеты
"id": "5",
"name": "Архивная"
},
"isSaved": false // Добавлена ли анкета в избранное запросившего пользователя
}
Загрузка фото на сервер для дальнейшей привязки к анкете
Принимает один файл для загрузки на сервер возвращает имя файла для последующей привязки к анкете
После загрузки файл доступен по ссылке:
https://api.look-prod.ru/web/uploads/girls/photo/YOUR_FILE_NAME
Имя файла перед сохранением будет изменено на хеш md5 имени файла + метки серверного времени.
api-girl/upload-photo POST
Обязателен заголовок multipart/form-data
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| image | array | Стандартный массив файла переданного POST запросом. | Да |
Возвращаемые данные
{"name": "kjhuvjJhuJgRDfghThgft76ss8df7.png"}
Загрузка видео на сервер для дальнейшей привязки к анкете
Принимает один файл для загрузки на сервер возвращает имя файла для последующей привязки к анкете
После загрузки файл доступен по ссылке:
https://api.look-prod.ru/web/uploads/girls/video/YOUR_FILE_NAME
Имя файла перед сохранением будет изменено на хеш md5 имени файла + метки серверного времени.
api-girl/upload-video POST
Обязателен заголовок multipart/form-data
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| image | array | Стандартный массив файла переданного POST запросом. | Да |
Возвращаемые данные
{"name": "kjhuvjJhuJgRDfghThgft76ss8df7.png"}
Добавление новой анкеты в БД
api-girl/set-profile POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| user_id | int (11) | ID пользователя владельца анкеты | Да |
| category_id | int (11) | ID категории анкеты | Да |
| name | string (50) | Имя в анкете | Да |
| age | int (3) | Возраст | Да |
| height | int (3) | Рост | Да |
| breast | int (1) | Бюст | Да |
| hair_color | string (50) | Цвет волос | Да |
| metro | int (11) | ID станции метро | Да |
| price_hour_app | int | Цена часа в апартаментах в копейках | Да |
| price_hour_app | int | Цена часа в апартаментах в копейках | Да |
| price_two_hour_app | int | Цена 2 часов в апартаментах в копейках | Да |
| price_night_app | int | Цена ночи в апартаментах в копейках | Да |
| price_hour_exit | int | Цена часа выезд в копейках | Да |
| price_two_hour_exit | int | Цена 2 часов выезд в копейках | Да |
| price_night_exit | int | Цена ночи выезд в копейках | Да |
| verify_photo | int (1) | Проверено ли фото модераторами. 1 - да, 0 - нет | Да |
| description | string (1500) | О себе от лица владельца анкеты | Да |
| tel | int (20) | Номер телефона в формате 74568954654 | Да |
| tg | string (50) | Телеграм. Логин или номер телефона | Да |
| int (20) | Телефон в whatsapp в формате 79965541258 | Да | |
| currency_id | int (11) | ID валюты в анкете | Да |
| city_id | int (11) | ID города в анкете | Да |
| status_id | int (11) | ID статуса анкеты | Да |
| author_id | int (11) | ID пользователя создателя анкеты | Да |
| photo | array |
Массив фотографий ранее загруженных на сервер с помощью метода api-girl/upload-photo.
Каждый элемент массива должен содержать поле name с именем загруженного файла. Пример js:
[
{
"name":"soiruglsdhfhdsfg.png"
},
...
]
|
Да |
| video | string|array |
Массив с одним элементом содержащим поле name с именем файла или строка содержащая имя
файла ранее загруженного на сервер с помощью метода api-girl/upload-video.
Пример js:
[
"name":"soiruglsdhfhdsfg.png"
]
ИЛИ
"soiruglsdhfhdsfg.png"
|
Да |
| checkService | array |
Массив предоставляемых услуг. Каждый элемент массива должен содержать поля id (ID услуги
из объекта услуг анкет) и price (стоимость услуги в копейках) Пример js:
[
{
"id": 2,
"price":500000
},
...
]
|
Да |
Возвращаемые данные
{"status": true}
Обновление анкеты по ID
api-girl/update-profile POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемой анкеты. Передаётся GET параметром | Да |
| user_id | int (11) | ID пользователя владельца анкеты | Нет |
| category_id | int (11) | ID категории анкеты | Нет |
| name | string (50) | Имя в анкете | Нет |
| age | int (3) | Возраст | Нет |
| height | int (3) | Рост | Нет |
| breast | int (1) | Бюст | Нет |
| hair_color | string (50) | Цвет волос | Нет |
| metro | int (11) | ID станции метро | Нет |
| price_hour_app | int | Цена часа в апартаментах в копейках | Нет |
| price_hour_app | int | Цена часа в апартаментах в копейках | Нет |
| price_two_hour_app | int | Цена 2 часов в апартаментах в копейках | Нет |
| price_night_app | int | Цена ночи в апартаментах в копейках | Нет |
| price_hour_exit | int | Цена часа выезд в копейках | Нет |
| price_two_hour_exit | int | Цена 2 часов выезд в копейках | Нет |
| price_night_exit | int | Цена ночи выезд в копейках | Нет |
| verify_photo | int (1) | Проверено ли фото модераторами. 1 - Да, 0 - нет | Нет |
| description | string (1500) | О себе от лица владельца анкеты | Нет |
| tel | int (20) | Номер телефона в формате 74568954654 | Нет |
| tg | string (50) | Телеграм. Логин или номер телефона | Нет |
| int (20) | Телефон в whatsapp в формате 79965541258 | Нет | |
| currency_id | int (11) | ID валюты в анкете | Нет |
| city_id | int (11) | ID города в анкете | Нет |
| status_id | int (11) | ID статуса анкеты | Нет |
| author_id | int (11) | ID пользователя создателя анкеты | Нет |
| photo | array |
Массив фотографий ранее загруженных на сервер с помощью метода api-girl/upload-photo.
Каждый элемент массива должен содержать поле name с именем загруженного файла. Пример js:
[
{
"name":"soiruglsdhfhdsfg.png"
},
...
]
|
Да |
| video | string|array |
Массив с одним элементом содержащим поле name с именем файла или строка содержащая имя
файла ранее загруженного на сервер с помощью метода api-girl/upload-video.
Пример js:
[
"name":"soiruglsdhfhdsfg.png"
]
ИЛИ
"soiruglsdhfhdsfg.png"
|
Нет |
| checkService | array |
Массив предоставляемых услуг. Каждый элемент массива должен содержать поля id (ID услуги
из объекта услуг анкет) и price (стоимость услуги в копейках) Пример js:
[
{
"id": 2,
"price":500000,
"description": "Буду стараться", // STRING (150) Комментарий девочки к услуге
},
...
]
|
Да |
Возвращаемые данные
{"status": true}
Обновление статуса анкеты по ID
api-girl/update-status POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемой анкеты. Передаётся GET параметром | Да |
| status_id | int(11) | ID нового статуса анкеты | Да |
Возвращаемые данные
{"status": true}
Возвращает топ анкет по количеству лайков. Отсортировано в обратном порядке
api-girl/get-top-by-likes GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| limit | int | Количество возвращаемых записей. По умолчанию 4 | Нет |
| offset | int | Отступ от начала списка. По умолчанию null. | Нет |
Возвращаемые данные
{
"countTop": "5", // Количество анкет в топе
"limit": 4, // Лимит выборки
"offset": null, //Отступ выборки
"data":[ // Массив с данными топа
{
"profile_id": 164, // ID анкеты
"count": 2, // Количество лайков
"girlProfile": { // Объект анкеты с дополнительными данными
"id": "164",
"user_id": "43",
"category_id": "8",
"name": "Амина",
"age": "23",
"height": "165",
"breast": "3",
"hair_color": "Брюнетка",
"price_hour_app": "2000",
"price_two_hour_app": "5000",
"price_night_app": "15000",
"price_hour_exit": "0",
"price_two_hour_exit": "10000",
"price_night_exit": "0",
"verify_photo": "1",
"description": "Любвеобильная и очень...",
"tel": "9175448538",
"tg": "",
"date_add": "1706252812",
"date_update": "1706252812",
"whatsapp": "9175448538",
"currency_id": "1",
"city_id": "1",
"status_id": "6",
"author_id": "1",
"activity": { // Объект активности
"id": "4",
"user_id": "43",
"status": "0",
"last_activity": "1707150669"
},
"metro": { // Объект метро
"id": "121",
"city_id": "1",
"name": "Академическая"
},
"category": { // Объект категории
"id": "8",
"name": "Инди",
"description": ""
},
"photo": [ // Массив фото
{
"id": "3676",
"profile_id": "164",
"type": "photo",
"title": "i",
"pic": "5c1e9203b8bf1d71bc0d5d5f0a20f1ce.jpg",
"sort": "0"
},
...
],
"city": { // Объект города
"id": "1",
"country_id": "5",
"name": "Москва",
"country": {
"id": "5",
"name": "CountryQ",
"shortName": "testuytyuytyutt",
"alpha2": "tt",
"alpha3": "ttt",
"iso": "111"
}
}
},
...
]
}
Работа со статистикой анкеты. Контроллер ApiStat
Объект статистики
{
"id": 1, //ID записи в БД
"profile_id": 165, // ID анкеты
"view": 9, // Кол-во просмотров анкеты пользователями
"like": 0, // Кол-во лайков
"dislike": 0, // Количество жалоб/дизлайков
"display": 15 // Количество показов анкеты
}
Получение статистики анкеты по её ID
Возвращает объект статистики анкеты
api-stat/get-stat-by-profile-id GET
Возвращаемые данные
{
"id": 1, //ID записи в БД
"profile_id": 165, // ID анкеты
"view": 9, // Кол-во просмотров анкеты пользователями
"like": 0, // Кол-во лайков
"dislike": 0, // Количество жалоб/дизлайков
"display": 15 // Количество показов анкеты
}
Обновление счётчиков по ID анкеты
Метод позволяет обновить любой счётчик по ID анкеты.
api-stat/update-count GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id | int | ID анкеты | Да |
| counter | string | Название обновляемого счётчика. Может быть любым из свойств объекта кроме id и profile_id | Да |
| count | int | На сколько увеличить счётчик. По умолчанию 1 | Нет |
Возвращаемые данные
{"status": true}
Работа с отзывами
Контроллер позволяет работать с отзывами пользователей
Feedback
Объект описывает отзыв пользователя о девочке
{
"id": 1221, // INT ID отзыва
"profile_id": 15, // INT ID анкеты
"user_id": 15, // INT ID пользователя владельца анкеты
"stars": 3, // INT Количество звёзд, которые поставил пользователь
"description": "Хорошо", //STRING (1500) Текст отзыва
"date_add": 123123123123245, //INT (timestamp) дата добавления отзыва
"status_id": 1, //INT - ID статуса отзыва
"photo": 1, //INT - соответствует ли фото реальности. 1 - да, 0 - нет
"once": 0, //INT - девочка принимает одна или нет. 1 - да, 0 - нет
}
Получение списка отзывов по ID анкеты
Возвращает список отзывов для запрошенного ID анкеты. Возвращаются только отзывы прошедшие модерацию
api-feedback/get-feedback-by-profile-id GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| profile_id | int | ID анкеты для которой запрашиваются отзывы | Да |
| limit | int | Количество возвращаемых записей. По умолчанию 5 | Нет |
Возвращаемые данные
{
"status": true,
"feedback": [
{
"id": "7",
"profile_id": "1",
"user_id": "1",
"stars": "4",
"description": null,
"date_add": "1706694710",
"status_id": "1",
"photo": "1",
"once": null,
"user": { //Сокращённый объект пользователя
"id": "1",
"username": "admin",
"email": "admin@admin.admin"
},
"status": { //Объект статуса отзыва
"id": "1",
"name": "На модерации"
}
},
...
],
"count": "8", //Общее количество отзывов по этой анкете
"rating": "3.88", //Текущий рейтинг на основе всех отзывов
"starsCount": [
{
"stars": 5, // 5 звёзд
"count": 1 // Количество отзывов с 5 звёздами
},
{
"stars": 4,
"count": 6
},
{
"stars": 3,
"count": 0
},
{
"stars": 2,
"count": 1
},
{
"stars": 1,
"count": 0
}
]
}
Получение списка отзывов отфильтрованного по параметрам
Возвращает список отзывов по запрошенным параметрам.
api-feedback/get-feedback-by-params GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| profile_id | int (11) | ID анкеты | Нет |
| user_id | int (11) | ID пользователя владельца анкеты | Нет |
| stars | int (1) | Количество звёзд 1-5 | Нет |
| status_id | int (11) | ID статуса отзыва | Нет |
| date_add | string (50) | Дата добавления отзыва. Передаётся в формате YYYY-MM-DD | Нет |
| limit | int | Количество возвращаемых записей. По умолчанию 20 | Нет |
| offset | int|null | Отступ от начала списка. По умолчанию null. | Нет |
Возвращаемые данные
[
{
"id": "7",
"profile_id": "1",
"user_id": "1",
"stars": "4",
"description": null,
"date_add": "1706694710",
"status_id": "1",
"photo": "1",
"once": null,
"user": { //Сокращённый объект пользователя
"id": "1",
"username": "admin",
"email": "admin@admin.admin"
},
"status": { //Объект статуса отзыва
"id": "1",
"name": "На модерации"
}
},
...
]
Добавление отзыва
Добавляет новый отзыв в БД
api-feedback/set-feedback POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| profile_id | int(11) | ID анкеты | Да |
| user_id | int(11) | ID пользователя | Да |
| stars | int (1) | Количество звёзд (1-5) | Да |
| photo | int (1) | Соответствует ли фото реальности 1 или 0 | Нет |
| once | int (1) | Девочка принимает одна или нет 1 или 0 | Нет |
| description | string (1500) | Текст отзыва | Нет |
Возвращаемые данные
{"status": true}
Изменение отзыва
Изменяет отзыв в БД
api-feedback/update-feedback POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемого отзыва. Передаётся GET параметром | Да |
| profile_id | int(11) | ID анкеты | Нет |
| user_id | int(11) | ID пользователя | Нет |
| stars | int (1) | Количество звёзд (1-5) | Нет |
| photo | int (1) | Соответствует ли фото реальности 1 или 0 | Нет |
| once | int (1) | Девочка принимает одна или нет 1 или 0 | Нет |
| description | string (1500) | Текст отзыва | Нет |
| status_id | int (11) | ID статуса отзыва | Нет |
Возвращаемые данные
{"status": true}
Изменение статуса отзыва
Изменяет статус отзыва в БД
api-feedback/update-feedback-status POST
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| id GET | int(11) | ID изменяемого отзыва. Передаётся GET параметром | Да |
| status_id | int (11) | ID статуса отзыва | Нет |
Возвращаемые данные
{"status": true}
Дополнительные данные
Раздел содержит информацию о данных, которые никогда|редко используются в методах апи и требуют пояснения механики работы с такими данными и|или структуры
Активность пользователя
Активность пользователя определяется по запросам к апи с данными доступа этого пользователя.
При каждом разрешённом запросе дата последней активности обновляется и обновляется статус
активности.
При этом с периодичностью в 5 минут серверный скрипт проверяет все записи в таблице. Если время
последней активности превышает 5 минут, то статус активности устанавливается в не активное
состояние.
Таким образом в системе принят допуск определения не активности от 5 до 10 минут.
Определение активности - полностью автоматический процесс поэтому методов для работы с
активностью не существует.
АПИ часто возвращает данные активности вместе с другими объектами. Например, при получении списка анкет по параметрам с полным набором
данных
Объект активности пользователя
{
"id": "3", // ID записи в базе
"user_id": "44", // ID пользователя
"status": "1", // Статус. 1 - активен 0 - не активен
"last_activity": "1707150669" // timestamp даты последней активности пользователя
}
Вспомогательные методы Контроллер Api
Раздел содержит список и описание вспомогательных методов АПИ
Проверка номера телефона на уникальность
Метод проверяет наличие номера в базе по полю tel в таблице пользователей. Перед проверкой удаляет любые символы кроме цифр. После удаления проверяет номер на длину.
api/check-phone GET
Принимаемые параметры
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| phone | string (50) | Номер телефона содержащий 11 цифр и любые другие символы (будут удалены перед проверкой) | Да |
Возвращаемые данные
Если этого номера нет в базе:
{"status":true}
Если номер в базе найден:
{
"status": false,
"error": "Номер 78546589564 уже используется"
}
Получение списка администраторов
Метод возвращает список пользователей с ролью admin
api/get-admin-list GET
Возвращаемые данные
{
"item_name": "admin", // Роль пользователя
"user_id": 1, // ID пользователя
"created_at": 1231213123, // timestamp даты присвоения роли пользователю
"user": { // Сокращённый объект пользователя
"id": 1, //ID пользователя
"username": "admin" // Логин пользователя
}
},