sparkcrm em produção: erros, retentativas, timeouts e logs.
Erros HTTP
Respostas4xx e 5xx e falhas de rede lançam subclasses de SparkCRM.APIError:
O corpo de erro da API fica em
err.error e tem o formato { statusCode, code, message }. Use code na lógica do seu código e message para exibir ou registrar. Os códigos estão na Introdução à API e nas páginas de cada recurso.
Retentativas
Por padrão, o cliente repete a requisição até 2 vezes, com espera crescente entre as tentativas, quando recebe:- erro de conexão;
408,409ou429;5xx.
Timeouts
O padrão é 60 segundos por tentativa. Com retentativas, o tempo total pode ser maior.Resposta HTTP bruta
Os métodos retornamAPIPromise<T>. Para ler status e cabeçalhos sem ler o corpo:
Response juntos:
Logs
Defina o nível com a variávelSPARK_CRM_LOG ou com a opção logLevel: debug, info, warn, error ou off. O padrão é warn.
No nível debug, requisições e respostas aparecem no log, inclusive dados de contatos. Evite esse nível em produção.
Para usar seu próprio logger, como Pino ou Winston:
Fetch e proxy
Passe uma implementação própria emfetch ou opções extras em fetchOptions, como um dispatcher do Undici para usar proxy no Node. Há exemplos por runtime no README do repositório.
Parâmetros fora dos tipos
O SDK não valida os campos em tempo de execução. Para enviar um parâmetro que a API já aceita, mas que ainda não está nos tipos da sua versão:client.get, client.post, client.put, client.patch ou client.delete:

