Changelog da API
Endpoints, campos e ferramentas MCP novos na API pública do SunchatPlus
Histórico de mudanças da API pública do SunchatPlus. Aqui entram endpoints novos, campos novos em requisições e respostas, mudanças de comportamento e ferramentas MCP.
Esta página é para quem integra sistemas com o SunchatPlus. As novidades da plataforma, como telas e recursos que aparecem para quem usa o produto, ficam em Novidades.
Os caminhos abaixo são relativos à base da API pública e usam a versão v1. A
autenticação por chave de API continua a mesma — veja
Autenticação. A referência completa dos endpoints
está na aba API.
GET /v1/disponibilidade deixou de oferecer horários ocupados por eventos sincronizados de uma agenda externa. Isso vale mesmo quando o evento não virou um compromisso do SunchatPlus.
A assinatura e os parâmetros não mudaram. Eventos externos não cancelados que cruzam o período consultado passam a ocupar o horário na resposta.
Ferramenta MCP: consultar_horarios_disponiveis aplica a mesma regra.
Nova rota GET /v1/disponibilidade para consultar os horários livres de um ou mais usuários.
Ela cruza as regras de disponibilidade com reuniões, compromissos e bloqueios já gravados.
| Parâmetro | Obrigatório | Regra |
|---|---|---|
de | Sim | Primeiro dia do período, inclusive |
ate | Sim | Último dia do período, inclusive. O intervalo aceita até 92 dias |
usuarios | Não | Repita o parâmetro para consultar mais de um usuário. Omitido consulta todos com regra ativa |
duracaoEmMinutos | Não | Omitido usa a duração padrão de cada regra |
idRegra | Não | Limita a consulta a uma regra |
limite | Não | Teto por usuário. O padrão é 100 e o máximo é 500 |
Cada item da resposta traz idUsuario, nomeDoUsuario, horarios e observacao. Cada horário
informa inicio, fim, duracaoEmMinutos, idRegra, descricaoDaRegra, modalidade e
vagasRestantes.
Bloqueio e compromisso não cancelado ocupam o período. Compromisso cancelado não ocupa. Na
modalidade Grupo, vagasRestantes informa quantas marcações ainda cabem no mesmo horário.
Ferramenta MCP: consultar_horarios_disponiveis, com os mesmos filtros e regras.
POST /v1/reunioes e PUT /v1/reunioes/{id} passaram a sincronizar o vínculo informado em
tipoEntidade e idEntidade com a lista de reuniões do negócio.
A assinatura não mudou. Ao trocar ou remover o negócio em uma atualização, o vínculo anterior também é removido.
Duas rotas deixaram de falhar quando o request preenche um campo personalizado que ainda não tinha valor no registro.
| Método | Rota |
|---|---|
PUT | /v1/atendimento/{idAtendimento}/atributos-personalizados |
PUT | /v1/pipelines/{idPipeline}/negocios/{idItem}/campos-personalizados |
O contrato não mudou. Os mesmos requests agora criam o primeiro valor sem tentar cadastrar novamente a definição do campo personalizado.
Quinze recursos ganharam uma rota PATCH. Envie apenas os campos que precisam mudar. Campo
omitido mantém o valor atual.
| Recurso | Rota |
|---|---|
| Reunião | PATCH /v1/reunioes/{id} |
| Anotação de negócio | PATCH /v1/negocios/{idNegocio}/anotacoes/{id} |
| Campo personalizado | PATCH /v1/campos-personalizados/{id} |
| Contato | PATCH /v1/contatodechat/{idContato} |
| Departamento | PATCH /v1/departamentos/{id} |
| Etiqueta | PATCH /v1/etiquetas/{id} |
| Lista de contato | PATCH /v1/listas-de-contato/{id} |
| Motivo de venda | PATCH /v1/motivos-de-venda/{id} |
| Origem do negócio | PATCH /v1/origens-do-negocio/{id} |
| Atividade | PATCH /v1/pipelines/{idPipeline}/items/{idItem}/atividades/{idAtividade} |
| Etapa | PATCH /v1/pipelines/{idPipeline}/etapas/{idEtapa} |
| Negócio | PATCH /v1/pipelines/{idPipeline}/negocios/{idItem} |
| Funil | PATCH /v1/pipelines/{id} |
| Produto do negócio | PATCH /v1/pipelines/{idPipeline}/negocios/{idItem}/produtos/{idVinculo} |
| Tipo de atividade | PATCH /v1/tipos-de-atividade/{id} |
Listas têm substituição completa quando são enviadas. Omitir a lista preserva os vínculos
atuais. Enviar [] remove todos os itens.
As 16 ferramentas MCP de atualização relacionadas passaram a seguir a mesma regra. Elas alteram somente os campos enviados, em vez de substituir o cadastro inteiro.
POST /v1/reunioes, PUT /v1/reunioes/{id} e o novo PATCH /v1/reunioes/{id} aceitam dois
campos novos. As respostas de reunião também trazem as duas listas.
| Campo | O que faz |
|---|---|
idsUsuariosParticipantes | Define os usuários que veem o compromisso na agenda |
idsLeads | Define os contatos convidados pelo e-mail do cadastro |
{
"assunto": "Revisão da proposta",
"dataInicio": "2026-08-31T13:00:00Z",
"dataFim": "2026-08-31T13:30:00Z",
"idsUsuariosParticipantes": ["3f2a…"],
"idsLeads": ["9b71…"]
}
Na criação, informe ao menos um usuário da conta. Quando a reunião está ligada a um negócio e a
lista de participantes vem vazia, a API usa o responsável pelo negócio. Nas atualizações, omitir
uma lista preserva os valores atuais. A lista de participantes não aceita [].
A ferramenta MCP criar_reuniao segue a mesma regra. As ferramentas atualizar_reuniao e
obter_reuniao também trabalham com as duas listas.
Mudança de comportamento em buscar_mensagens_conversa. A ferramenta devolvia a conversa
inteira numa chamada e agora devolve 50 mensagens por vez, com teto de 200. Integração que
contava com o histórico completo de uma vez precisa avançar o skip até o fim.
As ferramentas de listagem passaram a apertar page e pageSize na mesma faixa que o REST
já exige. page menor que 1 vira 1. pageSize menor que 1 cai no padrão de 20, e acima de
200 é cortado no teto.
Duas ferramentas de atendimento não tinham paginação nenhuma e ganharam skip e take.
| Ferramenta MCP | Parâmetros novos | Padrão | Teto |
|---|---|---|---|
buscar_atendimentos_chat | skip, take | skip 0, take 20 | take 100 |
buscar_mensagens_conversa | skip, take | skip 0, take 50 | take 200 |
Para varrer a lista inteira, avance o skip até o total devolvido na resposta.
Falha de ferramenta MCP deixou de subir como erro cru de protocolo, do tipo "A task was
canceled". A resposta agora vem com isError e um texto que diz o que houve e o que tentar
em seguida.
Três situações têm texto próprio.
pageSize
menortake menor ou filtro mais estreitoNa falha, a resposta não afirma que nada foi gravado. Ferramenta de escrita pode ter parado no meio, então confira o estado antes de repetir a chamada.
Mudança que quebra integração. A conta cujo plano não inclui o servidor MCP passa a
receber 403 em toda requisição ao endereço /mcp. Se a sua integração depende dele,
confira o plano da conta antes de seguir.
O corpo da resposta traz o motivo: "Seu plano não inclui o servidor MCP. Ele está nos planos Avançado, Premium e Revenda." Conta em avaliação continua conectando normalmente.
A conferência do plano vem antes do interruptor da conta. Conta que tinha o servidor
ligado e trocou para um plano sem o recurso recebe o 403 do plano, não a resposta de
servidor desativado. Pelo mesmo motivo, tools/list volta vazio nesse caso.
A API REST em v1/ não mudou. A integração por chave de API continua valendo em
qualquer plano.
O acesso temporário de suporte gera uma credencial assinada com a mesma chave do CRM. Ela
é recusada na validação do token da API pública, então a requisição volta 401 mesmo com
a credencial dentro do prazo.
A assinatura não mudou. Quem autentica por chave de API não é afetado.
v1/produtoPOST /v1/produto e PUT /v1/produto/{id} aceitam dois campos novos, os dois com lista
de Guid:
| Campo | O que faz |
|---|---|
idsProdutosRelacionados | Vincula produtos indicados junto com este, como acessório e kit |
idsProdutosSimilares | Vincula produtos que servem de alternativa a este |
{
"nome": "Furadeira de impacto 650W",
"idsProdutosRelacionados": ["3f2a…", "9b71…"],
"idsProdutosSimilares": ["c04e…"]
}
Cada campo é substituição completa do vínculo daquele tipo. Omitir o campo (ou mandar
null) preserva o que já estava gravado, e mandar [] remove tudo. Id repetido conta
uma vez só, e o id do próprio produto é ignorado em vez de virar erro.
As respostas de produto trazem os dois vínculos resolvidos, cada item com id e nome:
{
"id": "8a1f…",
"nome": "Furadeira de impacto 650W",
"produtosRelacionados": [{ "id": "3f2a…", "nome": "Kit de brocas 10 peças" }],
"produtosSimilares": [{ "id": "c04e…", "nome": "Furadeira de impacto 700W" }]
}
PATCH /v1/produto/{id} não aceita esses dois campos. Para mexer nos vínculos, use
PUT com o produto inteiro.
O redirecionamento do fluxo OAuth do servidor MCP apontava para um endereço de
desenvolvimento que saiu do ar, e a autorização travava na volta. Agora ele vai para
https://appplus.sunchat.com.br.
Nada mudou no contrato. Se o seu cliente MCP guarda a URL de autorização em cache ou em arquivo de configuração, refaça a conexão para pegar o endereço novo.
Duas ferramentas MCP novas no servidor da API pública. As duas são de leitura, não gravam nada na conta e aceitam o documento com ou sem máscara.
| Ferramenta | Parâmetro | O que devolve |
|---|---|---|
consultar_cnpj | cnpj (14 dígitos) | Dados cadastrais na Receita Federal |
consultar_cep | cep (8 dígitos) | Endereço do CEP |
A resposta de consultar_cep traz cep, logradouro, complemento, unidade,
bairro, cidade, uf, estado, regiao, codigoIbge, ddd e codigoSiafi.
A de consultar_cnpj é maior.
{
"cnpj": "12345678000195",
"razaoSocial": "...",
"nomeFantasia": "...",
"situacao": "ATIVA",
"dataDaSituacao": "2010-05-03",
"dataDaAbertura": "2010-05-03",
"naturezaJuridica": "...",
"capitalSocial": "100000.00",
"optanteSimples": false,
"optanteSimei": false,
"atividadePrincipal": { "codigo": "6201501", "descricao": "..." },
"atividadesSecundarias": [{ "codigo": "...", "descricao": "..." }],
"endereco": {
"cep": "01001000",
"logradouro": "...",
"numero": "100",
"complemento": "...",
"bairro": "...",
"cidade": "...",
"uf": "SP"
},
"telefones": ["1133334444"],
"email": "...",
"inscricoesEstaduais": [{ "numero": "...", "uf": "SP", "ativa": true }],
"socios": [{ "nome": "...", "qualificacao": "..." }]
}
Quando a consulta falha, a ferramenta devolve { "error": "...", "code": "..." } em vez
do objeto.
As duas entraram no catálogo de ferramentas que o agente de IA pode ligar, nos grupos Consulta de CNPJ e Consulta de CEP, ambos de risco baixo.
O SunchatPlus lança hoje, e a API pública lança junto.
A partir de hoje, todo endpoint, campo e ferramenta MCP novos entram registrados aqui.