Conversa, depois provisionamento
Useinfi_onboard no MCP ou rode no diretório do app:
status: "requires_input", missingFields e questions. Nenhuma conta é criada. Pergunte só o que falta e envie todas as respostas:
crm, one-time, usage-saas, prepaid-ai-chat. A resposta separa o resultado do setup (ready ou needs_attention) do cadastro (registration.status: "pending_claim"). ready indica que o diagnóstico passou; o teste dentro do app ainda precisa ser feito.
O comando preserva as outras variáveis de .env.local, guarda as credenciais em arquivos locais ignorados pelo git e retoma a mesma conta ao rodar no mesmo diretório. Configuração existente deve usar doctor / sync. Se uma resposta de provisionamento se perder, o estado fica incerto: não apague o marcador para forçar outra conta.
Sem shell ou MCP
apiKeySecret, publishableKey, tenantSlug, productId, claimUrl e expiresAt. O nome já fica na conta; o email é contato ainda não verificado. O produto inicial é um draft sem preço: siga o guia de catálogo para configurar o caso de uso. Não repita automaticamente esse POST se perder a resposta.
Credenciais e finalização
INFI_SECRET_KEY fica no servidor/secrets da plataforma. INFI_PUBLISHABLE_KEY pode ir ao browser quando a API cliente precisar; é a chave da Infi, não a do provedor de pagamento. O agente nunca precisa de senha ou código de verificação.
Depois de testar, entregue a claimUrl e o prazo retornado em expiresAt. A pessoa entra, revisa o nome e salva a conta. Produtos, chaves e slug continuam iguais. Produção é uma etapa posterior no painel.
Email para assumir a conta
Quando o provisionamento com email termina, a Infi coloca o aviso de claim na fila de envio. Ele contém o nome da conta, o link, o prazo e o botão Finalizar minha conta. As chaves ficam na resposta da API e nos secrets do app. O envio acontece em segundo plano, com novas tentativas em caso de falha. A criação da conta não espera o email. Há um limite de um aviso enfileirado por endereço a cada 24 horas; contas já assumidas ou expiradas são ignoradas antes do envio. Sem email no POST, o ambiente é criado sem aviso. O agente sempre entrega aclaimUrl na conversa e continua a integração. Não espere a mensagem chegar nem crie outra conta para tentar reenviá-la. Um 201 confirma o provisionamento, não a entrega do email. Receber o aviso não verifica identidade: a pessoa ainda precisa entrar na Infi para assumir a conta.
O prazo padrão é de 30 dias. Use o valor de expiresAt da resposta para informar a data exata, inclusive em ambientes com prazo diferente.
Exemplo de mensagem do agente:
Preparei sua conta Acme e salvei as chaves de teste no app. Seu cadastro ainda precisa ser finalizado na Infi: abra [claimUrl retornada] até [expiresAt retornado]. Você também poderá receber esse link por email. Vou continuar a integração no sandbox.Este fluxo requer a versão da API com
accountName/publishableKey, CLI 0.2.6+ e MCP 0.1.5+. O email requer a atualização de envio de claim no sandbox. Publique a documentação junto dessas versões; os comandos antigos de bootstrap continuam disponíveis.