Visão Geral
O endpoint de upsert cria inteligentemente uma nova entidade ou atualiza uma existente com base em estratégias configuráveis de detecção de duplicatas. Ele gerencia automaticamente conflitos e previne registros duplicados usando correspondência exata, correspondência difusa ou detecção de similaridade alimentada por IA.Endpoint
Autenticação
Requer uma chave de API válida no cabeçalho Authorization:Corpo da Requisição
Os dados da entidade (mesma estrutura do endpoint Create Entity)
Opções de configuração para o comportamento do upsert
Como lidar com conflitos quando uma entidade existente é encontrada:
source_wins- Novos dados sobrescrevem os dados existentestarget_wins- Mantém os dados existentes, ignora novos dadosmanual_review- Sinaliza para revisão manual sem atualizarsmart_merge(padrão) - Mescla inteligentemente ambos os conjuntos de dados
Estratégia para detectar entidades duplicadas:
exact_match- Correspondência por externalId e taxId (insensível a maiúsculas)fuzzy_match- Correspondência de similaridade em name e taxId (limiar de 80%)ai_similarity- Detecção de similaridade semântica alimentada por IAhybrid(recomendado) - Correspondência exata com fallback difuso
Se deve criar automaticamente relacionamentos entre entidades
Resposta
Indica se a operação foi bem-sucedida
A ação realizada:
created ou updatedO estado final da entidade após o upsert
O estado da entidade antes da atualização (null se recém-criada)
Pontuação de confiança (0-1) para a correspondência de detecção de duplicatas
Explicação do porquê a entidade foi criada/atualizada
Array de conflitos em nível de campo detectados durante a mesclagem (se houver)
Estratégias de Deduplicação
Correspondência Exata
Corresponde entidades com base em comparação exata de campos (insensível a maiúsculas):- Campos:
externalId,taxId - Caso de uso: Quando você tem identificadores únicos confiáveis
- Velocidade: Mais rápida
- Precisão: 100% para valores idênticos
Correspondência Difusa
Usa distância de Levenshtein para correspondência de similaridade:- Campos:
name,taxId - Limiar: 80% de similaridade
- Caso de uso: Ao lidar com erros de digitação ou variações
- Velocidade: Moderada
- Precisão: Alta para strings similares
Similaridade IA
Detecção de similaridade semântica alimentada por IA:- Método: Embeddings vetoriais e similaridade de cosseno
- Caso de uso: Correspondência complexa de múltiplos campos
- Velocidade: Mais lenta
- Precisão: Mais alta para entidades semanticamente similares
Híbrida (Recomendada)
Combina correspondência exata e difusa:- Primária: Correspondência exata em identificadores
- Fallback: Correspondência difusa em nomes
- Limiar de confiança: 80%
- Caso de uso: Melhor equilíbrio entre velocidade e precisão
Estratégias de Resolução de Conflitos
smart_merge (Padrão)
Mescla inteligentemente dados de ambas as fontes:- Prioridade: Dados mais recentes para campos simples
- Arrays: Mescla e deduplica
- Objetos: Mesclagem profunda com detecção de conflitos
- Valores vazios: Preserva valores existentes não vazios
source_wins
Novos dados substituem completamente os existentes:- Caso de uso: Quando os dados recebidos são autoritativos
- Comportamento: Todos os campos da origem
- Risco: Pode perder dados existentes valiosos
target_wins
Mantém dados existentes, ignora os recebidos:- Caso de uso: Quando os dados existentes são autoritativos
- Comportamento: Nenhuma atualização realizada
- Risco: Pode perder atualizações importantes
manual_review
Sinaliza conflitos sem resolução automática:- Caso de uso: Dados de alto risco que requerem revisão humana
- Comportamento: Cria tarefa de revisão
- Resultado: Entidade marcada para resolução manual
Exemplos
Upsert Simples (Comportamento Padrão)
Upsert com Estratégia de Correspondência Exata
Upsert com Correspondência Difusa
Estratégia Híbrida (Recomendada)
Exemplos de Resposta
Nova Entidade Criada
Entidade Existente Atualizada
Casos de Uso
Importação de Dados de Sistema Externo
Enriquecimento Progressivo de Dados
Melhores Práticas
-
Escolha a Estratégia Certa:
exact_matchpara dados limpos e estruturados com IDs confiáveisfuzzy_matchpara dados digitados por usuários com potenciais erroshybridpara a maioria dos cenários de produção
-
Gerencie Conflitos com Cuidado:
- Use
smart_mergepara resolução automática - Use
manual_reviewpara dados financeiros críticos - Verifique o array
conflictsna resposta para mudanças importantes
- Use
-
Monitore as Pontuações de Confiança:
- Pontuações abaixo de 0.7 podem indicar correspondências fracas
- Registre atualizações com baixa confiança para revisão
- Considere limiar de revisão manual
-
Gerenciamento de Relacionamentos:
- Defina
createRelationships: truepara vincular automaticamente entidades relacionadas - Útil para relacionamentos transação-cliente, empresa-pessoa
- Defina
Respostas de Erro
400 Bad Request
400 Campos Obrigatórios Ausentes
500 Internal Server Error
Próximos Passos
- Batch Upsert - Processar múltiplas entidades de uma vez
- List Entities - Consultar entidades com upsert
- Update Entity - Fazer atualizações direcionadas
- Get Entity - Recuperar detalhes completos da entidade