Публичный API Jangrok
Простой REST API для работы со своими заказами, чатами и лотами — например, чтобы автоматически выдавать товар или синхронизировать цены из внешней системы. Примеры ниже — на cURL, JavaScript, Python, PHP и Go, переключаются вкладками.
Базовый URL
Авторизация
Каждый запрос — с заголовком
Authorization: Bearer <ключ>.
Создать ключ можно в разделе API-ключей профиля после входа.
Права доступа (scope)
У каждого ключа — свой набор прав, выбирается при создании.
Ключ без нужного права получит 403 на соответствующем эндпоинте.
read_orders | Читать свои заказы |
write_orders | Подтверждать получение заказа |
read_chat | Читать сообщения своих чатов |
write_chat | Отправлять сообщения в свои чаты |
edit_listings | Редактировать свои лоты (цена, название, описание) |
Ошибки и лимиты
Ошибка — всегда JSON с полем error
и соответствующим HTTP-статусом:
401 | Нет заголовка Authorization, ключ неверный или отозван |
403 | У ключа нет нужного права (scope) |
404 | Ресурс не найден или принадлежит не тебе |
400 | Некорректные данные в запросе |
409 | Заказ не в том статусе для этого действия |
429 | Превышен лимит запросов |
Лимит — 60 запросов/мин на ключ по умолчанию, настраивается при создании ключа (до 300/мин).
Список твоих заказов — и как покупателя, и как продавца, последние 100, новые сначала.
Запрос
curl https://jangrok.site/api/v1/orders \
-H "Authorization: Bearer pm_твой_ключ"Ответ 200
{
"orders": [
{
"id": 4821,
"listing_title": "1000 робуксов",
"quantity": 1,
"price_paid_total": "899.00",
"status": "in_progress",
"role": "buyer",
"created_at": "2026-09-15 12:03:44"
}
]
}Детали одного заказа — только если ты покупатель или продавец в нём, иначе 404.
Запрос
curl https://jangrok.site/api/v1/orders/4821 \
-H "Authorization: Bearer pm_твой_ключ"Ответ 200
{
"id": 4821,
"listing_title": "1000 робуксов",
"quantity": 1,
"price_paid_total": "899.00",
"status": "confirmed_frozen",
"role": "buyer",
"created_at": "2026-09-15 12:03:44",
"confirmed_at": "2026-09-15 12:10:02"
}Подтвердить получение — только для покупателя, и только пока заказ в статусе in_progress (иначе 409). Деньги продавца переходят в заморозку до автоматической разморозки.
Запрос
curl -X POST https://jangrok.site/api/v1/orders/4821/confirm \
-H "Authorization: Bearer pm_твой_ключ"Ответ 200
{
"status": "confirmed_frozen",
"frozen_until": "2026-09-17 12:10:02"
}Сообщения чата, в котором ты участник. Параметр ?after=ID — только сообщения новее указанного id, удобно для опроса (polling) без повторной загрузки истории целиком.
Запрос
curl "https://jangrok.site/api/v1/chats/51/messages?after=1200" \
-H "Authorization: Bearer pm_твой_ключ"Ответ 200
{
"messages": [
{
"id": 1201,
"sender_id": 7,
"content": "Данные отправлены, проверьте почту",
"created_at": "2026-09-15 12:11:30"
}
]
}Отправить сообщение в чат, в котором ты участник. Текст — до 2000 символов, пустое сообщение не примется.
Запрос
curl -X POST https://jangrok.site/api/v1/chats/51/messages \
-H "Authorization: Bearer pm_твой_ключ" \
-H "Content-Type: application/json" \
-d '{"message": "Данные отправлены, проверьте почту"}'Ответ 200
{
"id": 1201,
"sender_id": 7,
"content": "Данные отправлены, проверьте почту"
}Изменить свой лот — передавай только те поля, которые хочешь обновить, остальные останутся как были. Хотя бы одно поле обязательно.
Запрос
curl -X PATCH https://jangrok.site/api/v1/listings/930 \
-H "Authorization: Bearer pm_твой_ключ" \
-H "Content-Type: application/json" \
-d '{"price": "849.00"}'Ответ 200
{
"status": "updated",
"listing_id": 930
}