В приведенных ниже примерах описывается несколько распространенных запросов, включая аутентификацию, создание устройств и задач, получение списка платформ и получение информации об устройстве с помощью Postman (см. также, как использовать Postman для нагрузочного тестирования).

Чтобы начать с API Dotcom-Monitor, в заголовке HTTP/HTTPS должно быть установлено значение Content-Type (Тип содержимого)
— application/json
.

Дополнительные сведения о методе API см. в соответствующей статье из категории Методы.

Входа

Для проверки подлинности используйте POST URI “/login“. При входе в систему с помощью вызова “/login” начинается новый сеанс клиента. Срок действия сеансов автоматически истекает после предопределенной продолжительности бездействия. Значение по умолчанию составляет одну минуту. При вызове API таймер бездействия сбрасывается до нуля.

По истечении сеанса возвращается код ошибки HTTP исключения “401 – Unauthorized”. Если это произойдет, вы должны войти в систему снова.

Рекомендуется использовать UID интеграции для входа в систему ( > > UID интеграции учетной записи).

POST /config_api_v1/login HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

{ 
"UID":"0E206D45650A4ACD8EB689B8CC25FA7F"
}

Получить платформы

Чтобы получить список платформ мониторинга, используйте GET URI “
/platforms
. Если запрос выполнен успешно, сервер отвечает кодом состояния HTTP и списком всех доступных платформ. Рекомендуется сохранить ответ, чтобы использовать данные вашей учетной записи (идентификатор пакета, идентификатор платформы, идентификатор устройства и т. Д.) В последующих запросах.

GET /config_api_v1/platforms HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

Создание устройства

Используйте данные, полученные в ответе “ПЛАТФОРМЫ GET”, для создания запроса JSON. Параметры устройства, не указанные в запросе, будут установлены по умолчанию.

POST /config_api_v1/devices?verb=PUT HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

{ 
"Postpone":"true",
"Frequency":60,
"Package_Id":465,
"Platform_Id":12,
"Locations":{2,4,6,18,68},
"Name":"TESTDEVICE 9.23.2019"
}

Создание задачи

Post /config_api_v1/tasks?verb=PUT HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

{
"Name":"testname",
"Url":"https://dotcom-monitor.com",
"Device_Id":123456,
"RequestType":"GET",
"Task_Type_Id":2,
"DNSResolveMode":"Device Cached"
}

Получение и редактирование информации об устройстве

Чтобы изменить сведения об устройстве, сначала отправьте запрос GET с идентификатором устройства в URI, чтобы получить ответ сервера.

GET /config_api_v1//device/193403 HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

Затем используйте тело ответа для изменения параметров устройства и отправки обратно запроса JSON с новыми значениями.

POST /config_api_v1//device/193403 HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

{
    "Avoid_Simultaneous_Checks": false,
    "Alert_Silence_Min": 0,
    "False_Positive_Check": false,
    "Locations": [
        1,
        2,
        3,
        4,
        6,
        11,
        13,
        14,
        15,
        18,
        19,
        23,
        43,
        68,
        97,
        113,
        118,
        138,
        153,
        233
    ],
    "Send_Uptime_Alert": false,
    "Status_Description": "POSTPONED",
    "Postpone": true,
    "Owner_Device_Id": 0,
    "Frequency": 10800,
    "Filter_Id": 7791,
    "Scheduler_Id": 0,
    "Notifications": {
        "E_Mail_Flag": false,
        "E_Mail_Address": null,
        "E_Mail_TimeInterval_Min": 5,
        "WL_Device_Flag": false,
        "WL_Device_Email_Address": null,
        "WL_Device_TimeInterval_Min": 15,
        "Pager_Flag": false,
        "Pager_Area_Code": null,
        "Pager_Phone": null,
        "Pager_Num_Code": null,
        "Pager_TimeInterval_Min": 15,
        "Phone_Flag": false,
        "Phone_Area_Code": null,
        "Phone_Phone": null,
        "Phone_TimeInterval_Min": 15,
        "SMS_Flag": false,
        "SMS_Phone": null,
        "SMS_TimeInterval_Min": 15,
        "Script_Flag": false,
        "Script_Batch_File_Name": null,
        "Script_TimeInterval_Min": 0,
        "SNMP_TimeInterval_Min": 0,
        "Notification_Groups": []
    },
    "Id": 193403,
    "Number_Of_Tasks": 1,
    "WaitingForApproval": false,
    "Platform_Id": 12,
    "Package_Id": 465,
    "Name": "Under_Task"
}

