Criar uma empresa automaticamente com enriquecimento
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>"
],
"riskMatrixIds": [
"<string>"
],
"skipRulesExecution": true,
"status": "<string>",
"operationalHours": {},
"depth": 123,
"autoExecuteIntegrations": {},
"autoExecuteIntegrationsShareholders": {},
"customData": {},
"attributes": {}
}
'import requests
url = "http://api.gu1.ai/entities/automatic"
payload = {
"taxId": "<string>",
"country": "<string>",
"type": "<string>",
"externalId": "<string>",
"isClient": True,
"riskMatrixId": ["<string>"],
"riskMatrixIds": ["<string>"],
"skipRulesExecution": True,
"status": "<string>",
"operationalHours": {},
"depth": 123,
"autoExecuteIntegrations": {},
"autoExecuteIntegrationsShareholders": {},
"customData": {},
"attributes": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
taxId: '<string>',
country: '<string>',
type: '<string>',
externalId: '<string>',
isClient: true,
riskMatrixId: ['<string>'],
riskMatrixIds: ['<string>'],
skipRulesExecution: true,
status: '<string>',
operationalHours: {},
depth: 123,
autoExecuteIntegrations: {},
autoExecuteIntegrationsShareholders: {},
customData: {},
attributes: {}
})
};
fetch('http://api.gu1.ai/entities/automatic', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "http://api.gu1.ai/entities/automatic",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'taxId' => '<string>',
'country' => '<string>',
'type' => '<string>',
'externalId' => '<string>',
'isClient' => true,
'riskMatrixId' => [
'<string>'
],
'riskMatrixIds' => [
'<string>'
],
'skipRulesExecution' => true,
'status' => '<string>',
'operationalHours' => [
],
'depth' => 123,
'autoExecuteIntegrations' => [
],
'autoExecuteIntegrationsShareholders' => [
],
'customData' => [
],
'attributes' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://api.gu1.ai/entities/automatic"
payload := strings.NewReader("{\n \"taxId\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"operationalHours\": {},\n \"depth\": 123,\n \"autoExecuteIntegrations\": {},\n \"autoExecuteIntegrationsShareholders\": {},\n \"customData\": {},\n \"attributes\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://api.gu1.ai/entities/automatic")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"taxId\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"operationalHours\": {},\n \"depth\": 123,\n \"autoExecuteIntegrations\": {},\n \"autoExecuteIntegrationsShareholders\": {},\n \"customData\": {},\n \"attributes\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://api.gu1.ai/entities/automatic")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"taxId\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"operationalHours\": {},\n \"depth\": 123,\n \"autoExecuteIntegrations\": {},\n \"autoExecuteIntegrationsShareholders\": {},\n \"customData\": {},\n \"attributes\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {},
"rulesResult": {},
"rulesExecutionSummary": {}
}Referência API
Criar uma empresa automaticamente com enriquecimento
Criar empresa automaticamente com dados enriquecidos de registros — para entidades de empresa na plataforma de risco e compliance gu1.
POST
/
entities
/
automatic
Criar uma empresa automaticamente com enriquecimento
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>"
],
"riskMatrixIds": [
"<string>"
],
"skipRulesExecution": true,
"status": "<string>",
"operationalHours": {},
"depth": 123,
"autoExecuteIntegrations": {},
"autoExecuteIntegrationsShareholders": {},
"customData": {},
"attributes": {}
}
'import requests
url = "http://api.gu1.ai/entities/automatic"
payload = {
"taxId": "<string>",
"country": "<string>",
"type": "<string>",
"externalId": "<string>",
"isClient": True,
"riskMatrixId": ["<string>"],
"riskMatrixIds": ["<string>"],
"skipRulesExecution": True,
"status": "<string>",
"operationalHours": {},
"depth": 123,
"autoExecuteIntegrations": {},
"autoExecuteIntegrationsShareholders": {},
"customData": {},
"attributes": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
taxId: '<string>',
country: '<string>',
type: '<string>',
externalId: '<string>',
isClient: true,
riskMatrixId: ['<string>'],
riskMatrixIds: ['<string>'],
skipRulesExecution: true,
status: '<string>',
operationalHours: {},
depth: 123,
autoExecuteIntegrations: {},
autoExecuteIntegrationsShareholders: {},
customData: {},
attributes: {}
})
};
fetch('http://api.gu1.ai/entities/automatic', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "http://api.gu1.ai/entities/automatic",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'taxId' => '<string>',
'country' => '<string>',
'type' => '<string>',
'externalId' => '<string>',
'isClient' => true,
'riskMatrixId' => [
'<string>'
],
'riskMatrixIds' => [
'<string>'
],
'skipRulesExecution' => true,
'status' => '<string>',
'operationalHours' => [
],
'depth' => 123,
'autoExecuteIntegrations' => [
],
'autoExecuteIntegrationsShareholders' => [
],
'customData' => [
],
'attributes' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://api.gu1.ai/entities/automatic"
payload := strings.NewReader("{\n \"taxId\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"operationalHours\": {},\n \"depth\": 123,\n \"autoExecuteIntegrations\": {},\n \"autoExecuteIntegrationsShareholders\": {},\n \"customData\": {},\n \"attributes\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://api.gu1.ai/entities/automatic")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"taxId\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"operationalHours\": {},\n \"depth\": 123,\n \"autoExecuteIntegrations\": {},\n \"autoExecuteIntegrationsShareholders\": {},\n \"customData\": {},\n \"attributes\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://api.gu1.ai/entities/automatic")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"taxId\": \"<string>\",\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"operationalHours\": {},\n \"depth\": 123,\n \"autoExecuteIntegrations\": {},\n \"autoExecuteIntegrationsShareholders\": {},\n \"customData\": {},\n \"attributes\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {},
"rulesResult": {},
"rulesExecutionSummary": {}
}Visão Geral
O endpoint de criação automática de empresa permite que você crie empresas fornecendo informações mínimas (tax ID e país). O sistema automaticamente:- Busca dados da empresa de registros oficiais
- Enriquece a empresa com informações adicionais
- Executa enriquecimentos automaticamente
Endpoint
POST http://api.gu1.ai/entities/automatic
Autenticação
Requer uma chave de API válida no cabeçalho Authorization:Authorization: Bearer YOUR_API_KEY
Corpo da Requisição
string
required
Número de identificação fiscal da empresa (ex: CNPJ para Brasil, RFC 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.
string
required
Código de país ISO 3166-1 alpha-2 (ex: “BR”, “MX”, “AR”, “CL”)
string
required
Deve ser definido como
companystring
Seu identificador único para esta empresa (opcional, será gerado automaticamente se não fornecido)
boolean
default:"false"
Marcar esta empresa como cliente/negócio para fins de rastreamento
string | string[]
Um ou mais UUIDs de matrizes de risco (legacy: um único UUID). Após a criação, regras ativas dessas matrizes são executadas (salvo
skipRulesExecution: true).string[]
Preferido para várias matrizes: lista ordenada de UUIDs. Tem precedência sobre
riskMatrixId quando informado e não vazio.boolean
default:"false"
Pular execução automática de regras após criação da empresa
string
default:"under_review"
Status inicial. Padrão
under_review. Opcional: not_started, active, inactive, blocked, under_review, pending_verification, awaiting_information, suspended, expired, deleted, rejected. Ver Visão geral — Status.object | null
Horário operacional opcional da entidade principal (
timezone + weekly). Persistido na criação automática como na criação manual de entidades. Não se aplica a acionistas/relacionamentos criados por depth.number
default:"0"
Profundidade da extração de relacionamento (0-5). Controla quantos níveis de acionistas/relacionamentos buscar e criar automaticamente.
0: Sem relacionamentos (apenas entidade principal)1: Apenas acionistas diretos2: Acionistas + seus acionistas3-5: Níveis adicionais (use com cautela - pode criar muitas entidades)
object
Configurar execução automática de integrações para a entidade empresa principal. Veja Referência de Códigos de Provedor para códigos disponíveis.Tipo: Exemplo:
object (opcional)Propriedades:executeAllActiveEnrichments(boolean, opcional, padrão:false) - Executar todas as integrações de enriquecimento ativasenrichments(array, opcional, padrão:[]) - Array de códigos de provedores de enriquecimento específicos para executarenrichmentGroupRefs(array de strings, opcional) — Slugs de grupos de enriquecimento do Marketplace (somente enriquecimentos). ComexecuteAllActiveEnrichments: false, os grupos são resolvidos e mesclados comenrichmentsexplícitos. ComexecuteAllActiveEnrichments: true, os refs de grupo são ignorados;enrichmentsexplícitos ainda podem acrescentar códigos após o conjunto ativo.
{
executeAllActiveEnrichments?: boolean; // padrão: false
enrichments?: ValidProviderCodesEnum[]; // padrão: []
enrichmentGroupRefs?: string[];
}
{
"executeAllActiveEnrichments": false,
"enrichments": ["br_cpfcnpj_complete_company_enrichment", "br_bdc_shareholders_enrichment"],
"enrichmentGroupRefs": ["my_marketplace_group_slug"],
}
object
Configurar execução automática de integrações para acionistas/relacionamentos descobertos. Útil ao usar Exemplo:
depth > 0. Veja Referência de Códigos de Provedor para códigos disponíveis.Tipo: object (opcional)Propriedades:executeAllActiveEnrichments(boolean, opcional, padrão:false) - Executar todos os enriquecimentos ativos nos acionistasenrichments(object, opcional) - Enriquecimentos específicos por tipo de entidadecompany(array, padrão:[]) - Enriquecimentos para acionistas empresaperson(array, padrão:[]) - Enriquecimentos para acionistas pessoa
enrichmentGroupRefs(array de strings, opcional) — Mesmos slugs do objeto principal; comexecuteAllActiveEnrichments: falseaplicam-se acompanye aperson. ComexecuteAllActiveEnrichments: trueneste objeto, os refs de grupo são ignorados;enrichmentsexplícitos por tipo ainda podem acrescentar códigos após o ativo de cada lado.
{
executeAllActiveEnrichments?: boolean;
enrichments?: {
company?: ValidProviderCodesEnum[];
person?: ValidProviderCodesEnum[];
};
enrichmentGroupRefs?: string[];
}
{
"enrichments": {
"person": [
"br_cpfcnpj_complete_person_enrichment",
"global_complyadvantage_person_search_enrichment"
],
"company": ["br_cpfcnpj_complete_company_enrichment"]
},
"enrichmentGroupRefs": ["shareholder_pipeline_group_slug"]
}
Códigos de Enrichment Obrigatórios por País
Ao usar códigos de enrichment específicos (não
executeAllActiveEnrichments: true), certos enrichments são obrigatórios para que a criação automática funcione. Sem eles, o sistema não consegue buscar os dados básicos da empresa nos registros oficiais e a requisição falhará.Brasil (BR)
| Cenário | Código(s) de Enrichment Obrigatório(s) | Descrição |
|---|---|---|
| Entidade principal | br_cpfcnpj_complete_company_enrichment | Busca dados da empresa do CNPJ/Receita Federal (razão social, nome fantasia, endereço, setor, etc.) |
Sócios (depth > 0) | br_bdc_shareholders_enrichment | Obrigatório em autoExecuteIntegrations.enrichments. Busca o QSA (Quadro Societário e de Administradores) para descobrir sócios e diretores |
O enrichment de sócios deve ser incluído no array
autoExecuteIntegrations.enrichments da entidade principal (não em autoExecuteIntegrationsShareholders), pois o sistema precisa executá-lo na empresa principal para descobrir o QSA. O campo autoExecuteIntegrationsShareholders controla quais enrichments executar em cada sócio após serem criados.Argentina (AR)
| Cenário | Código de Enrichment Obrigatório | Descrição |
|---|---|---|
| Entidade principal | ar_nosis_extended_verification_enrichment | Busca dados da empresa do Nosis (razão social, situação CUIT, endereço, atividades, etc.) |
Argentina não suporta criação automática de sócios ainda. O parâmetro
depth deve ser 0. Se depth > 0 for fornecido, a requisição falhará com um erro.object
Opcional — Dados do cliente para a empresa principal que não devem ser substituídos pelos enrichments. Referência completa: Criação automática de entidades.Campos:
name, email, phone, address → entityData.company.address (birthDate não se aplica a empresas).Exemplo:{
"taxId": "12345678000199",
"country": "BR",
"type": "company",
"customData": {
"name": "Acme Brasil Ltda (nome fantasia)",
"email": "contato@acme.com",
"phone": "+5511400000000",
"address": { "fullAddress": "Av. Paulista 1000, São Paulo", "city": "São Paulo" }
}
}
object
Opcional - Atributos personalizados como pares chave-valor para a entidade criada.Aplicam-se apenas à entidade principal (a empresa criada), não a acionistas/relacionamentos. Útil para segmentos de negócio, etiquetas, IDs internos ou qualquer metadado que queira associar no momento da criação.Estrutura: objeto com chaves string e valores de qualquer tipo (string, number, boolean, array, etc.).Exemplo:
{
"businessSegments": ["retail", "fintech"],
"source": "onboarding_web",
"tags": ["vip", "high_volume"]
}
Resposta
boolean
Indica se a empresa foi criada com sucesso
object
Informações completas sobre a criação:
entity(object) - A empresa criada com todos os dadossummary(object) - Resumo da criaçãoerrors(object, opcional) - Detalhes de quaisquer erros
object
Resultado da execução de regras (apenas presente quando as regras foram executadas, ex. quando skipRulesExecution é
false e há matriz configurada via riskMatrixId ou riskMatrixIds), ou null. Quando presente, inclui:- success (boolean) - Se as regras foram executadas com sucesso
- rulesTriggered (number) - Número de regras disparadas
- alerts (array) - Alertas gerados pelas regras
- riskScore (number) - Pontuação de risco final
- decision (string) - Decisão final (APPROVE, REJECT, HOLD, REVIEW_REQUIRED)
- rulesExecutionSummary (object) - Presente quando as regras foram executadas. Ver abaixo a estrutura.
object
Na raiz da resposta (igual à API de transações). Mesmo valor que
rulesResult.rulesExecutionSummary. Apenas presente quando as regras foram executadas (ex. skipRulesExecution é false e a matriz de risco foi executada). Resumo de quais regras deram match (hit) vs não (no hit), ações executadas e pontuação total. Omitido quando as regras não foram executadas. Estrutura completa e exemplo: Resumo de Execução de Regras.- rulesHit (array) - Regras cujas condições foram atendidas. Cada item: name, description, score, priority, category, status (ex.
active,shadow), conditions (array de{ field, value, operator? }), actions (alerts, suggestion, status, assignedUser). - rulesNoHit (array) - Regras avaliadas mas cujas condições não foram atendidas. Mesma estrutura que rulesHit (inclui ações configuradas, não executadas).
- actionsExecuted (object) - Ações executadas agregadas de todas as regras que deram hit: alerts, suggestion (
BLOCK|SUSPEND|FLAG, maior peso), status (status aplicado à entidade, se houver), assignedUser ({ userId }, se houver), customKeys (array de strings, opcional) — chaves de ações personalizadas das regras que deram match; para integrações/workflows. - totalScore (number) - Soma do score de todas as regras que deram hit e não estão em status
shadow.
Exemplos
Criar Empresa 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": "company",
"isClient": true,
"autoExecuteIntegrations": {
"executeAllActiveEnrichments": true,
}
}'
const response = await fetch('http://api.gu1.ai/entities/automatic', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
taxId: '123.456.789-00',
country: 'BR',
type: 'company',
isClient: true,
autoExecuteIntegrations: {
executeAllActiveEnrichments: true,
}
})
});
const data = await response.json();
console.log('Company created:', data.data.entity);
import requests
response = requests.post(
'http://api.gu1.ai/entities/automatic',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'taxId': '123.456.789-00',
'country': 'BR',
'type': 'company',
'isClient': True,
'autoExecuteIntegrations': {
'executeAllActiveEnrichments': True,
}
}
)
data = response.json()
print('Company created:', data['data']['entity'])
Criar Empresa 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": "company",
"externalId": "business_12345",
"autoExecuteIntegrations": {
"enrichments": ["br_cpfcnpj_complete_company_enrichment"],
}
}'
const response = await fetch('http://api.gu1.ai/entities/automatic', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
taxId: '123.456.789-00',
country: 'BR',
type: 'company',
externalId: 'business_12345',
autoExecuteIntegrations: {
enrichments: ['br_cpfcnpj_complete_company_enrichment'],
}
})
});
const data = await response.json();
import requests
response = requests.post(
'http://api.gu1.ai/entities/automatic',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'taxId': '123.456.789-00',
'country': 'BR',
'type': 'company',
'externalId': 'business_12345',
'autoExecuteIntegrations': {
'enrichments': ['br_cpfcnpj_complete_company_enrichment'],
}
}
)
data = response.json()
Exemplo de Resposta
{
"success": true,
"data": {
"entity": {
"id": "company_uuid",
"organizationId": "org_uuid",
"type": "company",
"name": "Tech Solutions LTDA",
"taxId": "12345678900",
"countryCode": "BR",
"status": "under_review",
"entityData": {
"company": {
"legalName": "Tech Solutions LTDA",
"tradeName": "Tech Solutions",
"incorporationDate": "2020-01-15",
"industry": "Technology"
}
},
"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 - Empresa 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 - Empresa Já Existe
{
"success": false,
"error": "Entity with this tax ID already exists",
"details": {
"existingEntityId": "uuid",
"taxId": "123.456.789-00"
}
}
Melhores Práticas
- Tratamento de erros: Sempre verifique o campo
successna resposta - Limitação de taxa: Esteja atento aos limites de taxa ao criar múltiplas empresas
- Seleção de integração: Escolha integrações específicas para melhor controle sobre custo e desempenho
Próximos Passos
- Obter Empresa - Recuperar detalhes da empresa
- Criar Empresa Manualmente - Criar empresas com seus próprios dados
- Criar Validação KYB - Iniciar verificação de identidade
Was this page helpful?