expiresAt.
Integrando com IA? Comece pelo cadastro pelo agente.
Ele pergunta email, nome do app e forma de cobrança, prepara o ambiente e entrega
o link para você finalizar na Infi.
1. Pegue uma chave
201):
apiKeySecret— suask_test_. Vem uma única vez, não tem como reemitir.publishableKey— suapk_test_da Infi, para APIs de cliente que a exigem. A chave secreta continua no servidor.tenantSlug— oslugque entra na URL pública de cobrança (/pay/{slug}/…).claimUrl— abra pra assumir a conta. O prazo padrão é de 30 dias; vale a data deexpiresAt.productId— o produto seed. Ele não serve pra vender nem pra medir ainda: vem semkey, sem meter e com a versão 1 emdraft. O seu produto de verdade você cria em catálogo.
email e accountName são opcionais. O corpo também aceita ref ({"ref":"cli"})
pra marcar a origem. Com a atualização de email de claim, informar o endereço
enfileira um aviso com link e prazo, limitado a um por endereço a cada 24 horas.
Guarde e entregue a claimUrl mesmo assim: 201 não confirma entrega do email.
O endereço só vira contato; assumir a conta exige login.
O atalho: uma linha e você já tem o que vender
O curl acima te dá a chave e um produto que não serve pra vender. A CLI faz a corrente inteira:item + one_time com a versão publicada a R$ 29,90 — e “publicar” é o passo
que ninguém adivinha e que faz a diferença entre um produto cobrável e um 422.
Dá pra faturar nele imediatamente, sem mais nenhuma chamada:
infi.company.ts + .env.local, sincroniza e roda doctor.
Se você fizer à mão, são cinco chamadas — criar produto, listar versões, publicar,
inscrever cliente, faturar — e todas estão em
catálogo. Vale ler de qualquer jeito pra saber
o que a CLI fez por você; só não precisa digitar.
Só a chave, sem escrever arquivo.
npx -y @beinfi/cli claim create --json. E desde a 0.2.0 a CLI deduz o host a
partir do prefixo da chave — em versões anteriores as duas falhavam sem
INFI_API_URL, então se você tiver uma presa em lockfile, atualize.2. Hosts
Nada disso precisa ir pro env do seu app — o SDK resolve host a partir do prefixo da chave. Escreva aqui pra quem usa curl, libera egress ou debuga DNS:curl: Idempotency-Key. Todo
POST/PUT/DELETE autenticado exige o header Idempotency-Key — sem ele
volta 400 idempotency_key_required. O SDK gera um por chamada. (O
/public/v1/claimables do passo 1 é exceção: é público e não pede.)3. Variáveis de ambiente
4. Instale o SDK
- npm
- pnpm
- bun
5. Medir uso
Medição precisa de um produto seu, com meter e versão publicada — três chamadas em catálogo. Com isso pronto, inscreva o seu usuário no produto e registre uso:Próximos passos
Catálogo
Produto → versão publicada → preço. É o que falta antes de cobrar.
Saber que pagou
Webhooks em produção, polling em sandbox.
Sua primeira venda
Do zero à fatura paga: qual caminho escolher e o que guardar.
Company as code
Catálogo declarado em git.