> For the complete documentation index, see [llms.txt](https://portal-integracao.intelbras.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://portal-integracao.intelbras.com.br/cameras-and-gravadores/integracao-api-cftvip-e-mibo/introducao-a-api-geral.md).

# Introdução a API geral

**Bem-vindo à documentação da API de Câmeras, Gravadores e da Plataforma Defense IA** [Intelbras](https://www.intelbras.com/pt-br/).

Esta documentação fornece informações e orientações sobre como integrar sistemas externos com os dispositivos de vídeo e segurança da Intelbras, de forma padronizada e eficiente.

Nossos equipamentos de vídeo e controle de acesso contam com interfaces HTTP baseadas em CGI (para câmeras IP e gravadores) e REST (para o Defense IA), permitindo comunicação direta via rede TCP/IP (Ethernet). Isso torna a integração simples, independente do sistema operacional ou linguagem de programação utilizada pelo desenvolvedor.

### Dispositivos compatíveis com API

* Câmeras IP Intelbras
  * Suporte à API HTTP/CGI: ✅ `/cgi-bin/snapshot.cgi`, `/cgi-bin/configManager.cgi`, etc.
* Gravadores NVR/DVR Intelbras
  * Suporte à API HTTP/CGI: ✅ `/cgi-bin/configManager.cgi`, `/cgi-bin/systeminfo.cgi`, etc.
* Plataforma Defense IA (VMS, Reconhecimento Facial, Controle de Acesso)
  * Suporte REST via JSON: ✅ REST `/api/*`

***

### Estrutura das APIs

#### Câmeras e Gravadores – API CGI

A comunicação segue o padrão URI (RFC 3986). Os comandos geralmente utilizam o seguinte formato:

{% code title="Exemplo de formato" %}

```http
http://<ip_do_dispositivo>/cgi-bin/<comando>.cgi?param1=valor1&param2=valor2
```

{% endcode %}

Exemplo real:

{% code title="Exemplo de requisição" %}

```http
http://192.168.1.108/cgi-bin/snapshot.cgi?channel=1
```

{% endcode %}

Componentes principais:

* protocolo: `http` (padrão). Pode haver exceções como `rtsp://` para streams.
* servidor: `ip_do_dispositivo:porta` (porta padrão: 80).
* abs\_path: geralmente localizado em `/cgi-bin/`.
* query: parâmetros no formato `nome=valor`.

***

### Formato de Respostas

As APIs utilizam os códigos de status HTTP padrão:

* `200 OK` — Requisição executada com sucesso
* `401 Unauthorized` — Falha de autenticação (usuário/senha ou token ausente/inválido)
* `404 Not Found` — Caminho ou recurso inexistente
* `415 Unsupported Media Type` — Content-Type inválido
* `500 Internal Server Error` — Erro interno no dispositivo

As respostas podem ser:

* Um objeto JSON
* Texto plano (`OK`, `ERROR`, etc.)
* Arquivos binários (ex.: imagem JPEG de snapshot)
* Multipart (em respostas com stream ou dados combinados)

***

### Autenticação

#### Dispositivos IP (câmeras e gravadores)

Suportam autenticação HTTP padrão:

* Basic Authentication (usuário:senha codificados em base64)
* Digest Authentication (desafio-resposta, conforme RFC 2617)

Exemplo com curl (Basic):

{% code title="curl" %}

```bash
curl -u admin:admin123 http://192.168.1.108/cgi-bin/snapshot.cgi?channel=1
```

{% endcode %}

Caso o cabeçalho `Authorization` esteja ausente ou inválido, o dispositivo responde com código `401 Unauthorized`.

***

### Exemplo de Integração

#### Captura de imagem via câmera IP

Requisição HTTP:

{% code title="GET snapshot" %}

```http
GET /cgi-bin/snapshot.cgi?channel=1
```

{% endcode %}

***

{% hint style="info" %}
Recomendação: sempre teste os endpoints em ambiente controlado e mantenha os dispositivos atualizados com a última versão de firmware disponível.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://portal-integracao.intelbras.com.br/cameras-and-gravadores/integracao-api-cftvip-e-mibo/introducao-a-api-geral.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
