API: ресурсы
Ресурсы API версии v1. Общие соглашения (авторизация, ошибки, пагинация) описаны в разделе API: обзор.
Проект Список отражает план MVP. Точные схемы запросов и ответов появятся в спецификации OpenAPI.
Авторизация и аккаунт
| Метод и путь | Назначение |
POST /auth/otp/request | Отправить SMS-код на номер |
POST /auth/otp/verify | Проверить код, получить токены |
POST /auth/oauth/{google|apple} | Вход через Google или Apple |
POST /auth/link | Привязать телефон или другой способ входа |
POST /auth/refresh | Обновить пару токенов |
GET /me, PATCH /me | Свой аккаунт и настройки |
DELETE /me | Удалить аккаунт |
POST /devices | Зарегистрировать устройство для push (FCM / APNs) |
Справочники
| Метод и путь | Назначение |
GET /categories | Категории и навыки на таджикском и русском |
GET /locations | Регионы, города, районы |
Рабочие и портфолио
| Метод и путь | Назначение |
GET /workers | Поиск: category, location, available_today, near, min_rating, verified, type=individual|crew |
GET /workers/{id} | Публичный профиль |
POST /workers, PATCH /workers/{id} | Создать или изменить свой профиль |
PUT /workers/{id}/availability | Включить или выключить «Свободен сегодня» |
GET /workers/{id}/posts | Лента работ (портфолио) |
POST /workers/{id}/posts | Опубликовать работу: фото и подпись |
DELETE /posts/{id} | Удалить публикацию |
POST /media/uploads | Получить ссылку для загрузки фото |
Заказы
| Метод и путь | Назначение |
GET /jobs | Лента открытых заказов с фильтрами |
POST /jobs | Создать заказ (черновик или сразу открытый) |
GET /jobs/{id}, PATCH /jobs/{id} | Заказ. Адрес и телефон только участникам после назначения |
GET|POST /jobs/{id}/applications | Отклики: список для заказчика, создание для рабочего |
POST /jobs/{id}/invitations | Пригласить рабочего |
PUT /jobs/{id}/assignment | Назначить исполнителя и согласованную сумму |
POST /jobs/{id}/transitions | Сменить статус заказа: см. жизненный цикл |
Доверие и модерация
| Метод и путь | Назначение |
POST /reviews | Оставить отзыв по завершённому заказу |
GET /workers/{id}/reviews | Опубликованные отзывы о рабочем |
POST /reports | Пожаловаться на профиль, заказ, фото или отзыв |
POST /verifications | Отправить документ и селфи на проверку |
GET|POST /favorites | Избранные рабочие |
GET /notifications | Уведомления пользователя |
/admin/* | Админка: роли support, verifier, moderator, admin |
Пример: профиль рабочего
GET /v1/workers/wrk_8f2c
{
"id": "wrk_8f2c",
"type": "individual",
"display_name": "Фаррух",
"photo_url": "https://cdn.mardikor.tj/...",
"categories": ["tiles", "plaster"],
"location": { "city": "dushanbe", "district": "sino" },
"rate": { "unit": "day", "amount": 30000 },
"available_today": true,
"verified": true,
"stats": {
"rating": 4.9,
"reviews": 31,
"completed_jobs": 38,
"cancel_rate": 0.03,
"no_shows": 0,
"median_response_minutes": 12
},
"phone": null
}
Поле phone остаётся null, пока между пользователями нет назначенного заказа.