Перейти к основному содержимому
Версия: 1.18.1

Обзор

Все доступные операции с объектами OMNI Platform можно реализовать с помощью интеграционного API. Доступ к API обеспечивается через GraphQL - язык запросов и манипулирования данными API с открытым исходным кодом, а также среды выполнения существующих запросов данных. GraphQL позволяет отправлять запросы на OMNI Platform и получать ответные данные, которые можно интегрировать в ваше собственное приложение. Более подробно о GraphQL смотрите по ссылкам:

Для начала работы с API войдите в свой аккаунт на OMNI Platform. Для создания аккаунта перейдите на страницу регистрации.

На главной странице веб-интерфейса нажмите на кнопку Platform API в виджете Ресурсы для перехода в интерактивную консоль GraphQL.

Для использования интеграционного API в вашем приложении добавьте токен в заголовок HTTP-запроса и отправьте запрос на https://cloud.3divi.ai/api/v2/. Для получения токена выполните следующие шаги:

  1. Откройте интерактивную консоль GraphQL, кликнув на кнопку Platform API в виджете Ресурсы на главной странице веб-интерфейса.
  2. Скопируйте указанный ниже запрос в консоль и нажмите Выполнить запрос.
query{
me {
workspaces {
accesses {
id
}
}
}
}
  1. В результате GraphQL вернет ответ, который содержит токен (id):
{
"data": {
"me": {
"workspaces": [
{
"accesses ": [
{
"id": "3460***"
}
]
}
]
}
}
}

Пользователь, зарегистрированный под PLATFORM_DEFAULT_EMAIL, может получить токен доступа к API через следующую команду:

./cli.sh platform get-token - <platform_host> <user_email>

cURL-запросы

Помимо GraphQL запросы можно отправлять с помощью cURL. cURL-шаблон для отправки API запросов указан ниже:

curl --location --request POST "<url>" --header "token: <ваш токен доступа>" --header "Content-Type: application/json" --data-raw "{\"query\":\"<GraphQL query or mutation>\",\"variables\":{<GraphQL variables>}}"

<url> - URL вашего сервера

<ваш токен доступа> - без указания токена доступа ваши cURL-запросы не смогут быть отправлены.

Пример cURL-запроса: С помощью даного запроса можно получить список 5 первых профилей из базы.

curl --location --request POST "<IntegrationAPIUrl/>" --header "token: 3e357***" --header "Content-Type: application/json" --data-raw "{\"query\":\"query {profiles(limit: 5, offset: 0) {totalCount, collectionItems {id, info}}}\",\"variables\":{}}"

API возвращает следующий результат:

{
"data": {
"profiles": {
"totalCount": 5,
"collectionItems": [
{
"id": "195ed5fe-580e-476f-8496-befdb0003d85",
"info": {
"age": 46,
"gender": "MALE",
"avatar_id": "9945328f-ebd8-4683-bde5-25284686f439",
"main_sample_id": "83800c22-5ed3-4c9f-91bf-ce79c0de747a"
}
},
{
"id": "8d46bf22-5d24-4e4f-bfd3-e215cbde53f0",
"info": {
"age": 24,
"gender": "FEMALE",
"avatar_id": "1e7c8293-75e8-485a-8861-415eec854011",
"main_sample_id": "6cbd4c9a-7cd0-4c43-9561-387be9dff6f3"
}
},
{
"id": "944ab599-bd6d-47bf-b8e3-ed201a4e6530",
"info": {
"age": 31,
"gender": "MALE",
"avatar_id": "9f36bee0-efdf-42fc-a059-c60d5c7e6da9",
"main_sample_id": "db9998a4-4331-41b5-9abd-30499b881be8"
}
},
{
"id": "aa40fb31-96d3-421b-96ae-05566fc57bee",
"info": {
"age": 35,
"gender": "MALE",
"avatar_id": "ae61ec9f-2953-4f24-86d8-7718df6f9ff5",
"main_sample_id": "33a72136-175b-4361-8444-e1e0c4ce04d4"
}
},
{
"id": "c5e1b7d9-b446-4739-a3d0-a8cf8d717c70",
"info": {
"age": 21,
"gender": "MALE",
"avatar_id": "9938407f-d101-4005-8d30-4b1ce8319bc7",
"main_sample_id": "f2b3d23a-6f73-4d9b-97aa-13edaf5e82f7"
}
}
]
}
}
}