Pular para o conteúdo principal

Receita: gerar QR Codes (etiquetas)

Objetivo

Montar a lista de etiquetas de QR Code de um site — equipamentos, áreas ou unidades — com GET /v1/etiquetas, paginar o resultado e transformar cada item em uma etiqueta imprimível.

Pré-requisitos

  • Token JWT válido (ver Autenticação).
  • Base URL produção: https://lighthousev2.lkp.app.br · sandbox: https://lighthouse.lkp.dev.br.
  • Familiaridade com o guia de Etiquetas (matriz de campos por tipo).

Passo 1 — Escolha o Tipo

Obrigatório. Define o que a etiqueta representa e o prefixo da URL do QR:

TipoEtiqueta de…Prefixo da URL
equipamentoEquipamentoE_
areaÁreaA_
unidadeUnidadeS_

Passo 2 — Primeira página (descobre o total)

totalCount só vem preenchido na primeira página (PageIndex=1). Use-o para saber quantas páginas puxar.

curl "https://lighthousev2.lkp.app.br/v1/etiquetas?Tipo=equipamento&UnidadeId=123&PageIndex=1&PageSize=500" \
-H "Authorization: Bearer SEU_TOKEN"

Resposta:

{
"items": [
{
"id": 45021,
"url": "https://qr.lkp.app.br/E_45021",
"nomeEquipamento": "Bomba de recalque 02",
"tagEquipamento": "BR-02",
"nomeArea": "Casa de bombas",
"nomeUnidade": "Edifício Sede",
"identificacaoAmbiente": "Subsolo 1",
"nomeGrupoArea": "Hidráulica"
}
],
"pageIndex": 1,
"pageSize": 500,
"totalCount": 1340
}

Passo 3 — Pagine o restante

PageSize máximo é 500 (acima → 400). Com totalCount=1340 e PageSize=500 são 3 páginas. Da página 2 em diante totalCount volta nulo — pare quando items vier vazio ou ao cobrir o total lido na página 1.

for page in 2 3; do
curl "https://lighthousev2.lkp.app.br/v1/etiquetas?Tipo=equipamento&UnidadeId=123&PageIndex=$page&PageSize=500" \
-H "Authorization: Bearer SEU_TOKEN"
done

Passo 4 — Gere a etiqueta

Para cada item, o campo url é exatamente o que o QR Code deve codificar. Gere o QR a partir dessa string e componha a etiqueta com os textos do item. Quais campos vêm preenchidos depende do Tipo — ver a matriz de campos por tipo.

Filtrando o conjunto

Todos opcionais (exceto Tipo) e combináveis. Os mais usados:

  • UnidadeId[], GrupoUnidadeId[], SubGrupoUnidadeId[] — recorte por unidade.
  • AreaId[] (id ou GID), GrupoAreaId[], SubGrupoAreaId[] — por área.
  • EquipamentoId[], GrupoEquipamentoId[] (id ou GID), TipoEquipamentoId, SistemaId, PlanoAtividadeId[] — por equipamento.
  • Search — busca textual.
observação

EmpresaId, UsuarioId e TipoUsuario são resolvidos pelo seu token — mandar na query não tem efeito.

Erros comuns

CódigoQuando
400Tipo ausente/inválido, ou PageSize > 500.
401Token ausente ou expirado.
403Sem acesso às unidades/áreas filtradas.

Resumo do fluxo

escolher Tipo → GET página 1 (lê totalCount) → paginar até cobrir o total
→ para cada item: url = conteúdo do QR + textos = etiqueta

Dicas para IA / integração

  • Tipo é a única entrada obrigatória; sem ela, 400.
  • Pagine sempre pelo totalCount da página 1 — as demais páginas não o repetem.
  • PageSize teto rígido de 500.
  • O url já vem pronto; não monte a string do QR à mão a partir do id.