Skip to main content
POST
http://api.gu1.ai
/
entities
/
automatic
Criar Automaticamente
curl --request POST \
  --url http://api.gu1.ai/entities/automatic \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "taxId": "<string>",
  "country": "<string>",
  "type": "<string>",
  "externalId": "<string>",
  "isClient": true,
  "riskMatrixId": "<string>",
  "skipRulesExecution": true,
  "status": "<string>",
  "depth": 123,
  "autoExecuteIntegrations": {},
  "autoExecuteIntegrationsShareholders": {}
}
'
{
  "success": true,
  "data": {},
  "rulesResult": {}
}

Visão Geral

O endpoint de criação automática de pessoa permite que você crie pessoas fornecendo informações mínimas (ID fiscal e país). O sistema automaticamente:
  • Busca dados da pessoa de registros oficiais
  • Enriquece a pessoa com informações adicionais
  • Executa integrações (verificações e enriquecimentos) automaticamente
Isso é ideal para processos de KYC (Conheça Seu Cliente) onde você deseja integrar clientes com informações completas automaticamente.

Endpoint

POST http://api.gu1.ai/entities/automatic

Autenticação

Requer uma chave de API válida no cabeçalho de autorização:
Authorization: Bearer YOUR_API_KEY

Corpo da Requisição

taxId
string
required
Número de identificação fiscal da pessoa (por exemplo, CPF para Brasil, CURP para México, CUIT para Argentina)
📋 Ver Formatos de Tax ID por País para formatos aceitos e regras de validação para cada país.
country
string
required
Código de país ISO 3166-1 alpha-2 (por exemplo, “BR”, “MX”, “AR”, “CL”)
type
string
required
Deve ser definido como person
externalId
string
Seu identificador único para esta pessoa (opcional, será gerado automaticamente se não fornecido)
isClient
boolean
default:"false"
Marcar esta pessoa como cliente para fins de rastreamento
riskMatrixId
string
UUID da matriz de risco para executar regras automaticamente
skipRulesExecution
boolean
default:"false"
Pular a execução automática de regras após a criação da pessoa
status
string
default:"under_review"
Status inicial da pessoa
depth
number
default:"0"
Profundidade da extração de relacionamentos (0-5). Controla quantos níveis de relacionamentos buscar e criar automaticamente.
  • 0: Sem relacionamentos (apenas entidade principal)
  • 1: Apenas relacionamentos diretos
  • 2: Relacionamentos + seus relacionamentos
  • 3-5: Níveis adicionais (use com cautela - pode criar muitas entidades)
autoExecuteIntegrations
object
Configurar a execução automática de integrações para a entidade pessoa principal. Veja Referência de Códigos de Provedores para códigos disponíveis.Tipo: object (opcional)Propriedades:
  • executeAllActiveEnrichments (boolean, opcional, padrão: false) - Executar todas as integrações de enriquecimento ativas
  • executeAllActiveChecks (boolean, opcional, padrão: false) - Executar todas as integrações de verificação ativas
  • enrichments (array, opcional, padrão: []) - Array de códigos de provedores de enriquecimento específicos para executar
  • checks (array, opcional, padrão: []) - Array de códigos de provedores de verificação específicos para executar
{
  executeAllActiveEnrichments?: boolean; // padrão: false
  executeAllActiveChecks?: boolean; // padrão: false
  enrichments?: ValidProviderCodesEnum[]; // padrão: []
  checks?: ValidProviderCodesEnum[]; // padrão: []
}
Exemplo:
{
  "executeAllActiveEnrichments": true,
  "executeAllActiveChecks": false,
  "enrichments": ["serpro_cpf", "bureau_credit"],
  "checks": ["pep_check", "sanctions_check"]
}
autoExecuteIntegrationsShareholders
object
Configurar a execução automática de integrações para relacionamentos descobertos. Útil ao usar depth > 0. Veja Referência de Códigos de Provedores para códigos disponíveis.Tipo: object (opcional)Propriedades:
  • executeAllActiveEnrichments (boolean, opcional, padrão: false) - Executar todos os enriquecimentos ativos em entidades relacionadas
  • executeAllActiveChecks (boolean, opcional, padrão: false) - Executar todas as verificações ativas em entidades relacionadas
  • enrichments (object, opcional) - Enriquecimentos específicos por tipo de entidade
    • company (array, padrão: []) - Enriquecimentos para relacionamentos de empresa
    • person (array, padrão: []) - Enriquecimentos para relacionamentos de pessoa
  • checks (object, opcional) - Verificações específicas por tipo de entidade
    • company (array, padrão: []) - Verificações para relacionamentos de empresa
    • person (array, padrão: []) - Verificações para relacionamentos de pessoa
{
  executeAllActiveEnrichments?: boolean;
  executeAllActiveChecks?: boolean;
  enrichments?: {
    company?: ValidProviderCodesEnum[];
    person?: ValidProviderCodesEnum[];
  };
  checks?: {
    company?: ValidProviderCodesEnum[];
    person?: ValidProviderCodesEnum[];
  };
}
Exemplo:
{
  "enrichments": {
    "person": ["br_cpfcnpj_complete_person_enrichment"],
    "company": ["br_cpfcnpj_complete_company_enrichment"]
  }
}

