Пользовательские станции
Как подключить вашу метеостанцию к Яндекс Погоде
-
Получите ключ для доступа к методам API
Примечание
Ключ нужен только для того, чтобы идентифицировать вас как пользователя. Поэтому, даже если срок действия ключа истёк или он был заблокирован в рамках тарифа, API Пользовательских станций будет продолжать работать.
Можно бесплатно пользоваться API Пользовательских станций по Триальному ключу доступа, не привязывая платёжные реквизиты.
-
Зарегистрируйте свою станцию в нашей системе, используя метод
/stations
, и получите уникальный идентификатор станции. -
Передайте данные о погоде, используя метод
/measurements
Методы API пользовательских станций
Два метода, необходимых для начала работы с API пользовательских станций: создание станции и передача измерений.
Для доступа к методам API требуется, чтобы вы передали свой ключ в запросе.
При вызове методов PUT
и POST
также необходимо указать заголовок: Content-Type: application/json
.
/stations
Этот метод используется для регистрации станции.
Вам необходимо передать набор параметров: внешний идентификатор, название станции и ее географическое расположение.
В случае успешного создания метод возвращает HTTP-код 200
.
Пример запроса
curl -X POST -H 'X-Yandex-Weather-Key: <Key>' -H 'Content-type: application/json' -d '{
"external_id": "001",
"name": "Moscow Test Station",
"latitude": 55.833333,
"longitude": 37.616667,
"altitude": 157
}' 'https://api.weather.yandex.ru/user_stations/stations/'
Пример ответа
{
"ID": "593436cc9643a9000196b8d6",
"updated_at": "2023-11-22T12:15:25.96727176Z",
"created_at": "2023-11-22T12:15:25.967271732Z",
"user_id": "557066d0ff7a7e3897531d94",
"external_id": "001",
"name": "Moscow Test Station",
"latitude": 55.833333,
"longitude": 37.616667,
"altitude": 157,
"source_type": 5
}
/measurements
Этот метод используется для передачи измерений, собранных с вашей станции.
Ниже приведено полное описание возможных структур данных. Измерения передаются в виде массива, что позволяет указать сразу несколько наборов данных и выполнить отложенную отправку.
В случае успешных измерений метод отправки возвращает HTTP-код 200
.
Пример запроса
curl -X POST -H 'X-Yandex-Weather-Key: <Key>' -H 'Content-type: application/json' -d '[
{
"station_id": "593436cc9643a9000196b8d6",
"dt": 1697545340,
"temperature": 18.7,
"wind_speed": 1.2,
"wind_gust": 3.4,
"pressure": 1021,
"humidity": 87,
"rain_1h": 2,
"clouds": [
{
"condition": "NSC"
}
],
"weather": [
{
"condition": "NSC"
}
]
}
]' 'https://api.weather.yandex.ru/user_stations/measurements/'
Поле объекта | Тип | Единицы измерения | Описание |
---|---|---|---|
station_id |
string |
Внутренний ID станции | |
dt |
integer |
Unix Timestamp | Время измерения |
temperature |
float |
Градусы Цельсия | Температура воздуха |
wind_speed |
float |
Метры в секунду | Скорость ветра |
wind_gust |
float |
Метры в секунду | Скорость порывов ветра |
wind_deg |
float |
Градусы от 0 до 360 | Направление ветра |
pressure |
float |
Гектопаскали | Атмосферное давление |
humidity |
float |
% | Относительная влажность |
rain_1h |
float |
Миллиметры | Выпавшие за час осадки |
rain_6h |
float |
Миллиметры | Выпавшие за 6 часов осадки |
rain_24h |
float |
Миллиметры | Выпавшие за день осадки |
dew_point |
float |
Градусы Цельсия | Точка росы |
clouds[]:distance |
float |
Метры | Высота нижней границы облаков |
clouds[]:condition |
string |
SKC, FEW, BKN, OVC | Облачность |
weather[]:key |
string |
Имя дополнительного параметра | |
weather[]:value |
any |
Значение параметра |
Пример ответа
{}