Перейти к основному содержимому

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 в меню портала.