Resposta

success
boolean
Indica se a pessoa foi criada com sucesso
data
object
Informações completas sobre a criação:
  • entity (object) - A pessoa criada com todos os dados
  • summary (object) - Resumo da criação
  • errors (object, opcional) - Detalhes de quaisquer erros
rulesResult
object
Resultado da execução da matriz de risco (se configurada), ou null

Exemplos

Criar Pessoa com Todas as Integrações Ativas

curl -X POST http://api.gu1.ai/entities/automatic \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taxId": "123.456.789-00",
    "country": "BR",
    "type": "person",
    "isClient": true,
    "autoExecuteIntegrations": {
      "executeAllActiveEnrichments": true,
      "executeAllActiveChecks": true
    }
  }'

Criar Pessoa com Integrações Específicas

curl -X POST http://api.gu1.ai/entities/automatic \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taxId": "123.456.789-00",
    "country": "BR",
    "type": "person",
    "externalId": "customer_12345",
    "autoExecuteIntegrations": {
      "enrichments": ["serpro_cpf", "bureau_credit"],
      "checks": ["pep_check", "sanctions_check"]
    }
  }'

Exemplo de Resposta

{
  "success": true,
  "data": {
    "entity": {
      "id": "person_uuid",
      "organizationId": "org_uuid",
      "type": "person",
      "name": "João Silva",
      "taxId": "12345678900",
      "countryCode": "BR",
      "status": "under_review",
      "entityData": {
        "person": {
          "firstName": "João",
          "lastName": "Silva",
          "dateOfBirth": "1985-05-15",
          "nationality": "BR"
        }
      },
      "createdAt": "2024-12-23T10:30:00.000Z",
      "updatedAt": "2024-12-23T10:30:00.000Z"
    },
    "summary": {
      "entitiesCreated": 1,
      "relationshipsCreated": 0,
      "errorsCount": 0
    }
  },
  "rulesResult": null
}

Respostas de Erro

400 Bad Request - Tax ID Inválido

{
  "success": false,
  "error": "Invalid CPF format for Brazil"
}

404 Not Found - Pessoa Não Encontrada no Registro

{
  "success": false,
  "error": "Entity not found in official registry",
  "details": {
    "taxId": "123.456.789-00",
    "country": "BR",
    "registry": "Receita Federal"
  }
}

409 Conflict - Pessoa Já Existe

{
  "success": false,
  "error": "Entity with this tax ID already exists",
  "details": {
    "existingEntityId": "uuid",
    "taxId": "123.456.789-00"
  }
}

Melhores Práticas

  1. Tratamento de erros: Sempre verifique o campo success na resposta
  2. Limitação de taxa: Seja consciente dos limites de taxa ao criar múltiplas pessoas
  3. Seleção de integração: Escolha integrações específicas para melhor controle sobre custo e desempenho

Próximos Passos