Wiki

Clone wiki

darudar-backend / Гео (Дарономика)

Информация о городе

URI: GET ~/geo/city/<cityId>

Вывод информации о городе с указателем <cityId>.

Пример запроса:

GET /geo/city/447159 HTTP/1.1
HOST: api.brutto.dev.darudar.com
content-type: application/json
authorization: <token>
accept: application/json

Пример ответа:

#!json
{
  "city": [
    {
      "pk_city": 447159, <-- Уникальный ID города
      "city_name": "Москва", <-- Название города
      "region_name": "Москва и Московская обл.", <-- Название области/региона
      "country_name": "Россия (Russia)", <-- Название страны
      "country_code": "RU", <-- Код страны
      "daronomics": { <-- данные по дарономике города*
        "alias": "moskva", <-- Алиас
        "count_users": 93383, <-- Кол-во пользователей города
        "count_gifts": 1278147, <-- Кол-во опубликованных даров 
        "count_offered_gifts": 22283, <-- Кол-во даров в статусе `дарится`
        "count_promised_gifts": 7919, <-- Кол-во даров в статусе `обещано`
        "count_presented_gifts": 1247945, <-- Кол-во даров в статусе `подарено`
        "count_thanks": 1483584, <-- Кол-во благодарностей от сообщников города
        "longitude": 37.6176338, <-- GEODIST: долгота
        "latitude": 55.7557869, <-- GEODIST: широта
        "is_active": 1, <-- Флаг активности
        "pulse": { <-- Пульс дарения города
          "url": "http://img7.static.darudar.org/-/app//files/charts/pulse/cities/2016/447159/79/9b/799b7d5eb9932810b9edebfe7714dbacpulse.png"
        }
      }
    }
  ]
}
Свойство daronomics в города опционально!

Подсказка доступных городов

URI: GET ~/geo/suggest

Подсказка доступных городов по указанной маске.

Параметр Описание
q (обязательный) Запрос-маска по которой будут искаться города
num (опциональный) Кол-во городов в ответе

Пример запроса:

#!
GET /geo/suggest/?q=%D0%96%D1%83 HTTP/1.1
HOST: api.brutto.dev.darudar.com
content-type: application/json
authorization: <token>
accept: application/json

В ответе в объекте cities будет список городов, удовлетворяющих указанной в запросе маске. Описание свойств в ответе можно узнать тут. Пример ответа:

#!json

{
  "q": "Жук", <-- запрос
  "cities": [
    {
      "pk_city": 446600,
      "city_name": "Жуков", 
      "region_name": "Калужская обл.", 
      "country_name": "Россия (Russia)", 
      "country_code": "RU"
    },
    {
      "pk_city": 446126,
      "city_name": "Жуковка",
      "region_name": "Брянская обл.",
      "country_name": "Россия (Russia)",
      "country_code": "RU"
    },
    {
      "pk_city": 447108,
      "city_name": "Жуковка",
      "region_name": "Москва и Московская обл.",
      "country_name": "Россия (Russia)",
      "country_code": "RU"
    },
    {
      "pk_city": 447109,
      "city_name": "Жуковский",
      "region_name": "Москва и Московская обл.",
      "country_name": "Россия (Russia)",
      "country_code": "RU"
    }
  ]
}

Поток даров города

URI: /geo/city/<cityId>/gifts

Поток даров города по его идентификатору.

Пример запроса:

GET /geo/city/447159/gifts HTTP/1.1
HOST: api.brutto.dev.darudar.com
content-type: application/json
authorization: <token>
accept: application/json

В ответе будет стандартный список даров gifts с дарами по дате их публикации. Пример ответа:

#!json
{
  "gifts": [
    {...}, <-- Дар (см. вывод дара на списке)
    {...},
    {...}
  ],
  "paginator": {...} <-- см. постраничная навигация
}
Доступна постраничная навигация.

Поток благодарностей города

URI: /geo/city/<cityId>/thanks

Поток благодарностей города по его идентификатору.

Пример запроса:

GET /geo/city/447159/thanks HTTP/1.1
HOST: api.brutto.dev.darudar.com
content-type: application/json
authorization: <token>
accept: application/json

В ответе будет стандартный список благодарностей thanks по дате их публикации. Пример ответа:

#!json
{
  "thanks": [
    {...}, <-- Благодарность (см. вывод благодарности в списке)
    {...},
    {...}
  ],
  "paginator": {...} <-- см. постраничная навигация
}
Доступна постраничная навигация.

Оформление подписки на город

URI: POST | DELETE /geo/city/<cityId>/subscribe

Оформление подписки на город <cityId> (отписка).

Пример запроса:

POST /geo/city/12345/subscribe HTTP/1.1
HOST: api.brutto.dev.darudar.com
content-type: application/json
authorization: <token>
accept: application/json

Пример ответа:

#!json
{
  "subscribe": "ok"
}
В случае удаления подписки в ответе придёт свойство unsubscribe.

Автоопределение ближайшего города

URI: GET ~/geo/city/nearby

Вывод информации об автоопределенном городе<cityId>.

Пример запроса:

POST /geo/city/nearby HTTP/1.1
HOST: api.brutto.dev.darudar.com
content-type: application/json
authorization: <token>
accept: application/json

Ответ:

#!json
{
  "city": [
    {
      ...
    }
  ]
}
Используется стандартный вывод информации о городе, см. Информация о городе

В случае невозможности определить город, используется город по умолчанию (Москва).

Updated