Сервер pin.ifz.ru предоставляет API для автоматизированного доступа к расчетам по методам представленным в Интерактивном реестре.
API использует понятие категории методов. Следующие категории доступны через API:
Категория | Описание |
---|---|
ident | Система идентификации минералов |
recalc | Минералогические пересчеты |
interpmin | Интерпретация состава минерала и разложение на миналы |
classifydiag | Классификационные диаграммы |
spydergrams | Спайдерграммы |
sensors | Оценка PT условий с помощью геосенсоров |
Для получения информации о методах в каждой из категорий необходимо выполнить следующий запрос:
curl https://pin.ifz.ru/ppy/api/list/[категория методов]
В ответ будет отправлен json со списком доступных методов, их кратким описанием и ссылкой на страницу соответствующего метода.
Для выполнения расчетов через API необходим appid
который может быть получен по запросу на f0ma@ifz.ru.
Для вызова метода через API необходимо выполнить запрос:
curl https://pin.ifz.ru/ppy/api/call/[категория методов]/[имя метода] -d '{"appid":"[ключ]", "type":"[тип ответа]", "dataframe":[список значений]}'
Имя метода может быть получено из ответа на запрос api/call/list/[категория методов]
.
Тип ответа может быть data
или image
для методов, которые поддерживают построение изображений (например, спайдерграммы).
В поле dataframe
должен быть список словарей. Каждый словарь содержит пары ключ-значение в соответствии с правилами именования, например:
[{"Name": "Точка 1", "SiO2_wtp": 50.0, "TiO2_wtp": 0.9, "Al2O3_wtp": 18.5, "Fe2O3_wtp": 4.2, "FeO_wtp": 5.00, "MnO_wtp": 0.2, "CaO_wtp": 6.84, "MgO_wtp": 5.7, "K2O_wtp": 0.95, "Na2O_wtp": 2.88, "P2O5_wtp": 0.26}]
При использовании методов категории sensors
следует указывать отдельные списки значений для каждого из минералов:
{'Grt':[список значений], 'Bt':[список значений]}