Hoje, no mercado da tecnologia, existem ferramentas para todo tipo de necessidade. Algumas parecidas, mas com características diferentes. E, muitas vezes, há grande dificuldade em integrar uma ferramenta à outra quando não há suporte para a mesma. O que fazer nessa situação? Desistir e ir atrás de outra ferramenta? Com certeza não é a decisão ideal.
Neste artigo, vamos falar de API, e usar a linguagem Python como exemplo de uso. Com ela, é possível resolver a maioria dos problemas de integração existentes no mercado hoje em dia. Mas, como?
API (Application Programming Interface)
A maioria das ferramentas possui uma Interface de Programação de Aplicação (API), onde é possível buscar, editar, criar ou excluir dados na ferramenta usando dois métodos conhecidos como POST e GET por meio dos protocolos HTTP e HTTPS.
Na maioria das vezes, para se conectar à API, é necessário ter usuário e senha, um token ou uma chave de acesso, ambas geradas ou criadas pela própria ferramenta.
Como o Python se encaixa nisso? Ao criar uma integração com Python, é possível usar a biblioteca requests para fazer uma requisição na API da ferramenta por meio do GET (ao buscar dados) ou POST (ao enviar informações para que a ferramenta tome alguma ação).
Veja um exemplo:
# importando biblioteca requests
import requests
# recuperando da plataforma PLOS artigos com título contendo string “DNA”
lista_de_artigos = requests.get(‘http://api.plos.org/search?q=title:DNA’)
# exibindo dados recuperados em formato texto
print(lista_de_artigos.text)
Dessa forma, com um simples script em Python, podemos buscar dados de uma ferramenta e enviá-los para outra usando POST. Algumas integrações já foram criadas dessa forma por nós, Edgers. Veja alguns casos:
- Integração do VMware Carbon Black com SMAX e Power BI;
- Integração do Nessus com Power BI;
- Integração do Zabbix com HP Service Manager e SMAX;
- Integração do Zabbix com Ansible Tower.
Ao integrar essas ferramentas, é possível gerar relatórios de alertas de segurança, executar alguma ação automaticamente, caso alguma trigger seja ativada, e muito mais.