<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Работа с API Catalyst Center]]></title><description><![CDATA[<p dir="auto">Понимание вызовов API<br />
API (интерфейс прикладного программирования) — это способ взаимодействия одной программы с другой. Вызов API или запрос API — это сообщение, отправляемое на сервер с просьбой предоставить API услугу или информацию.<br />
В нашей лабораторной установке, поскольку мы взаимодействуем с Catalyst Center, вызовы API, которые мы выполняем через Postman (клиент), взаимодействуют с конечной точкой API, присутствующей в Catalyst Center, для получения некоторой информации или вызова некоторой услуги (конфигурации) в Catalyst Center.<br />
Intent API — это REST API<br />
северного направления<br />
, который раскрывает определенные возможности платформы Cisco Catalyst Center. RESTful Cisco Catalyst Center Intent API использует HTTPS-глаголы (GET, POST, PUT и DELETE) со структурами JSON для обнаружения и управления сетью.<br />
Понимание HTTPS-глаголов, используемых в лаборатории:<br />
POST<br />
— в этой лабораторной работе мы будем в основном использовать вызовы POST. POST используется для отправки данных на сервер CATALYST CENTER с целью выполнения любых изменений/обновлений конфигурации.<br />
GET —<br />
мы будем использовать их редко, однако это еще один важный глагол. GET используется для запроса информации из Catalyst Center.<br />
Вызовы API Catalyst Center<br />
Создание сайтов<br />
Первым шагом в настройке автоматизации и обеспечения качества является создание сетевой иерархии.<br />
URL</p>
<ul>
<li>https://{{CatalystCenter-ip}}/dna/intent/api/v1/site<br />
Заголовки<br />
– x-auth-token = {{CatalystCenter_token}}<br />
Пример тела запроса<br />
— это создаст область с названием «United States» в разделе Global.<br />
{<br />
«type»: «area»,<br />
"site": {<br />
"area": {<br />
"name": "United States",<br />
"parentName": "Global"<br />
}<br />
}<br />
}<br />
![Screenshot 2025-09-10 at 8.37.34 PM.png]<br />
Пример тела запроса<br />
— это создаст область с названием «Нью-Йорк» в разделе «Глобальный/Соединенные Штаты».<br />
{<br />
«type»: «area»,<br />
«site»: {<br />
"area": {<br />
"name": "New York",<br />
"parentName": "Глобальный/Соединенные Штаты"<br />
}<br />
}<br />
}<br />
![Screenshot 2025-09-10 at 8.39.34 PM.png]<br />
Создание зданий и этажей в разделах «Сайты»<br />
Здесь мы создадим здания и этажи под объектами.<br />
URL</li>
<li>https://{{CatalystCenter-ip}}/dna/intent/api/v1/site<br />
Заголовки<br />
— x-auth-token = {{CatalystCenter_token}}<br />
Пример тела запроса<br />
— это создаст здание с названием «Penn Plaza» в разделе «Глобальный/США»<br />
{<br />
"type": "building",<br />
"site": {<br />
"area": {<br />
"name": "New York",<br />
"parentName": "Global/United States"<br />
},<br />
«здание»: {<br />
«name»: «Penn Plaza»,<br />
"address": " 250 West 34th Street Manhattan, New York"<br />
}<br />
}<br />
}<br />
![Screenshot 2025-09-10 at 8.41.10 PM.png]<br />
Пример тела запроса<br />
— это создаст этаж с названием «Floor_2» в «Global/United States/New York/Penn Plaza»<br />
{<br />
«type»: «floor»,<br />
"site": {<br />
"area": {<br />
«name»: «New York»,<br />
«parentName»: «Global/United States»<br />
},<br />
«здание»: {<br />
«name»: «Penn Plaza»,<br />
«адрес»: «250 West 34th Street Manhattan, New York»<br />
},<br />
«этаж» : {<br />
«name»: «Floor_2»,<br />
"parentName": "Global/United States/New York/Penn Plaza",<br />
«rfModel»: «Кубы и офисы с перегородками»,<br />
«width»: 100,<br />
«length»: 100,<br />
«height»: 10<br />
}<br />
}<br />
}<br />
![Screenshot 2025-09-10 at 8.43.38 PM.png]<br />
Создание учетных данных CLI и SNMP для чтения/записи<br />
После создания сетевой иерархии нашей следующей задачей является создание учетных данных CLI и SNMP для чтения/записи, которые будут использоваться при обнаружении устройств. Примечание — все вызовы в этом разделе будут вызовами<br />
POST<br />
.<br />
URL —<br />
https://{{CatalystCenter-ip}}/dna/intent/api/v2/global-credential<br />
Заголовки —<br />
x-auth-token = {{CatalystCenter_token}}<br />
Пример тела запроса —<br />
это создаст учетные данные CLI с именем «admin-cli» и учетные данные SNMPv2 для чтения/записи.<br />
{<br />
"cliCredential": [<br />
{<br />
"description": "admin-cli",<br />
"username": "admin",<br />
"password": "password",<br />
"enablePassword": "password"<br />
}<br />
],<br />
«snmpV2cRead»: [<br />
{<br />
"description": "SNMP read community<br />
",<br />
"читающее сообщество": "public"<br />
}<br />
],<br />
«snmpV2cWrite»: [<br />
{<br />
«description»: «SNMP-сообщество записи<br />
»,<br />
"writeCommunity": "private"<br />
}<br />
]<br />
}<br />
![Screenshot 2025-09-10 at 8.46.52 PM.png]<br />
Обнаружение устройств<br />
В предыдущем задании мы определили глобальные учетные данные для устройств. Теперь мы будем использовать эти глобальные учетные данные для обнаружения устройств, присутствующих в сети. Мы будем следовать приведенным ниже шагам, чтобы обнаружить устройства в нашей сети.<br />
Получение идентификатора CLI<br />
Первым шагом будет получение идентификатора CLI глобально настроенных учетных данных CLI, которые мы определили в предыдущем разделе. Мы будем использовать его в процессе обнаружения.<br />
Шаг 1.<br />
Используйте следующий URL-адрес запроса: https://{{CatalystCenter-ip}}/dna/intent/api/v2/global-credential и добавьте токен в раздел<br />
«Headers»,<br />
как мы делали в предыдущих задачах.<br />
Шаг 2. Отправьте<br />
запрос. В разделе «Ответ» перейдите к «cliCredentiali» и скопируйте значение ключа «id». Сохраните его в блокноте, так как мы будем использовать это значение в нашем следующем вызове POST. Аналогичным образом скопируйте значение «id» для ключей «snmpV2cRead» и «snmpV2cWrite».<br />
Обнаружение устройства<br />
URL</li>
<li>https://{{CatalystCenter-ip}}/dna/intent/api/v1/discovery<br />
Заголовки<br />
– x-auth-token = {{CatalystCenter_token}}<br />
Пример тела запроса<br />
—<br />
добавьте идентификатор cli, который мы скопировали в предыдущем вызове API,<br />
и замените его в ключе «globalCredentialIdList».<br />
{<br />
"name": "discover-device-1",<br />
"discoveryType": "Range",<br />
"ipAddressList": "198.19.1.2-198.19.1.2",<br />
"protocolOrder": "ssh",<br />
"timeOut": 5,<br />
«retryCount»: 3,<br />
«globalCredentialIdList»: [<br />
«Добавьте здесь идентификатор CLI!», «Добавьте идентификатор snmp_read», «Добавьте идентификатор snmp_write»<br />
],<br />
«preferredMgmtIPMethod»: «UseLoopBack»<br />
}<br />
Шаг 4 —<br />
Нажмите<br />
«Отправить».<br />
В разделе ответов должен появиться ответ<br />
202 «Принято<br />
».</li>
</ul>
<ol start="3">
<li></li>
</ol>
<p dir="auto">Проверьте, были ли обнаружены устройства<br />
В этом разделе мы проверим, были ли обнаружены устройства. Для этого мы воспользуемся другим вызовом API, который будет вызовом GET.<br />
Шаг 1.<br />
Используйте следующий URL-адрес запроса: https://{{CatalystCenter-ip}}/dna/intent/api/v1/discovery/count и {{CatalystCenter-token}} в качестве токена.<br />
Шаг 2.<br />
Нажмите<br />
«Отправить».<br />
В разделе «Ответ» значение, соответствующее ключу «response», должно быть равно количеству заданий обнаружения, выполненных с помощью предыдущего вызова POST. Кроме того, для проверки в графическом интерфейсе перейдите в<br />
«Инструменты» &gt; «Обнаружение» &gt; «Просмотреть все обнаружения».<br />
![Screenshot 2025-09-10 at 8.51.28 PM.png]<br />
Назначение устройств сайту<br />
В последнем разделе мы обнаружили устройства, и они присутствуют в инвентаре как «Неназначенные устройства». Таким образом, нам необходимо назначить их сайтам, прежде чем мы сможем использовать возможности Catalyst Center по автоматизации и обеспечению качества.<br />
Получите идентификатор сайта/здания/этажа, к которому будет назначено устройство<br />
Первый шаг — получить идентификатор места, где мы собираемся назначить устройство.<br />
Шаг 1.<br />
Используйте следующий URL-адрес запроса: https://{{CatalystCenter-ip}}/dna/intent/api/v2/site<br />
и добавьте токен в раздел «Заголовки».<br />
Шаг 2 —<br />
В разделе «Ответ» скопируйте значение ключа «id» для конкретного имени иерархии объектов и сохраните его в блокноте, чтобы использовать позже.<br />
2.<br />
Получите device-id устройства, которое необходимо назначить<br />
Второй шаг — получить deviceID, то есть идентификатор устройства, которое мы пытаемся назначить сайту.<br />
Шаг 1.<br />
Используйте следующий URL-адрес запроса: https://{{CatalystCenter-ip}}/dna/intent/api/v1/network-device и добавьте токен в раздел «Headers» (Заголовки).<br />
Шаг 2.<br />
В разделе «Ответ» скопируйте значение ключа «id» для устройства, которое необходимо назначить сайту, и сохраните его для дальнейшего использования.<br />
3.<br />
Присвойте устройство этажу<br />
URL-адрес<br />
— https://{{CatalystCenter-ip}}/dna/intent/api/v1/networkDevices/assignToSite/apply<br />
Заголовки<br />
— x-auth-token = {{CatalystCenter_token}}<br />
Пример тела запроса<br />
— добавьте значения ID сайта и ID устройства, которые мы получили в предыдущих разделах, и добавьте их в тело запроса.<br />
{<br />
"deviceIds": [<br />
"string"<br />
],<br />
"siteId": "string"<br />
}<br />
Выполните вызов API, вы должны получить ответ<br />
202 Accepted<br />
в разделе ответа. Чтобы проверить в графическом интерфейсе Catalyst Center, перейдите в<br />
раздел Provision &gt; Inventory &gt; {site},<br />
чтобы увидеть, присутствует ли устройство.<br />
![Screenshot 2025-09-10 at 8.55.23 PM.png]<br />
Разверните шаблон DayN на устройстве<br />
Мы развернем шаблон DayN на обнаруженных устройствах с помощью API шаблонов.<br />
Найдите ID шаблона<br />
Шаг 1.<br />
Используйте следующий URL-адрес: https://{{CatalystCenter-ip}}/dna/intent/api/v2/template-programmer/project. Это будет запрос<br />
GET<br />
, используйте токен в качестве заголовка, как и для других запросов.<br />
Шаг 2.<br />
Вы должны получить ответ<br />
200 OK<br />
. В теле ответа проверьте название шаблона, скопируйте значение ключа «id» из словаря с названием шаблона — это идентификатор шаблона, который мы будем использовать для его развертывания.<br />
Развертывание шаблона на устройстве<br />
URL -<br />
https://{{CatalystCenter-ip}}/dna/intent/api/v1/template-programmer/template/deploy<br />
Заголовки<br />
— x-auth-token = {{CatalystCenter_token}}<br />
Пример тела запроса<br />
— добавьте идентификатор шаблона в тело запроса ниже и выполните вызов AP.<br />
{<br />
"forcePushTemplate": false,<br />
"targetInfo":[<br />
{<br />
"id": "198.19.1.2",<br />
"type": "MANAGED_DEVICE_IP"<br />
}<br />
],<br />
"templateId":"Добавьте здесь идентификатор шаблона!"<br />
}<br />
После выполнения мы получим ответ<br />
202 Accepted<br />
. В теле ответа скопируйте идентификатор развертывания: и сохраните его, так как он будет использоваться для проверки статуса развертывания шаблона.<br />
Проверка статуса развертывания шаблона<br />
Мы проверим, был ли шаблон развернут на устройстве.<br />
Шаг 1 —<br />
Это будет запрос<br />
GET<br />
. Используйте следующий URL-адрес.<br />
https://{{CatalystCenter-ip}}/dna/intent/api/v1/template-programmer/template/deploy/status/{Deployement-Id}<br />
Вместо Deployment-Id вставьте идентификатор развертывания, который вы сохранили из последнего вызова.<br />
Шаг 2.<br />
Вы должны получить сообщение<br />
202 Accepted<br />
. В теле ответа проверьте статус SUCCESS. Если он отсутствует, повторно отправьте запрос, чтобы проверить последний статус.<br />
Получение данных Assurance<br />
Здесь мы посмотрим, как использовать Assurance API для получения данных о состоянии нашей сети<br />
Используйте следующий URL-адрес — https://{{CatalystCenter-ip}}/dna/intent/api/v1/network-device/count, чтобы получить общее количество устройств из CatalystCenter, добавьте токен. Вы должны получить ответ 200 OK. В ответе мы увидим общее количество устройств<br />
Используйте следующий URL-адрес — https://{{CatalystCenter-ip}}/dna/intent/api/v1/network-health, чтобы получить данные о состоянии всех сетевых устройств.<br />
Используйте следующий URL-адрес — https://{{CatalystCenter-ip}}/dna/intent/api/v1/client-health, чтобы получить данные о состоянии клиентов в сети.<br />
Используйте следующий URL-адрес — https://{{CatalystCenter-ip}}/dna/intent/api/v1/issues, чтобы получить информацию о проблемах, влияющих на сеть.<br />
![Screenshot 2025-09-10 at 9.00.23 PM.png]</p>
<p dir="auto"><img src="/forum/uploads/files/cisco/03ad2a217236098a1e1bae2344f0d44635f76eb0.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/cc617bda7820c6d0d37ac056e6a8e2be5c05afb3.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/9ad197b0d690374e0016672343a2082aa77150c2.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/88b04a41412ed65132fdbd667c80c3fc8524c618.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/b9519c148ccf51d63915ad739730181dcb918bc8.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/087ee16ab39c5093d8c9ecfed4e080d052c72af7.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/5ac9f903a4d08e6ad6919364cdb43f48c4c08021.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/eea2d341a13cf5e95306e1308bd5d030966fd76a.png" alt="" class=" img-fluid img-markdown" /></p>
]]></description><link>https://sla247.ru/forum/topic/1642/работа-с-api-catalyst-center</link><generator>RSS for Node</generator><lastBuildDate>Fri, 15 May 2026 12:15:46 GMT</lastBuildDate><atom:link href="https://sla247.ru/forum/topic/1642.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 24 Feb 2026 20:50:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Работа с API Catalyst Center on Tue, 24 Feb 2026 20:50:14 GMT]]></title><description><![CDATA[<p dir="auto">Спасибо за эту информацию!</p>
]]></description><link>https://sla247.ru/forum/post/12252</link><guid isPermaLink="true">https://sla247.ru/forum/post/12252</guid><dc:creator><![CDATA[Martin L]]></dc:creator><pubDate>Tue, 24 Feb 2026 20:50:14 GMT</pubDate></item></channel></rss>