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

Эндпоинты

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

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

endpoints(filter: JSON = null
ids: [ID] = null
limit: Int = null
offset: Int = null
order: [String] = null
withArchived: WithArchived = null): EndpointCollection!

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

filter: JSON: Вы можете отфильтровать список эндпоинтов по одному или нескольким параметрам:

  • creation_date: Точная дата создания эндпоинта в формате ISO 8601
  • id: ID эндпоинта из базы данных
  • last_modified: Точная дата последнего изменения эндпоинта в формате ISO 8601
  • meta: JSON-файл с данными по нахождению эндпоинта
  • triggers: ID триггера, который запускает оповещения
  • type: Параметр включает следующие типы эндпоинтов (WI = веб-интерфейс, EM = Email, WH = веб-хук)

ids: [ID]: Для получения списка конкретных эндпоинтов укажите их ID в списке.

limit: Int: Параметр позволяет получить первые n профилей из списка.

offset: Int: Параметр позволяет удалить первые n профилей из списка.

order: [String]: Сортировка эндпоинтов по следующим параметрам:

  • creation_date: Сортировка эндпоинтов по дате создания в хронологическом порядке
  • last_modified: Сортировка эндпоинтов по дате последнего изменения в хронологическом порядке
  • id: Численная и алфавитная сортировка эндпоинтов по идентификаторам
  • meta: Сортировка эндпоинтов по метаданным
  • triggers: Численная и алфавитная сортировка эндпоинтов по идентификаторам триггеров
  • type: Cортировка эндпоинтов по типам (WI = веб-интерфейс , EM = Email , WH = вебхук)

withArchived: WithArchived: Для получения списка всех эндпоинтов, включая архивированные, укажите значение all. Для получения только архивированных эндпоинтов укажите значение archived.

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

EndpointCollection!: Результат запроса - список эндпоинтов со следующими параметрами:

  • totalCount: Число возвращенных эндпоинтов
  • profiles: [EndpointOutput!]!:
    • id: ID!: ID эндпоинта
    • type: EndpointType!: Тип эндпоинта может иметь следующие значения: Email, Webhook или WebInterface
    • meta: JSONString!: Мета-информация для нахождения эндпоинта
    • lastModified: DateTime!: Дата последнего изменения эндпоинта в формате ISO 8601
    • creationDate: DateTime!: Дата создания эндпоинта в формате ISO 8601
    • defaultAlias: DefaultAlias:
      • OWNER_EMAIL
      • WEB_INTERFACE
    • archived: Boolean!: Атрибут указывает на то, что эндпоинт заархивирован.

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

{
endpoints(ids: ["6fd67f81-a195-442b-a991-1a0eca6bbb69"]) {
totalCount
collectionItems {
archived
creationDate
id
defaultAlias
lastModified
meta
type
}
}
}

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

API возвращает следующий результат:
{
"data": {
"endpoints": {
"totalCount": 1,
"collectionItems": [
{
"archived": false,
"creationDate": "2022-07-07T07:21:06.421413+00:00",
"id": "6fd67f81-a195-442b-a991-1a0eca6bbb69",
"defaultAlias": "OWNER_EMAIL",
"lastModified": "2022-07-07T07:21:06.421425+00:00",
"meta": "{\"target_email\": \"aa@aa.ru\", \"default_alias\": \"owner_email\"}",
"type": "Email"
}
]
}
}
}

Создать эндпоинт типа email

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

createEmailEndpoint(endpointData: EmailEndpointInput!): EndpointManageOutput!

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

endpointData: EmailEndpointInput!: JSON с информацией по созданию эндпоинта:

  • targetEmail: String!: Email, куда будут отправляться оповещения.

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

EndpointManageOutput!: Результат мутации - JSON со следующими параметрами:

  • ok: Boolean!: Атрибут успешного завершения мутации
  • endpoint: EndpointOutput!: Объект нового эндпоинта

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

mutation {
createEmailEndpoint(endpointData: {targetEmail: "test@test.com"}) {
ok
endpoint {
id
archived
creationDate
defaultAlias
lastModified
meta
type
}
}
}

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

API возвращает следующий результат:
{
"data": {
"createEmailEndpoint": {
"ok": true,
"endpoint": {
"id": "2eff291d-8c8c-4325-8953-5a70b31bc63e",
"archived": false,
"creationDate": "2022-07-10T12:27:22.568988+00:00",
"defaultAlias": null,
"lastModified": "2022-07-10T12:27:22.569003+00:00",
"meta": "{\"target_email\": \"test@test.com\"}",
"type": "EMAIL"
}
}
}
}

Создать эндпоинт типа webhook

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

createWebhookEndpoint(endpointData: WebhookEndpointInput!): EndpointManageOutput!

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

endpointData: WebhookEndpointInput!: JSON с информацией для создания эндпоинта:

  • url: String!: URL, куда будут отправляться запросы
  • requestMethod: String!: Метод запроса

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

EndpointManageOutput!: Результат мутации - JSON-файл со следующими параметрами:

  • ok: Boolean!: Атрибут успешного завершения мутации
  • endpoint: EndpointOutput!: Объект нового эндпоинта

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

mutation {
createWebhookEndpoint(endpointData: {url: "https://endpoint_test.requestcatcher.com/test /", requestMethod: "POST"}) {
ok
endpoint {
archived
creationDate
defaultAlias
id
lastModified
meta
type
}
}
}

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

API возвращает следующий результат:
{
"data": {
"createWebhookEndpoint": {
"ok": true,
"endpoint": {
"archived": false,
"creationDate": "2022-07-10T12:42:34.957171+00:00",
"defaultAlias": null,
"id": "afd7c121-3140-4a8c-b0ee-3717581eb76d",
"lastModified": "2022-07-10T12:42:34.957188+00:00",
"meta": "{\"url\": \"https://endpoint_test.requestcatcher.com/test /\", \"method\": \"POST\"}",
"type": "WEBHOOK"
}
}
}
}

Обновить эндпоинт

Мутация updateEndpoint() позволяет обновить данные эндпоинта.

updateEndpoint(endpointId: ID!
endpointInfo: JSON): EndpointManageOutput!

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

endpointId: ID!: ID эндпоинта

endpointInfo: JSON: JSON-объект с параметрами для обновления. Эти параметры аналогичны параметрам из meta: JSON

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

EndpointManageOutput!: Результат мутации - JSON-файл со следующими параметрами:

  • ok: Boolean!: Атрибут успешного завершения мутации
  • endpoint: EndpointOutput!: Объект обновленного эндпоинта

Ошибки входных данных:

  • Эндпоинт не найден по переданному ID:
    {
    "message": "Endpoint matching query does not exist."
    }

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

mutation {
updateEndpoint(endpointId: "6fd67f81-a195-442b-a991-1a0eca6bbb69", endpointInfo: {target_email: "new-email@test.com"}) {
ok
endpoint {
id
meta
}
}
}

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

API возвращает следующий результат:
{
"data": {
"updateEndpoint": {
"ok": true,
"endpoint": {
"id": "6fd67f81-a195-442b-a991-1a0eca6bbb69",
"meta": "{\"target_email\": \"new-email@test.com\", \"default_alias\": \"owner_email\"}"
}
}
}
}

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

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

deleteEndpoint(endpointIds: [String!]!): MutationResult!

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

endpointIds: [String!]!: Список ID эндпоинтов

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

MutationResult!: Результат мутации - JSON-файл со следующими параметрами:

  • ok: Boolean!: Атрибут успешного завершения мутации

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

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

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

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