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

Эндпоинты событий

ВНИМАНИЕ!

Все описанные ниже запросы доступны по ссылке http://$DOMAIN/event-service/graphql.

Создать эндпоинт типа «веб-сокет»

Запрос createWebSocketEndpoint() позволяет создавать эндпоинт типа «веб-сокет», на который направляются события.

Входные параметры:

  • name!
    • Имя эндпоинта
    • Тип данных: String

Выходные параметры:

  • id
    • Идентификатор эндпоинта
    • Тип данных: ID.
  • creationDate
    • Дата создания эндпоинта
    • Формат данных: Дата и время в формате ISO.
  • lastModified
    • Дата последнего изменения эндпоинта
    • Формат данных: Дата и время в формате ISO.
  • type
    • Тип эндпоинта: WEB_SOCKET
  • meta
    • Мета информация эндпоинта
    • Тип данных: JSON
  • workspaceId
    • Идентификатор воркспейса
    • Тип данных: ID.

Пример запроса:

mutation {
createWebSocketEndpoint(name: "MyEndpoint") {
creationDate
id
lastModified
meta
name
type
workspaceId
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"createWebSocketEndpoint": {
"creationDate": "2024-05-22T08:55:23.460103+00:00",
"id": "52c6548d-3e17-4b9b-9268-ce51d6900530",
"lastModified": "2024-05-22T08:55:23.460103+00:00",
"meta": {},
"name": "MyEndpoint",
"type": "WEB_SOCKET",
"workspaceId": "c641ff9c-67df-4c03-8fa6-ee2eabffdc16"
}
}
}

Создать эндпоинт типа «вебхук»

Запрос createWebhookEndpoint() позволяет создавать эндпоинт типа «вебхук», на который направляются события.

Входные параметры:

  • name!:
    • Имя эндпоинта
    • Тип данных: String
  • url!:
    • Ссылка на вебхук-сервер
    • Тип данных: String
  • method:
    • http метод запроса, с использованием которого будет происходить отправка событий

Выходные параметры:

  • id
    • Идентификатор эндпоинта
    • Тип данных: ID.
  • creationDate
    • Дата создания эндпоинта
    • Формат данных: Дата и время в формате ISO.
  • lastModified
    • Дата последнего изменения эндпоинта
    • Формат данных: Дата и время в формате ISO.
  • type
    • Тип эндпоинта: WEB_HOOK
  • meta
    • Мета информация эндпоинта (например, url и метод)
    • Тип данных: JSON
  • workspaceId
    • Идентификатор воркспейса
    • Тип данных: ID.

Пример запроса:

mutation {
createWebhookEndpoint(
name: "My Endpoint"
url: "https://web-hook.server.com"
method: "POST"
) {
creationDate
id
lastModified
meta
name
type
workspaceId
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"createWebhookEndpoint": {
"creationDate": "2024-05-22T09:00:03.005626+00:00",
"id": "357fe643-2396-4919-bd9e-a30f0ac28818",
"lastModified": "2024-05-22T09:00:03.005626+00:00",
"meta": {
"url": "https://web-hook.server.com",
"method": "POST"
},
"name": "My Endpoint",
"type": "WEB_HOOK",
"workspaceId": "c641ff9c-67df-4c03-8fa6-ee2eabffdc16"
}
}
}

Получить список эндпоинтов

Запрос endpoints() позволяет получить список эндпоинтов, на которые направляются события.

Входные параметры:

  • filters:
    • id:
      • exact
        • Идентификатор эндпоинта
        • Тип данных: ID
    • type:
      • exact
        • Тип эндпоинта: WEB_SOCKET, WEB_HOOK
  • order:
    • creation_date (Сортировка списка эндпоинтов по дате создания)
      • ASC: от самого раннего к самому позднему
      • DESC: от самого позднего к самому раннему
  • pagination:
    • offset
      • Позволяет удалить последние n эндпоинтов из списка.
      • Тип данных: Int.
    • limit
      • Позволяет получить последние n эндпоинтов из списка.
      • Тип данных: Int.

