Central de ajuda

Erros do seu sistema, issues na Issuly.

A API de integração deixa qualquer sistema criar issues na Issuly com uma API key. O caso de uso clássico: nos pontos de falha da sua aplicação (try/catch), envie o erro para a Issuly e ele vira uma issue automaticamente — com idempotência para não duplicar.

Última atualização: 2026-07-21Documentação da API
01

Visão geral

A API recebe um POST por issue. As issues criadas por ela entram no seu workspace com origem sistema (diferente das criadas por pessoas), então dá para filtrar e triar separadamente no app. O recurso faz parte dos planos com a funcionalidade API — durante o período de degustação (trial) ela fica liberada para você testar.

02

Autenticação

Crie uma credencial em Empresas → sua empresa → Credenciais de API no app da Issuly. A chave (ttf_...) é exibida uma única vez — guarde-a num cofre de segredos. Envie-a em toda requisição no header:

Authorization: Bearer <sua chave>

A chave pertence à empresa (workspace) em que foi criada: as issues entram sempre nela. Chaves podem ser revogadas a qualquer momento na mesma tela.

03

Endpoint e exemplo

O endpoint exato do seu ambiente aparece na tela Credenciais de API (bloco "Como usar", com botão de copiar). Exemplo de captura de erro enviada de um try/catch:

try {
  await finalizarCheckout(pedido)
} catch (erro) {
  await fetch(ISSULY_ENDPOINT, {
    method: "POST",
    headers: {
      "Authorization": "Bearer " + ISSULY_API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      type: "bug",
      title: "Erro no checkout: " + erro.message.slice(0, 80),
      current_behavior: String(erro.stack ?? erro),
      expected_behavior: "Checkout conclui sem erro",
      steps_to_reproduce: "Capturado automaticamente pelo try/catch",
      priority: "high",
      external_id: "checkout-" + erro.name, // evita duplicar o mesmo erro
    }),
  })
}
04

Campos do payload

  • type"bug" ou "suggestion" (obrigatório; "feature" segue aceito como sinônimo legado);
  • title — 3 a 100 caracteres (obrigatório);
  • priority"low", "medium" ou "high" (obrigatório);
  • Para bug: current_behavior, expected_behavior e steps_to_reproduce são obrigatórios;
  • Para suggestion: description é obrigatório;
  • external_id — identificador do SEU sistema; repetir o mesmo valor não cria issue duplicada (idempotência por empresa);
  • image_urls — até 6 URLs de imagem; complemento_tecnico — texto livre (stack trace, contexto).
05

Respostas e erros

Sucesso devolve 200 com issue_id, public_id (ex.: ISS-123) e status. Demais códigos:

  • 400 — payload inválido (o corpo detalha os campos);
  • 401 — chave ausente, inválida ou revogada;
  • 403 — plano sem a funcionalidade API, ou limite de issues do plano atingido;
  • 409external_id já registrado (o corpo devolve a issue existente — trate como sucesso);
  • 500 — erro interno; tente novamente mais tarde.
06

Boas práticas

  • Use external_id estável por tipo de erro (ex.: hash da mensagem) para agrupar reocorrências em uma única issue;
  • Não inclua dados sensíveis (senhas, tokens, dados pessoais) no título ou nos campos técnicos;
  • Envie o erro de forma assíncrona (fila/fire-and-forget) para não afetar o fluxo do seu usuário;
  • Guarde a chave em variável de ambiente/cofre — nunca no código-fonte.

Dúvidas ou sugestões sobre a API? Fale com a gente em contato@issuly.com.

Suporte Issuly