REST API

    Automatize inspeções termográficas direto do seu ERP

    API REST completa para criar clientes, equipamentos e laudos de inspeção de forma programática. Disponível nos planos Team e Enterprise.

    Incluso nos planos Team e Enterprise

    O que a API faz

    Espelha os mesmos recursos do app web — clientes, sites, setores, equipamentos, inspeções e pontos de medição — com um contrato JSON estável e versionado em `/api/v1`. Ideal para sincronizar cadastros de um CRM, automatizar a criação de laudos periódicos ou alimentar um dashboard interno com dados de termografia.

    CRUD completo

    GET/POST/PUT/DELETE para cada recurso principal do domínio.

    Resposta em JSON

    Payload previsível, com UUIDs, timestamps ISO-8601 e campos nullable explícitos.

    Paginação simples

    `?limit=` e `?offset=` em listagens; até 200 itens por página.

    Isolamento por tenant

    A chave já resolve o partner_id — você só enxerga os dados da sua organização.

    Autenticação

    Toda requisição exige um cabeçalho `X-API-Key`. As chaves começam com `trml_` e só são mostradas em texto claro no momento da criação — depois disso, apenas um preview fica visível. Se você perder a chave, revogue e crie outra.

    1. 1Acesse Configurações → API no app (visível para admins de organizações no plano Team ou superior).
    2. 2Clique em "Criar chave", dê um nome descritivo (ex.: "ERP de produção") e copie o valor retornado — ele só aparece uma vez.
    3. 3Envie em cada requisição: `X-API-Key: trml_...`

    Início rápido

    Liste os clientes da sua organização. Substitua `trml_sua_chave_aqui` pela chave criada no passo anterior.

    Exemplo com cURL
    curl -X GET "https://termal-api.thermalreports.com/api/v1/clients" \
      -H "X-API-Key: trml_sua_chave_aqui" \
      -H "Accept: application/json"

    Endpoints principais

    Agrupamos os recursos pela hierarquia do domínio (cliente → site → setor → equipamento → inspeção). A referência completa, com todos os campos e códigos de erro, fica no Swagger.

    Clientes

    /api/v1/clients
    GET/api/v1/clientsLista clientes da sua organização.
    POST/api/v1/clientsCria um cliente.
    PUT/api/v1/clients/{id}Atualiza cliente.
    DELETE/api/v1/clients/{id}Remove cliente.

    Sites e setores

    /api/v1/units, /api/v1/sectors
    GET/api/v1/unitsLista sites de um cliente.
    POST/api/v1/unitsCria site.
    GET/api/v1/sectorsLista setores de um site.
    POST/api/v1/sectorsCria setor.

    Equipamentos

    /api/v1/equipments
    GET/api/v1/equipmentsLista equipamentos de um setor.
    POST/api/v1/equipmentsCria equipamento (TAG, descrição, criticidade).
    DELETE/api/v1/equipments/{id}Remove equipamento.

    Inspeções

    /api/v1/inspections
    GET/api/v1/inspectionsLista inspeções (filtros por cliente/período).
    POST/api/v1/inspectionsCria uma nova inspeção.
    PUT/api/v1/inspections/{id}Atualiza metadados da inspeção.
    GET/api/v1/inspections/{id}/pointsLista pontos de medição.
    POST/api/v1/inspections/{id}/pointsAdiciona ponto (ΔT, imagem IR, recomendação).

    Organização e logs

    /api/v1/partner, /api/v1/stats
    GET/api/v1/partnerDados da sua organização.
    GET/api/v1/profilesLista usuários (engenheiros/inspetores).
    GET/api/v1/statsContadores do dashboard.
    GET/api/v1/access-logsHistórico de acesso à API.

    Limites e cotas

    A API é projetada para integrações diárias, não para ingestão em massa.

    • •10.000 requisições por mês, por chave, no plano Team.
    • •Enterprise: limite customizado — fale com o comercial.
    • •O contador mensal reseta no primeiro dia de cada mês (fuso UTC).
    • •Resposta `429 Too Many Requests` quando a cota é atingida; o cabeçalho `Retry-After` indica quando reabre.

    Códigos de erro comuns

    200Sucesso.
    201Criado — devolvido em POSTs bem-sucedidos.
    400Payload inválido (campo obrigatório ausente, tipo incorreto).
    401Chave ausente, inválida ou revogada.
    403Plano sem acesso à API (Starter/Professional).
    404Recurso inexistente ou fora do seu tenant.
    429Cota mensal atingida ou rate limit de curto prazo.
    500Falha interna — reporte via suporte se persistir.

    Perguntas frequentes

    Pronto para integrar?

    Assine o plano Team e gere sua primeira chave em Configurações → API.