Выходные параметры:

  • totalCount
    • Общее количество найденных эндпоинтов
    • Тип данных: Int.
  • collectionItems: EndpointOutput!:
    • id
      • Идентификатор эндпоинта
      • Тип данных: ID.
    • creationDate
      • Дата создания эндпоинта
      • Формат данных: Дата и время в формате ISO.
    • lastModified
      • Дата последнего изменения эндпоинта
      • Формат данных: Дата и время в формате ISO.
    • type
      • Тип эндпоинта: WEB_SOCKET, WEB_HOOK
    • meta
      • Мета информация эндпоинта
      • Тип данных: JSON
    • workspaceId
      • Идентификатор воркспейса
      • Тип данных: ID.

Пример запроса:

query {
endpoints(filters: {id: {exact: "8374c43d-7561-4a08-b3b7-afce7799e2a8"}}) {
collectionItems {
id
creationDate
lastModified
name
type
workspaceId
}
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"endpoints": {
"collectionItems": [
{
"id": "8374c43d-7561-4a08-b3b7-afce7799e2a8",
"creationDate": "2023-09-22T11:40:18.232274+00:00",
"lastModified": "2023-09-22T11:40:18.232274+00:00",
"name": "test",
"type": "WEB_SOCKET",
"workspaceId": "53989c34-9729-4081-ab02-9e064de2884c"
}
],
"totalCount": 1
}
}
}

Удалить эндпоинты

Мутация deleteEndpoint() позволяет удалить список эндпоинтов.

Входные параметры:

  • ids!
    • Список идентификаторов эндпоинтов
    • Тип данных: List[ID]

Выходные параметры:

  • ok!
    • Флаг об успешном завершении операции
    • Тип данных: Boolean

Пример запроса:

mutation {
deleteEndpoints(
ids: ["2eff291d-8c8c-4325-8953-5a70b31bc63e", "29bcfb3a-3a26-4544-9def-d5d44bbd3be4"]
) {
ok
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"deleteEndpoints": {
"ok": true
}
}
}

Мутация linkEndpointsToEventFilters() позволяет привязать список эндпоинтов к фильтрам событий.

Входные параметры:

  • endpointIds!
    • Список идентификаторов эндпоинтов
    • Тип данных: List[ID]
  • eventFiltersId!
    • Идентификатор фильтра событий
    • Тип данных: ID

Выходные параметры:

  • ok!
    • Флаг об успешном завершении операции
    • Тип данных: Boolean

Пример запроса:

mutation {
linkEndpointsToEventFilters(
endpointIds: ["2eff291d-8c8c-4325-8953-5a70b31bc63e", "29bcfb3a-3a26-4544-9def-d5d44bbd3be4"],
eventFiltersId: "36ce940c-d8c7-4770-8f76-2d03a3aa8275"
) {
ok
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"linkEndpointsToEventFilters": {
"ok": true
}
}
}

Мутация unlinkEndpointsToEventFilters() позволяет отвязывать список эндпоинтов от фильтров событий.

Выходные параметры:

  • endpointIds!
    • Список идентификаторов эндпоинтов
    • Тип данных: List[ID]
  • eventFiltersId!
    • Идентификатор фильтра событий
    • Тип данных: ID

Выходные параметры:

  • ok!
    • Флаг об успешном завершении операции
    • Тип данных: Boolean

Пример запроса:

mutation {
unlinkEndpointsToEventFilters(
endpointIds: ["2eff291d-8c8c-4325-8953-5a70b31bc63e", "29bcfb3a-3a26-4544-9def-d5d44bbd3be4"],
eventFiltersId: "36ce940c-d8c7-4770-8f76-2d03a3aa8275"
) {
ok
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"unlinkEndpointsToEventFilters": {
"ok": true
}
}
}