10D API
Описание
API платформы позволяет интегрировать вашу систему с платформой 10D, автоматизировать процессы и получать данные в реальном времени. API используется в следующих сценариях:
- Обмен данными между вашей системой и нашей платформой.
- Автоматизация бизнес-процессов.
Для удобства работы с API доступна документация в двух форматах:
- Redoc – удобное структурированное представление документации, упрощающее навигацию и изучение возможностей API.
- Swagger – интерактивная документация, позволяющая тестировать запросы прямо в браузере. Также файлы Swagger можно импортировать в инструменты вроде Postman и Insomnia или использовать для генерации клиентских SDK на нужном языке.
Вы можете найти документацию по каждому модулю платформы страницах портала: Описание API и Swagger.
Авторизация запросов
Для доступа к API используется авторизация с помощью короткоживущих JWT токенов.
Что такое JWT?
JWT (JSON Web Token) — это безопасный способ передачи данных. В отличие от обычных строковых токенов, JWT содержит цифровую подпись, которая защищает данные от подделки и несанкционированного доступа. Это значит, что только авторизованные клиенты могут выполнять запросы к API, а сервер может легко проверить подлинность токена без необходимости хранить его в базе данных.
Подробнее о стандарте JWT можно узнать в официальной спецификации: RFC 7519.
Регистрация приложения на платформе
Для использования API необходимо запросить регистрацию вашего приложения на платформе у нашей поддержки по почте support@samolet10d.ru.
Получение авторизационного токена
Перед выполнением запроса к API, необходимо получить авторизационный токен. Пример запроса для получения токена указан далее, в запросе нужно указать tenant, client_id и client_secret, соответствующие вашему приложению.
curl --request POST \
--url https://auth.platform10d.ru/realms/{tenant}/protocol/openid-connect/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data grant_type=client_credentials \
--data client_id={client_id} \
--data client_secret={client_secret}
Токен будет отправлен в ответе следущего вида:
{
"access_token": "{access_token}",
"expires_in": 300,
"refresh_expires_in": 0,
"token_type": "Bearer",
"scope": "email profile"
}
Токен будет находиться в поле access_token, его нужно будет сохранить для использования в запросах к API. Стандартное время жизни токена - 5 минут. Затем его нужно будет получить повторно.
Использование API
В качестве примера использования API создадим Проект в Едином справочнике. Документация по методу создания проекта в API Единого справочника: Проекты.
Пример тела запроса с заполненными обязательными полями:
[
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Проект 1"
}
]
Пример отправки запроса на создание Проекта в Едином справочнике приведен далее. В запросе нужно указать access_token полученный на шаге Авторизация запросов.
curl --request POST \
--url https://api.platform10d.ru/{tenant}/api/v1/catalog/project/ \
--header 'Authorization: Bearer {tenant}' \
--header 'Content-Type: application/json' \
--data '[ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "Проект 1" }]'
Продолжение работы
Для ознакомления со всеми доступными методами. Воспользуйтесь разделами Описание API или Swagger в меню портала.