> ## Documentation Index
> Fetch the complete documentation index at: https://docs.triglit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Boas Práticas

> Melhores práticas para usar o Triglit

Este guia reúne as melhores práticas para usar o Triglit de forma eficiente e segura.

## Segurança

<AccordionGroup>
  <Accordion title="Chaves de API">
    * Nunca commite chaves em repositórios Git
    * Use variáveis de ambiente
    * Use chave pública (pk\_) no frontend
    * Use chave secreta (sk\_) apenas no backend
    * Rotacione chaves regularmente
  </Accordion>

  <Accordion title="Validação de Dados">
    * Sempre valide dados de entrada
    * Use validação no frontend e backend
    * Sanitize dados antes de processar
  </Accordion>

  <Accordion title="Webhooks">
    * Sempre valide assinaturas de webhooks
    * Use HTTPS em produção
    * Implemente rate limiting no seu endpoint
  </Accordion>
</AccordionGroup>

## Performance

<AccordionGroup>
  <Accordion title="Rate Limiting">
    * Monitore rate limits
    * Implemente retry com backoff exponencial
    * Use cache quando apropriado
  </Accordion>

  <Accordion title="Paginação">
    * Use paginação para listagens grandes
    * Configure limites apropriados
    * Evite buscar todos os dados de uma vez
  </Accordion>

  <Accordion title="Workflows">
    * Mantenha workflows simples e focados
    * Evite workflows muito longos
    * Use custom nodes para operações pesadas
  </Accordion>
</AccordionGroup>

## Design de Workflows

<AccordionGroup>
  <Accordion title="Nomenclatura">
    * Use nomes descritivos
    * Documente propósito de cada workflow
    * Use convenções consistentes
  </Accordion>

  <Accordion title="Estrutura">
    * Mantenha workflows simples
    * Divida workflows complexos em menores
    * Use sub-workflows quando apropriado
  </Accordion>

  <Accordion title="Versionamento">
    * Crie novas versões para mudanças significativas
    * Mantenha versões antigas para rollback
    * Teste versões antes de publicar
  </Accordion>
</AccordionGroup>

## Tratamento de Erros

<AccordionGroup>
  <Accordion title="Validação">
    * Valide dados antes de enviar
    * Trate erros de validação adequadamente
    * Forneça mensagens de erro claras
  </Accordion>

  <Accordion title="Retry">
    * Implemente retry para erros transitórios
    * Use backoff exponencial
    * Não retry para erros 4xx (exceto 429)
  </Accordion>

  <Accordion title="Logging">
    * Logue todos os erros
    * Inclua contexto relevante
    * Monitore logs regularmente
  </Accordion>
</AccordionGroup>

## Integração

<AccordionGroup>
  <Accordion title="Cliente Reutilizável">
    * Crie um cliente reutilizável
    * Centralize lógica de autenticação
    * Implemente tratamento de erros consistente
  </Accordion>

  <Accordion title="Idempotência">
    * Use idempotency keys para operações críticas
    * Torne workflows idempotentes
    * Implemente idempotência em custom nodes
  </Accordion>

  <Accordion title="Monitoramento">
    * Monitore chamadas à API
    * Configure alertas para erros
    * Acompanhe métricas de uso
  </Accordion>
</AccordionGroup>

## Sub-Tenants e Multi-Tenancy

<AccordionGroup>
  <Accordion title="Chaves de API">
    * Use chaves de API corretas para identificar o tenant
    * O tenant é identificado automaticamente pela chave de API
    * Não é necessário enviar tenantId explicitamente
  </Accordion>

  <Accordion title="Sub-Tenants">
    * Use sub-tenants para oferecer multi-tenancy aos seus clientes
    * Cada cliente final pode ser um sub-tenant
    * Mantenha hierarquia lógica e documente o propósito de cada sub-tenant
  </Accordion>

  <Accordion title="Isolamento">
    * Dados são isolados automaticamente por tenant e sub-tenant
    * Monitore logs e métricas para garantir isolamento correto
    * Use sub-tenants quando precisar segmentar por cliente final ou departamento
  </Accordion>
</AccordionGroup>

## Checklist

Antes de ir para produção:

* [ ] Chaves de API em variáveis de ambiente
* [ ] Tratamento de erros implementado
* [ ] Retry com backoff implementado
* [ ] Validação de dados implementada
* [ ] Webhooks validando assinaturas
* [ ] Logging configurado
* [ ] Monitoramento configurado
* [ ] Testes implementados
* [ ] Documentação atualizada

<Tip>
  Revise este guia regularmente e atualize suas práticas conforme necessário.
</Tip>
