@malvo/server. A classe MalvoClient gerencia o ciclo
de vida da apiKey (auth, cache, renovação proativa, retry seguro de chave inválida, backoff de 429) e expõe
um método por endpoint da API de dados (https://api.malvo.io) — você não precisa reescrever
helpers de fetch.
Instalação
fetch global). Zero dependências de runtime.
Início rápido
A cadeia de tokens
Gerando um connectToken
Gere umconnectToken novo a cada montagem do widget. Passe clientUserId para correlacionar os
webhooks ao seu usuário e webhookUrl para receber os eventos do Item. Informe itemId para
mintar um token de atualização.
Endpoint Express
Exponha a geração doconnectToken como um endpoint autenticado. O frontend o consome e passa o
accessToken ao SDK do widget.
Lendo dados
Quando o webhookitem/created / item/updated chega, leia os dados no servidor. As transações
usam cursor — fetchAllTransactions pagina tudo para você.
fetchTransactionsCursor(accountId, { after }) retorna
{ results, next } (cursor-based, o endpoint preferido). fetchTransactions(accountId, options)
é a alternativa paginada por número de página; streamTransactions(accountId) itera todo o
cursor sem acumular o conjunto em memória. Veja Paginação e o guia
Sincronizar transações.
Tratamento de erros
Todo método lançaMalvoApiError em respostas não-2xx. Ramifique pelo codeDescription estável,
nunca pela message legível.
401 ou 403 API_KEY_MISSING_OR_INVALID) é renovada e retentada
automaticamente uma vez; outros 403 não são repetidos. O 429 aplica backoff até
maxRetries vezes respeitando o Retry-After. Veja Rate limits e
Erros.
Webhooks
headers
customizados que você registra (ex.: um bearer secret) e/ou com allowlist do IP de egresso da
Malvo (exibido no Dashboard).
Próximos passos
Web (script tag)
Consuma o
connectToken deste endpoint no navegador.React / Next.js
O componente
<MalvoConnect> para apps React.Rate limits
Limites, cabeçalhos e estratégia de backoff.
Webhooks
A fonte da verdade para o ciclo de vida dos Items.