Skip to main content
PUT
Upsert

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

object
required
Os dados da entidade (mesma estrutura de Criar entidade), incluindo campos raiz opcionais como email, phone e nationality (ISO 3166-1 alpha-2 ou rótulo mapeável).
O esquema pode aceitar as mesmas chaves que criar (ex.: monitoring, autoExecuteIntegrations). O upsert não executa auto-enriquecimentos nem aplica monitoring. Use POST /entities ou POST /entities/automatic para lista / Regtia op 1 durante o enriquecimento.
object
Opções de configuração para o comportamento do upsert
enum
Como lidar com conflitos quando uma entidade existente é encontrada:
  • source_wins - Novos dados sobrescrevem os dados existentes
  • target_wins - Mantém os dados existentes, ignora novos dados
  • manual_review - Sinaliza para revisão manual sem atualizar
  • smart_merge (padrão) - Mescla inteligentemente ambos os conjuntos de dados
enum
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 IA
  • hybrid (recomendado) - Correspondência exata com fallback difuso
boolean
default:"true"
Se deve criar automaticamente relacionamentos entre entidades

Resposta

boolean
Indica se a operação foi bem-sucedida
string
A ação realizada: created ou updated
object
O estado final da entidade após o upsert
object
O estado da entidade antes da atualização (null se recém-criada)
number
Pontuação de confiança (0-1) para a correspondência de detecção de duplicatas
string
Explicação do porquê a entidade foi criada/atualizada
array
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

  1. Escolha a Estratégia Certa:
    • exact_match para dados limpos e estruturados com IDs confiáveis
    • fuzzy_match para dados digitados por usuários com potenciais erros
    • hybrid para a maioria dos cenários de produção
  2. Gerencie Conflitos com Cuidado:
    • Use smart_merge para resolução automática
    • Use manual_review para dados financeiros críticos
    • Verifique o array conflicts na resposta para mudanças importantes
  3. 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
  4. Gerenciamento de Relacionamentos:
    • Defina createRelationships: true para vincular automaticamente entidades relacionadas
    • Útil para relacionamentos transação-cliente, empresa-pessoa

Respostas de Erro

400 Bad Request

400 Campos Obrigatórios Ausentes

500 Internal Server Error

Próximos Passos