====== API ======
Сервер 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'' должен быть список словарей. Каждый словарь содержит пары ключ-значение в соответствии с [[names|правилами именования]], например:
[{"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':[список значений]}