Skip to main content

Obtenha sua Chave de API

Para usar o Ponte, você precisará de uma chave de API. Siga estes passos:
1

Crie sua conta

Acesse ponte.ai e crie uma conta gratuita. Você receberá $5 em créditos para começar.
2

Acesse o Dashboard

Faça login e navegue até a seção API Keys no menu lateral.
3

Gere sua chave

Clique em “Criar Nova API Key”, dê um nome descritivo (ex: “Desenvolvimento Local”) e copie a chave gerada.
4

Configure no ambiente

Adicione sua chave ao arquivo .env do seu projeto:
.env
PONTE_API_KEY=ponte_live_abc123xyz...
Mantenha sua chave segura! Nunca compartilhe sua API key publicamente ou commit ela no git. Use variáveis de ambiente e adicione .env ao seu .gitignore.

Instalação

Instale o SDK do Ponte usando seu gerenciador de pacotes preferido:
npm install @ponte/sdk

Seu Primeiro Agente

Vamos criar seu primeiro agente AI em 3 minutos:
import { Ponte } from '@ponte/sdk';

// Inicializa o cliente
const ponte = new Ponte({
  apiKey: process.env.PONTE_API_KEY!
});

async function main() {
  try {
    // Executa uma pergunta simples
    const resultado = await ponte.execute({
      input: 'Explique o que é o Model Context Protocol em 2 frases.',
      model: 'claude-3-5-haiku-latest'
    });
    
    console.log('🤖 Texto gerado:', resultado.text);
    console.log('⚡ Latência:', resultado.latency, 'ms');
    console.log('📊 Tokens:', resultado.tokensUsed);
  } catch (error) {
    console.error('❌ Erro:', error);
  }
}

main();
Execute o código:
node index.js
# ou
bun run index.ts
Resultado esperado:
🤖 Texto gerado: O Model Context Protocol (MCP) é um padrão aberto que permite...
⚡ Latência: 423 ms
📊 Tokens: 127
Funcionou? Parabéns! Você acabou de executar seu primeiro agente AI com o Ponte. 🎉

Usando MCP Servers

A verdadeira mágica do Ponte está nos MCP Servers - ferramentas que dão superpoderes aos seus agentes:
import { Ponte } from '@ponte/sdk';

const ponte = new Ponte({
  apiKey: process.env.PONTE_API_KEY!
});

async function buscaWeb() {
  const resultado = await ponte.execute({
    input: 'Busque notícias sobre IA das últimas 24 horas e resuma os 3 principais destaques.',
    model: 'gpt-4o-mini',
    mcpServers: ['@modelcontextprotocol/server-brave-search']
  });
  
  console.log('📰 Notícias:', resultado.text);
  console.log('🛠️ Ferramentas usadas:', resultado.toolsUsed);
}

buscaWeb();
Descubra mais MCP Servers no Marketplace. Existem servidores para GitHub, Slack, Google Drive, bases de dados e muito mais!

Agentes com Memória

Para criar agentes inteligentes que mantêm contexto entre interações, você tem duas opções:
Use a classe Conversation para gerenciar histórico facilmente:
import { Ponte, Conversation } from '@ponte/sdk';

const ponte = new Ponte({
  apiKey: process.env.PONTE_API_KEY!
});

async function exemploMemoria() {
  // Cria agente com personalidade definida
  const conversation = new Conversation(
    'Você é um assistente técnico especializado em JavaScript e TypeScript.'
  );

  // Primeira interação
  conversation.addUserMessage('O que é uma Promise?');
  
  let resultado = await ponte.execute({
    conversation, // ✅ Passa o objeto direto
    model: 'claude-3-5-haiku-latest'
  });

  conversation.addAssistantMessage(resultado.text);
  console.log('🤖 Explicação 1:', resultado.text);

  // Segunda interação (com contexto da primeira)
  conversation.addUserMessage('E async/await?');
  
  resultado = await ponte.execute({
    conversation, // Contexto automático!
    model: 'claude-3-5-haiku-latest'
  });

  console.log('🤖 Explicação 2:', resultado.text);
  
  // Métodos úteis
  console.log('📊 Total mensagens:', conversation.length());
  console.log('💭 Tokens estimados:', conversation.estimateTokens());
}

exemploMemoria();
Por que usar Conversation?
  • ✅ Código mais limpo e legível
  • ✅ Previne erros comuns (ordem de mensagens, duplicação)
  • ✅ Métodos úteis (fork, estimateTokens, clear, etc)
  • ✅ Perfeito para iniciantes
Saiba mais: Veja o Guia de Memória para casos de uso avançados como fork, branching e RAG.

Modelos Disponíveis

