Эндпоинты событий
Все описанные ниже запросы доступны по ссылке 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
- exact
- type:
- exact
- Тип эндпоинта: WEB_SOCKET, WEB_HOOK
- exact
- id:
- order:
- creation_date (Сортировка списка эндпоинтов по дате создания)
- ASC: от самого раннего к самому позднему
- DESC: от самого позднего к самому раннему
- creation_date (Сортировка списка эндпоинтов по дате создания)
- pagination:
- offset
- Позволяет удалить последние n эндпоинтов из списка.
- Тип данных: Int.
- limit
- Позволяет получить последние n эндпоинтов из списка.
- Тип данных: Int.
- offset
Выходные параметры:
- totalCount
- Общее количество найденных эндпоинтов
- Тип данных: Int.
- collectionItems: EndpointOutput!:
- id
- Идентификатор эндпоинта
- Тип данных: ID.
- creationDate
- Дата создания эндпоинта
- Формат данных: Дата и время в формате ISO.
- lastModified
- Дата последнего изменения эндпоинта
- Формат данных: Дата и время в формате ISO.
- type
- Тип эндпоинта: WEB_SOCKET, WEB_HOOK
- meta
- Мета информация эндпоинта
- Тип данных: JSON
- workspaceId
- Идентификатор воркспейса
- Тип данных: ID.
- 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
}
}
}