Pular para o conteúdo

Changelog

Mudanças que quebram uma versão já publicada são anunciadas antes de entrar. Mudanças aditivas — campo novo, endpoint novo, código de erro novo — podem chegar a qualquer momento, então faça parse defensivo: ignore campos que você não reconhece.

A versão v1 ainda não foi liberada para parceiros. O que segue é a forma da primeira entrega.

Ferramentas

  • Um servidor MCP oficial acompanha a v1: @salesbud/mcp no npm, uma tool por operação pública de leitura, para Claude Desktop, Claude Code e Cursor. Ele é cliente desta API e não acrescenta capacidade nenhuma. Veja Servidor MCP.

Recursos

  • Ligações são coleção própria em /v1/calls, com identificadores call_. Um registro capturado por integração de VoIP tem object: "call"; o resto é meeting. Ids não resolvem entre coleções.
  • As cinco rotas são espelhadas nas duas coleções: listar, obter, transcrição, respostas de template e avaliação geral.
  • A ligação não carrega bot_history: captura de VoIP não tem bot de gravação, então o campo é omitido em vez de voltar vazio, e um schema que valida ligação o recusa. enablement.meeting_type fica e costuma vir null — esse nulo é legítimo, diferente do bot.
  • Conversas de WhatsApp dos vendedores da empresa são uma coleção em /v1/whatsapp, com identificadores wa_ e mensagens wamsg_, atrás de whatsapp.read (metadado) e whatsapp.content.read (texto sanitizado, metadado de mídia, transcrição de áudio). last_message_at só anda com mensagem nova, então releia as mensagens para ver edições e apagamentos; mensagem apagada fica como lápide. Filtros de data comparam em segundos inteiros. Veja WhatsApp.

Erros

  • O envelope de erro é { type, title, detail, code, request_id }. Todo campo é snake_case; o status HTTP fica na status line e não se repete no corpo. Ramifique pelo code.
  • POST /oauth/token mantém o formato de erro do OAuth 2.0 exigido pela RFC 6749 §5.2.

Paginação e filtros

  • Os cursores são assinados e ordenados por id crescente; eles amarram os filtros da requisição que os gerou.
  • updated_after, updated_before e snapshot_at foram removidos. Sem carimbo dedicado de visibilidade não há sync incremental honesto; reconsulte por período. O updated_at continua nas respostas, como informativo.
  • Os filtros de data são meeting_after e meeting_before. Versões anteriores também aceitavam meeting_at_from e meeting_at_to; eles nunca chegaram a parceiro e foram removidos, em vez de nascerem descontinuados.

Acesso

  • A API é gateada pela feature API_ACCESS da empresa, verificada na emissão de token e na criação de credencial.
  • Emails e domínios de conta são normalizados para minúsculo em todos os campos, então um endereço pode ser usado como chave de junção independentemente de onde apareça.