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