Earth API
Earth API - это многофункциональный бесплатный REST сервис от разработчиков DevelNext, созданный специально для использования в develnext проектах всеми пользователями нашей среды. Сервис умеет предоставлять разную информацию и выполняет некоторые удобные функции, а также не требует никакой регистрации.
Он располагается по следующему адресу:
https://api.develnext.org/data/v1/
v1
- первая версия api
Методы
- Информация об IP (
/data/v1/ip/...
) - QR Код (генерация) (
/data/v1/qr-code/...
) - Цитаты и афоризмы (
/data/v1/quote/...
)
Информация об IP
GET https://api.develnext.org/data/v1/ip/{ip-address}
{ip-address}
- можно передать любой ip версии 4 или ключевое словоcurrent
, чтобы использовать ip от клиента, который сделал запрос.
Метод возвращает следующую информацию об IP:
- hostname - имя хоста, если оно имеется.
- city - город, к которому принадлежит ip.
- country - страна, к которому принадлежит ip.
- continent - код континента, к которому принадлежит ip, например
EU
илиNA
. - location - временная зона и широта/долгота местоположения по ip.
- postal - почтовый индекс.
Пример запроса и ответа:
GET https://api.develnext.org/data/v1/ip/108.70.12.107
{
"ip":"108.70.12.107",
"hostname":"108-70-12-107.lightspeed.clmasc.sbcglobal.net",
"city":{
"id":4575352,
"name":"Columbia",
"names":{
"de":"Columbia",
"ru":"Колумбия",
"pt-BR":"Colúmbia",
"ja":"コロンビア",
"en":"Columbia",
"fr":"Columbia",
"zh-CN":"哥伦比亚",
"es":"Columbia"
}
},
"country":{
"id":6252001,
"iso":"US",
"name":"United States",
"names":{
"de":"USA",
"ru":"США",
"pt-BR":"Estados Unidos",
"ja":"アメリカ合衆国",
"en":"United States",
"fr":"États-Unis",
"zh-CN":"美国",
"es":"Estados Unidos"
}
},
"continent":"NA",
"location":{
"latitude":34.0484,
"longitude":-81.111,
"timeZone":"America/New_York",
"population":null
},
"postal":"29210"
}
Как получить текущий IP?
Вернуть информацию о текущем IP клиента:
GET https://api.develnext.org/data/v1/ip/current
Формат ответа см. выше.
QR Код (генерация)
Метод позволяет сконвертировать любой текст не более 2048
символов в изображение QR кода. Метод возвращает изображение в формате png
(image/png
).
GET https://api.develnext.org/data/v1/qr-code/generate?text={text}&size={size}
Где параметры:
{text}
- текст для конвертирования (обязательный).{size}
- размер изображения результата QR кодирования, от 64 до 1024 пикселей.
Варианты кодов ответа:
200
- изображение сгенерированно корректно.400
- если параметры переданы неверно, ответ в виде строки.
Пример (перейдите по ссылке):
https://api.develnext.org/data/v1/qr-code/generate?text=DevelNext&size=300
Цитаты и афоризмы
Следующие методы позволяют получать случайные известные цитаты на заданные темы.
Случайная цитата
GET https://api.develnext.org/data/v1/quote/random?minRating={?}&subject={?}&tags={?}
Где все параметры не обязательны:
minRating
- минимальный рейтинг цитаты от 0 до 1000+.subject
- тема цитатыtags
- список тегов цитат, разделителем выступает символ|
.
Пример запросов
GET https://api.develnext.org/data/v1/quote/random?minRating=10
GET https://api.develnext.org/data/v1/quote/random?tags=свобода
GET https://api.develnext.org/data/v1/quote/random?tags=счастье|свобода
GET https://api.develnext.org/data/v1/quote/random?tags=свобода&minRating=12
GET https://api.develnext.org/data/v1/quote/random?subject=цветы
Пример ответа
{
"id":"5916fc7a2f0a0d0abcf3e277",
"text":"Нет ничего более стимулирующего, чем когда всё идёт не так, как надо. (Нет ничего более стимулирующего, чем дело, где все идет против тебя.)",
"source":{
"name":null,
"author":"Шерлок Холмс",
"authorType":"Цитируемый персонаж",
"type":null
},
"subject":"мотивация",
"tags":[
"стимул",
"Мотивирующие цитаты"
],
"rating":165
}
Список всех доступных тем
Для того, чтобы получить список всех доступных тем, используйте следующий метод:
Метод также возвращает статистику каждой темы (количество цитат на тему
count
, минимальный и максимальный рейтинг в данной теме).
GET https://api.develnext.org/data/v1/quote/subjects
Пример ответа
[
{
"value":"профессия",
"count":32,
"minRating":0,
"maxRating":91
},
{
"value":"объяснение",
"count":26,
"minRating":0,
"maxRating":161
},
{
"value":"цветы",
"count":26,
"minRating":1,
"maxRating":272
},
{
"value":"долг",
"count":25,
"minRating":0,
"maxRating":85
},
{
"value":"неприятности",
"count":24,
"minRating":0,
"maxRating":191
},
{
"value":"время",
"count":24,
"minRating":0,
"maxRating":551
}
]
Список всех доступных тегов
Для того, чтобы получить список всех доступных тегов, используйте следующий метод:
Метод также возвращает статистику каждого тега (количество цитат
count
, минимальный и максимальный рейтинг в данном теге).
GET https://api.develnext.org/data/v1/quote/tags
Пример ответа
[
{
"value":"Жизненные цитаты",
"count":1121,
"minRating":-4,
"maxRating":885
},
{
"value":"Ироничные цитаты",
"count":678,
"minRating":-2,
"maxRating":674
},
{
"value":"Смешные цитаты",
"count":572,
"minRating":-2,
"maxRating":1079
},
{
"value":"Саркастичные цитаты",
"count":427,
"minRating":-1,
"maxRating":434
},
{
"value":"Грустные цитаты",
"count":388,
"minRating":0,
"maxRating":290
},
{
"value":"Мудрые цитаты",
"count":379,
"minRating":-2,
"maxRating":823
},
{
"value":"любовь",
"count":343,
"minRating":-1,
"maxRating":699
},
{
"value":"человек, люди",
"count":302,
"minRating":0,
"maxRating":405
}
]