Разместить рекламу здесь за 40р/сутки!

API для разработчиков

Любой желающий может создавать свои приложения или использовать данные с joby.su в своих веб-проектах.
Запросы на чтение данных выполняются методом GET, запросы на изменение данных, создание новых, удаление - методом POST. Для методов POST в каждом запросе необходимо передавать логин и пароль пользователя.
Ответы на запросы приходят в формате JSON.
В данной версии API доступны только данные для чтения. Обработка POST запросов в разработке. Следите за новостями сайта.

Запросы на чтение

Во всех ответах есть однотипные поля, описывать которые в каждом запросе смысла нет. Например:
  • pk: первичный ключ
  • slug: ссылка/название латиницей
  • title: название/наименование
  • descr/txt: описание/полный текст
  • image/photo/avatar: ссылка на картинку/фото/аватар
  • date: дата
В некоторых запросах, ответ включает в себя пагинацию, например: {"count":1,"next":null,"previous":null,"results":[]
Где
  • count: количество страниц
  • next: ссылка на следующую страницу
  • previous: ссылка на предыдущую страницу
  1. Категории

    Категории, это основные направления проектов, а также профиля пользователя. Категории включают в себя подкатегории. Полный список категорий и подкатегорий вы можете посмотреть, например, тут. Запрос на получение категорий с подкатегориями необходимо направлять на url
    https://joby.su/api/cats/
    В ответе вы получите список
     { pk: 17 slug: "flash" subcategories: [ {pk: 38, slug: "bannery", title: "Баннеры"},… ] title: "Flash" twitter: "" vk: "" },... 
    • subcategories: список подкатегорий
    • twitter: ссылка на твиттер, где публикуются проекты из данной категории
    • vk: ссылка на группу vkontakte, где публикуются проекты из данной категории
  2. Технологии

    Технологии. Используются в профилях фрилансеров, в тестировании. Запрос на получение списка технологий: https://joby.su/api/techs/
    В ответе вы получите список
     [ {"id":2,"title":"JavaScript"}, {"id":6,"title":"Assembler"}... ] 
  3. Список фрилансеров

    https://joby.su/api/users/
    В ответе вы получите список
     { first_name: "Сергей" get_avatar_api: "https://joby.su/static/img/nophoto.png" last_name: "Шоломицкий" lastactivity: "2015-01-14T13:19:14.397195" pk: 1 podpis: "" rating: "100.00" username: "admin" }... 
    • first_name/last_name: имя/фамилия
    • get_avatar_api: ссылка на аватар (фото)
    • lastactivity: дата последней активности
    • podpis: подпись
    • rating: рейтинг
    • username: логин пользователя
  4. Данные пользователя

    В запрос подставляется логин пользователя
    https://joby.su/api/users/admin/
    В ответе вы получите
     birth: null city: "Дзержинск" coord: "56.237592,43.459856" country: "r" create_date: "2013-11-08" cv: "" descr: "" first_name: "Сергей" get_avatar_api: "https://joby.su/static/img/nophoto.png" is_online: true last_name: "Шоломицкий" lastactivity: "2015-01-14T13:24:50.165752" podpis: "" pol: "m" portfolio_set: [705] rating: "100.00" rss: "http://criticweb.ru/feed/" site: "http://criticweb.ru/" stack_rating: 0 subcategories: [43, 12, 9] technologies: [2, 19, 23, 24, 27, 28, 29, 30, 39] username: "admin" 
    • birth: дата рождения
    • city: город проживания
    • coord: координаты на карте
    • country: страна. r - Россия, u - Украина, b - Белоруссия, k - Казахстан, z - Узбекистан
    • create_date: дата регистрации
    • cv: ссылка на резюме
    • descr: о себе
    • is_online: сейчас на сайте (да/нет)
    • pol: пол. f - женский, m - мужской
    • portfolio_set: список из pk портфолио пользователя
    • rss: ссылка на rss ленту личного блога
    • site: ссылка на личный вебсайт
    • stack_rating: рейтинг stackoverflow
    • subcategories: список подкатегорий
    • technologies: список технологий
  5. Список портфолио

    https://joby.su/api/portfolio/
    В ответе вы получите список
     { comments_count: 1 get_preview_api: "http://s3.joby.su/preview.." likes: 0 pk: 705 subcategory: 39 title: "Регион" user: 1 }... 
    • comments_count: количество комментариев
    • get_preview_api: ссылка на превью
    • likes: кол-во лайков
    • subcategory: подкатегория
    • user: pk пользователя
  6. Данные портфолио

    В запрос подставляется pk портфолио
    https://joby.su/api/portfolio/705/
    В ответе вы получите
     { comments_count: 1 descr: "erew" file: null get_big_preview: "http://s3.joby.su/preview/..." get_preview_api: "http://s3.joby.su/preview/..." images: [{get_big_preview: "http://s3.joby.su/portfolio/..."}] likes: 0 link: "http://market.yandex.ru" portfoliocomments_set: [{pk: 706, descr: "123123", date: "2015-01-14T10:29:16.586982", children: [34,12], user: 1, likes: 0}] subcategory: 39 title: "Интернет-магазин" user: 1 }... 
    • file: ссылка на прикрепленный файл
    • get_big_preview: ссылка изображение в большом размере
    • images: список прикреплённых изображений
    • link: ссылка
    • portfoliocomments_set: Дерево комментариев к портфолио. Где descr: текст комментария, date: дата, children: список из ответов, user: pk пользователя, likes: лайки комментария
  7. Проекты

    Кроме полного списка активных проектов
    https://joby.su/api/projects/

    Проекты можно отфильтровать по категориям и подкатегориям https://joby.su/api/projects/?subcategory=15
    или
    https://joby.su/api/projects/?category=17
    В ответе вы получите список
     { activetill: "2015-01-23" date: "2015-01-06T12:54:18.807380" pk: 15 requests: 0 subcategory: 15 title: "Создать интернет-магазин" user: 1 views: 1 vip: false }... 
    • activetill: до какого числа размещен проект
    • requests: кол-во заявок
    • subcategory: подкатегория проекта
    • user: pk пользователя, разместившего проект. Может быть null, если разместил неавторизованный пользователь
    • views: количество просмотров
    • vip: вип проект (да/нет)
  8. Данные проекта

    В запрос подставляется pk проекта https://joby.su/api/projects/15/
    В ответе вы получите список
     { active: true activetill: "2015-01-23" date: "2015-01-06T12:54:18.807380" descr: "info" file: null maxprice: null pk: 15 request_set: [] security: false selected: null subcategory: 15 title: "Создать интернет-магазин" user: 1 views: 1 vip: false }... 
    • active: если false, значит проект закрыт
    • file: ссылка на прикреплённый файл
    • maxprice: максимальная цена, которую заказчик готов заплатить
    • security: только безопасная сделка
    • selected: pk выбранной заявки (из request_set)
    • request_set: список заявок, где days: кол-во дней, за которые фрилансер готов выполнить проект, price: сумма, указанная фрилансером, rejected: заявка отклонена заказчиком
  9. Проекты с других бирж

    https://joby.su/api/other/
    В ответе вы получите список
     { 'pk':100, 'title':'Создать копию яндекса', 'date':'2015-01-06T12:54:18.807380', }... 
  10. Данные проекта стороней биржи

    В запросе необходимо подставлять pk из предыдущего запроса https://joby.su/api/other/100/
    В ответе вы получите
     { 'pk':100, 'title':'Создать копию яндекса', 'description':'Хочу свой поисковик', 'date':'2015-01-06T12:54:18.807380', 'link','http://weblancer.net/.... }... 
  11. Список новостей сайта

    https://joby.su/api/news/
    В ответе вы получите список
     { date: "2015-01-04T15:52:45.462508" slug: "novost" title: "Новость" }... 
  12. В запрос необходимо подставлять slug новости

    Запрос на чтение новости

    https://joby.su/api/news/novost/
    В ответе вы получите
     { blogcomments_set: [{pk: 701, descr: "1", date: "2015-01-05T13:06:56.058229", children: [], user: 1, likes: 0},…] date: "2015-01-04T15:52:45.462508" slug: "novost" title: "Новость" txt: "текст новости" } 
  13. Список FAQ

    https://joby.su/api/faq/
    В ответе вы получите список вопросов и ответов
     { pk: 2 title: "Вывод средств" } 
  14. Прочитать ответ на вопрос (FAQ)

    В запрос необходимо подставлять pk вопроса https://joby.su/api/faq/2/
    В ответе вы получите
     { pk: 2, title: "Вывод средств", answer: "Минимальная сумма вывода - 100 рублей. Заказать вывод можно на ..' } 
  15. Разделы форума

    https://joby.su/api/forum/
    В ответе вы получите список разделов
     { descr: "Критика, пожелания, вопросы и предложения по улучшение сервиса" messages_count: 1 slug: "joby" themes_count: 2 title: "JOBY" } 
    • messages_count: кол-во сообщений
    • themes_count: кол-во тем
  16. Темы в разделе форума

    В запрос необходимо подставлять slug раздела https://joby.su/api/forum/joby/
    В ответе вы получите список тем в theme_set
     { descr: "Критика, пожелания, вопросы и предложения по улучшение сервиса" messages_count: "1" theme_set: [ { title: "Тема", slug: "tema", user: 1, descr: "а вы что думаете по этому поводу?", date: "2015-01-03T06:33:20.777235" },... ] themes_count: 2 title: "JOBY" } 
    • title: название темы
    • descr: сообщение
  17. Сообщения в теме форума

    В запрос необходимо подставлять slug раздела и slug темы https://joby.su/api/forum/joby/tema/
    В ответе вы получите список сообщений
     { date: "2015-01-06T12:09:57.110437" descr: "Первое сообщение" images: [ {image: "http://.."} ] user: 1 } 
    • images: список ссылок на прикреплённые изображения к сообщению