Дополнительная информация о том, как создавать устройства с помощью API Dotcom-Monitor, доступна на нашей Вики.

  • Тестирование API с объяснением Postman

    Что такое API?

    API расшифровывается как Application Programming Interface — интерфейс, который позволяет приложениям взаимодействовать. API позволяет разработчикам программного обеспечения отправлять информацию непосредственно из одного приложения в другое, минуя пользовательский интерфейс.

    Для тестирования и разработки API широко используются специальные инструменты, позволяющие отправлять входные данные в запрос и проверять правильность выходных данных. Postman является одним из таких инструментов.

    Зачем использовать Postman?

    Postman – это инструмент тестирования и разработки API, который предназначен для отправки запросов со стороны клиента на веб-сервер и получения ответа от бэкэнда. Информация, полученная с ответом, определяется данными, отправленными вместе с запросом. Таким образом, Postman используется в качестве API-клиента для проверки клиент-серверных запросов, чтобы убедиться, что все работает на стороне сервера, как ожидается. Postman поддерживает запросы к веб-службам Restful, SOAP и GraphQL.

    Графический интерфейс делает Postman простым в использовании инструментом в процессе тестирования и разработки API.

    Вы можете скачать Postman с https://www.postman.com/downloads/.

    Для тестирования restful веб-служб Postman использует HTTP-запросы для отправки информации в API. HTTP-запрос — это HTTP-сообщение, которое клиент отправляет на HTTP-сервер. Как правило, HTTP-запрос содержит начальную строку, набор HTTP-заголовков и текст.

    Начальная строка HTTP-запроса содержит метод HTTP, URI целевого ресурса и версию протокола HTTP и имеет следующую структуру:

    Метод HTTP/ Целевой URI / Версия HTTP

    Методы HTTP определяют действие, которое необходимо выполнить с ресурсом. Значение HTTP-методов описывается спецификацией протокола. Спецификация протокола HTTP не ограничивает количество различных методов, которые могут быть использованы. Однако для поддержки совместимости с широким спектром приложений используются только некоторые из наиболее стандартных методов.

    Ниже перечислены некоторые методы HTTP, которые можно использовать в вызовах API.

    • GET – для получения (чтения) данных (например, списка пользователей).
    • POST – для создания новых данных.
    • PUT / PATCH – для обновления данных.
    • DELETE – для удаления данных.
    • OPTIONS – чтобы получить полное описание методов API, доступных на сервисе.

    Заголовок содержит метаданные, позволяющие клиенту передавать уточняющую и служебную информацию о HTTP-запросе, такую как сведения о кодировке, параметры авторизации и т. д.

    Информация, которую вы хотите передать по сети, передается в теле. Тело является необязательным и может быть оставлено пустым (в зависимости от методов HTTP и заголовков).

    HTTP-ответ — это данные, которые возвращаются с сервера API. Помимо данных в теле, заголовок ответа содержит HTTP-код состояния ответа сервера. Например, в заголовке ответа можно получить следующие коды состояния:

    • 200 – Успех;
    • 400 – Плохой запрос;
    • 401 – Несанкционированно.

    Работа с запросами в Postman

    Используя графический интерфейс Postman, веб-разработчикам не нужно писать свой собственный код для тестирования функций API.

    Работа с запросами в Postman включает в себя следующую последовательность шагов:

    • Добавление нового HTTP-запроса с помощью интерфейса Postman.
    • Настройка запроса (указание метода HTTP, заголовка, тела, параметров аутентификации).
    • Выполнение запроса.
    • Сохранение запроса (например, в папку или коллекцию).

    Тесты в Почталье

    Для обработки ответа с сервера можно создать различные тесты в Postman. Тест в Postman представляет собой код JavaScript, который выполняется автоматически после того, как клиент получил ответ на запрос. Другими словами, тесты Postman применяются к результату выполненного запроса.

    Postman предлагает множество готовых к использованию фрагментов кода, которые можно добавить в тест. Здесь можно найти фрагменты для проверки кодов и содержимого ответов, разбора и сохранения значений переменных среды или глобальных переменных, проверки их соответствия заданным значениям и т.д. Например, можно убедиться, что код состояния ответа на запрос GET равно 200. Тесты могут быть применены не только к одному запросу, но и перемещены на уровень коллекции.

    Почтовые коллекции

    Для автоматического выполнения нескольких запросов по одному в Postman используется коллекция запросов. Коллекции, заполненные запросами и тестами, можно запускать с помощью Collection Runner и использовать их в качестве автоматических тестов API. Для запуска коллекции можно выбрать среду, количество итераций в запуске и задержку между запросами. Кроме того, Postman поддерживает регистрацию запросов и хранение переменных и файлов cookie.

    После создания коллекции запросов ее можно экспортировать в файл для использования в стороннем приложении. Например, Dotcom-Monitor поддерживает импорт Postman Collection для использования в настройках мониторинга и нагрузочного тестирования.

    Обратите внимание, что в случае, если необходимо вызвать API, требующий проверки подлинности, коллекция запросов к этому API должна включать запрос POST к соответствующей службе проверки подлинности для авторизации клиента на сервере.

    В дополнение к описанным функциям Postman можно параметризовать запросы, добавить точку останова в вызовы API и создать различные среды для запросов. Чтобы узнать больше о работе с Postman, посетите веб-сайт Postman Learning Center https://learning.postman.com/.

    Как API Postman от Dotcom-Monitor может помочь вам

    Используя нашу функциональность API, разработчики программного обеспечения могут взаимодействовать со своими данными мониторинга и нагрузочного тестирования Dotcom-Monitor и использовать результаты тестов Dotcom-Monitor в стороннем приложении. Интеграция Dotcom-Monitor с другими приложениями настраивается через REST API, интерфейс, который позволяет разработчикам программного обеспечения создавать, читать и обновлять данные в нашей системе.

    Чтобы настроить интеграцию с сервисами Dotcom-Monitor, необходимо использовать rest client для создания запросов к нашему API. В этом случае рекомендуется использовать Postman в качестве rest-клиента для тестирования HTTP-вызовов к API Dotcom-Monitor простым и быстрым способом. В целом, базовые настройки производятся с помощью графического интерфейса, не требуя глубоких знаний языков программирования или опыта разработки программного обеспечения.

    После тестирования интеграции вы можете реализовать результаты в пользовательском клиенте Rest, использовать cURL или продолжить с помощью Postman.