Escolha o modelo ideal para seu caso de uso:
ModeloProviderVelocidadeCustoMelhor para
claude-3-5-haiku-latestAnthropic⚡⚡⚡$Respostas rápidas, análise simples
gpt-4o-miniOpenAI⚡⚡⚡$Uso geral, ótimo custo-benefício
claude-3-5-sonnet-latestAnthropic⚡⚡$$Tarefas complexas, raciocínio
gpt-4oOpenAI⚡⚡$$Multimodal, visão + texto
claude-opus-4Anthropic$$$Análises profundas, pesquisa
Dica de economia: Use Haiku ou GPT-4o-mini para 90% dos casos. Reserve modelos mais caros para tarefas que realmente precisam.

Tratamento de Erros

Sempre implemente tratamento de erros robusto:
import { Ponte, PonteError } from '@ponte/sdk';

const ponte = new Ponte({
  apiKey: process.env.PONTE_API_KEY!
});

async function exemploComErros() {
  try {
    const resultado = await ponte.execute({
      input: 'Sua pergunta aqui',
      model: 'claude-3-5-haiku-latest',
      mcpServers: ['@servidor/exemplo']
    });
    
    console.log('✅ Sucesso:', resultado.text);
    
  } catch (error) {
    if (error instanceof PonteError) {
      // Erro da API Ponte
      console.error('❌ Erro Ponte:', {
        mensagem: error.message,
        codigo: error.code,
        status: error.statusCode,
        detalhes: error.details
      });
      
      // Tratamento específico por código
      switch (error.code) {
        case 'INSUFFICIENT_CREDITS':
          console.log('💳 Adicione créditos em https://ponte.ai/billing');
          break;
        case 'RATE_LIMIT_EXCEEDED':
          console.log('⏳ Aguarde alguns segundos e tente novamente');
          break;
        case 'INVALID_API_KEY':
          console.log('🔑 Verifique sua API key');
          break;
        default:
          console.log('🔄 Tente novamente');
      }
    } else {
      // Erro genérico
      console.error('❌ Erro inesperado:', error);
    }
  }
}

exemploComErros();

Códigos de Erro Comuns

CódigoDescriçãoSolução
MISSING_API_KEYAPI key não fornecidaConfigure PONTE_API_KEY no ambiente
INVALID_API_KEYAPI key inválida ou expiradaGere nova chave no dashboard
INSUFFICIENT_CREDITSCréditos insuficientesAdicione créditos em ponte.ai/billing
RATE_LIMIT_EXCEEDEDMuitas requisiçõesAguarde ou faça upgrade do plano
SERVER_NOT_FOUNDMCP Server não existeVerifique o nome no marketplace
EXECUTION_TIMEOUTExecução excedeu tempo limiteUse modelo mais rápido ou simplifique prompt

Rate Limits

O Ponte possui limites de requisições por minuto baseados no seu plano:
PlanoRequisições/minMCP Tool Calls/mêsCusto
Free6050 grátis, depois $0.005/call$0/mês
Pro3001000 grátis, depois $0.0025/call$20/mês
EnterpriseCustomizadoCustomizadoContato
Se você exceder o rate limit, receberá um erro RATE_LIMIT_EXCEEDED. Aguarde alguns segundos e tente novamente, ou implemente retry com backoff exponencial.

Configuração Avançada

Customize o cliente Ponte para suas necessidades:
import { Ponte } from '@ponte/sdk';

const ponte = new Ponte({
  apiKey: process.env.PONTE_API_KEY!,
  
  // URL base (útil para ambiente de desenvolvimento)
  baseUrl: 'https://api.ponte.ai', // default
  
  // Timeout em milissegundos
  timeout: 60000, // default: 30000 (30s)
  
  // Retry automático em caso de erro
  retry: true, // default: true
  
  // Número máximo de tentativas
  maxRetries: 3 // default: 3
});

Próximos Passos

Agora que você tem o básico, explore mais recursos:

Precisa de Ajuda?

Acesse o Dashboard de Billing para ver seu uso em tempo real. Você também pode verificar tokensUsed em cada resposta da API.
Sim! O Ponte é production-ready com SLA de 99.9% para clientes Pro e Enterprise. Configure monitoring adequado e implemente retry logic.
Cada MCP server tem um custo por tool call. Plano Free: 0.005/call(apoˊs50graˊtis).PlanoPro:0.005/call (após 50 grátis). Plano Pro: 0.0025/call (após 1000 grátis). Veja detalhes em Pricing.
Sim! Você pode criar servidores customizados e hospedá-los no Ponte. Veja o Guia de Desenvolvimento de Servidores.
Sim! O SDK é compatível com Vercel Edge Functions, Cloudflare Workers e outros runtimes edge. Use fetch nativo e não há dependências do Node.js.
O limite depende do modelo escolhido. Claude Sonnet suporta até 200K tokens, GPT-4o até 128K. Use conversation.estimateTokens() para monitorar.

Ainda com dúvidas?

Junte-se à nossa comunidade no Discord para suporte da equipe e outros desenvolvedores