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

Эндпоинты

Получить эндпоинты

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

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

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

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

order: [String]:

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
}
}
}