Эндпоинты
Получить эндпоинты
Запрос 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 8601id
: ID эндпоинта из базы данныхis_active
:last_modified
: Точная дата последнего изменения эндпоинта в формате ISO 8601meta
: 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 8601creationDate: DateTime!
: Дата создания эндпойнта в формате ISO 8601defaultAlias: 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
}
}
}