Skip to content

Referência da API do Painel

URL Base: https://painel.mangati.com

Todos os endpoints estão sob /api. Requer um Token de Acesso gerado em Admin → Tokens de Acesso.

Authorization: Bearer <token_de_acesso>

Painéis

Obter Painel

http
GET /api/panels/{id}
Authorization: Bearer <token_de_acesso>

Retorna a configuração completa do painel, incluindo widgets, layout e fontes de dados.

Exemplo:

bash
curl https://painel.mangati.com/api/panels/018e4f2b-7b3c-7000-8d2e-111111111111 \
  -H "Authorization: Bearer TOKEN" \
  -H "Accept: application/json"

Resposta:

json
{
  "id": "018e4f2b-7b3c-7000-8d2e-111111111111",
  "name": "Recepção - Tela Principal",
  "widgets": [
    {
      "type": "queue",
      "position": { "x": 0, "y": 0, "width": 8, "height": 6 },
      "config": { "app": "018e4f2c-..." }
    },
    {
      "type": "clock",
      "position": { "x": 8, "y": 0, "width": 4, "height": 2 }
    }
  ]
}

Cache: Público, 30 segundos.


Dispositivos

Obter Dispositivo

http
GET /api/devices/{id}
Authorization: Bearer <token_de_acesso>

Retorna informações do dispositivo e o painel atribuído.

Resposta:

json
{
  "id": "018e4f2d-...",
  "name": "TV Recepção",
  "panel": { "id": "018e4f2b-..." },
  "os": "Android 13",
  "browser": "Chrome 120"
}

Obter Dispositivo por Código

http
GET /api/device-codes/{codigo}
Authorization: Bearer <token_de_acesso>

Resolve um código de registro de dispositivo (exibido na tela) para um registro de dispositivo. Usado durante o cadastro.

Exemplo:

bash
curl https://painel.mangati.com/api/device-codes/ABC123 \
  -H "Authorization: Bearer TOKEN"

Permissão de Dispositivo

http
GET /api/device-permissions/{id}
Authorization: Bearer <token_de_acesso>

Retorna o registro de permissão que vincula um dispositivo à organização/painel.


Apps (Fontes de Dados)

Obter App

http
GET /api/apps/{id}
Authorization: Bearer <token_de_acesso>

Retorna a configuração do app (ex.: detalhes de conexão com o NovoSGA, filtros de unidade/serviço).

Resposta:

json
{
  "id": "018e4f2c-...",
  "name": "NovoSGA - Unidade Central",
  "type": "novosga",
  "config": {
    "baseUrl": "https://novosga.mangati.com",
    "unidade": 1
  }
}

Playlists

Obter Playlist

http
GET /api/playlists/{id}
Authorization: Bearer <token_de_acesso>

Retorna uma playlist de mídia (conteúdo rotativo para widgets de exibição).

Resposta:

json
{
  "id": "018e4f2e-...",
  "name": "Institucional",
  "items": [
    { "type": "image", "url": "https://...", "duration": 10 },
    { "type": "video", "url": "https://...", "duration": 30 }
  ]
}

Feeds

Obter Feed

http
GET /api/feeds/{id}
Authorization: Bearer <token_de_acesso>

Retorna dados do feed (RSS ou fonte personalizada). As respostas são cacheadas.


Clima

Obter Previsão do Tempo

http
GET /api/weather-forecasts/{local}
Authorization: Bearer <token_de_acesso>

Retorna dados de clima para um local. Cacheado para evitar limitação de requisições nas APIs externas.

Resposta:

json
{
  "location": "São Paulo, BR",
  "temperature": 24,
  "condition": "partly_cloudy",
  "humidity": 65,
  "forecast": [
    { "day": "Seg", "high": 26, "low": 19, "condition": "sunny" },
    { "day": "Ter", "high": 23, "low": 18, "condition": "rain" }
  ]
}

YouTube ao Vivo

Obter Status de Live

http
GET /api/youtube-lives/{id}
Authorization: Bearer <token_de_acesso>

Retorna dados de embed da transmissão ao vivo.


Notificações de Painel

Listar Notificações

http
GET /api/notifications
Authorization: Bearer <token_de_acesso>

Retorna notificações push ativas para os painéis da organização.


Exemplo de Integração em PHP

php
// Buscar configuração do painel para um dispositivo de exibição
$response = $client->get('https://painel.mangati.com/api/panels/' . $panelId, [
    'headers' => [
        'Authorization' => 'Bearer ' . $accessToken,
        'Accept'        => 'application/json',
    ],
]);

$panel = json_decode($response->getBody(), true);

foreach ($panel['widgets'] as $widget) {
    // Renderizar cada widget com base em $widget['type']
}

Documentação do Mangati Cloud Suite