Criar uma entidade empresa
curl --request POST \
--url http://api.gu1.ai/entities \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "<string>",
"externalId": "<string>",
"name": "<string>",
"countryCode": "<string>",
"taxId": "<string>",
"operationalHours": {},
"attributes": {},
"entityData": {},
"registrationDate": "<string>",
"isClient": true,
"riskMatrixId": [
"<string>"
],
"riskMatrixIds": [
"<string>"
],
"skipRulesExecution": true,
"status": "<string>",
"autoExecuteIntegrations": {},
"monitoring": {}
}
'import requests
url = "http://api.gu1.ai/entities"
payload = {
"type": "<string>",
"externalId": "<string>",
"name": "<string>",
"countryCode": "<string>",
"taxId": "<string>",
"operationalHours": {},
"attributes": {},
"entityData": {},
"registrationDate": "<string>",
"isClient": True,
"riskMatrixId": ["<string>"],
"riskMatrixIds": ["<string>"],
"skipRulesExecution": True,
"status": "<string>",
"autoExecuteIntegrations": {},
"monitoring": {}
}
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({
type: '<string>',
externalId: '<string>',
name: '<string>',
countryCode: '<string>',
taxId: '<string>',
operationalHours: {},
attributes: {},
entityData: {},
registrationDate: '<string>',
isClient: true,
riskMatrixId: ['<string>'],
riskMatrixIds: ['<string>'],
skipRulesExecution: true,
status: '<string>',
autoExecuteIntegrations: {},
monitoring: {}
})
};
fetch('http://api.gu1.ai/entities', 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",
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([
'type' => '<string>',
'externalId' => '<string>',
'name' => '<string>',
'countryCode' => '<string>',
'taxId' => '<string>',
'operationalHours' => [
],
'attributes' => [
],
'entityData' => [
],
'registrationDate' => '<string>',
'isClient' => true,
'riskMatrixId' => [
'<string>'
],
'riskMatrixIds' => [
'<string>'
],
'skipRulesExecution' => true,
'status' => '<string>',
'autoExecuteIntegrations' => [
],
'monitoring' => [
]
]),
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"
payload := strings.NewReader("{\n \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"taxId\": \"<string>\",\n \"operationalHours\": {},\n \"attributes\": {},\n \"entityData\": {},\n \"registrationDate\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"autoExecuteIntegrations\": {},\n \"monitoring\": {}\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")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"taxId\": \"<string>\",\n \"operationalHours\": {},\n \"attributes\": {},\n \"entityData\": {},\n \"registrationDate\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"autoExecuteIntegrations\": {},\n \"monitoring\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://api.gu1.ai/entities")
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 \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"taxId\": \"<string>\",\n \"operationalHours\": {},\n \"attributes\": {},\n \"entityData\": {},\n \"registrationDate\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"autoExecuteIntegrations\": {},\n \"monitoring\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"entity": {},
"rulesResult": {},
"rulesExecutionSummary": {}
}Referência API
Criar uma entidade empresa
Criar uma nova empresa com dados personalizados — para entidades de empresa na plataforma de risco e compliance gu1, com exemplos para create.
POST
/
entities
Criar uma entidade empresa
curl --request POST \
--url http://api.gu1.ai/entities \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "<string>",
"externalId": "<string>",
"name": "<string>",
"countryCode": "<string>",
"taxId": "<string>",
"operationalHours": {},
"attributes": {},
"entityData": {},
"registrationDate": "<string>",
"isClient": true,
"riskMatrixId": [
"<string>"
],
"riskMatrixIds": [
"<string>"
],
"skipRulesExecution": true,
"status": "<string>",
"autoExecuteIntegrations": {},
"monitoring": {}
}
'import requests
url = "http://api.gu1.ai/entities"
payload = {
"type": "<string>",
"externalId": "<string>",
"name": "<string>",
"countryCode": "<string>",
"taxId": "<string>",
"operationalHours": {},
"attributes": {},
"entityData": {},
"registrationDate": "<string>",
"isClient": True,
"riskMatrixId": ["<string>"],
"riskMatrixIds": ["<string>"],
"skipRulesExecution": True,
"status": "<string>",
"autoExecuteIntegrations": {},
"monitoring": {}
}
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({
type: '<string>',
externalId: '<string>',
name: '<string>',
countryCode: '<string>',
taxId: '<string>',
operationalHours: {},
attributes: {},
entityData: {},
registrationDate: '<string>',
isClient: true,
riskMatrixId: ['<string>'],
riskMatrixIds: ['<string>'],
skipRulesExecution: true,
status: '<string>',
autoExecuteIntegrations: {},
monitoring: {}
})
};
fetch('http://api.gu1.ai/entities', 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",
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([
'type' => '<string>',
'externalId' => '<string>',
'name' => '<string>',
'countryCode' => '<string>',
'taxId' => '<string>',
'operationalHours' => [
],
'attributes' => [
],
'entityData' => [
],
'registrationDate' => '<string>',
'isClient' => true,
'riskMatrixId' => [
'<string>'
],
'riskMatrixIds' => [
'<string>'
],
'skipRulesExecution' => true,
'status' => '<string>',
'autoExecuteIntegrations' => [
],
'monitoring' => [
]
]),
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"
payload := strings.NewReader("{\n \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"taxId\": \"<string>\",\n \"operationalHours\": {},\n \"attributes\": {},\n \"entityData\": {},\n \"registrationDate\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"autoExecuteIntegrations\": {},\n \"monitoring\": {}\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")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"taxId\": \"<string>\",\n \"operationalHours\": {},\n \"attributes\": {},\n \"entityData\": {},\n \"registrationDate\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"autoExecuteIntegrations\": {},\n \"monitoring\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://api.gu1.ai/entities")
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 \"type\": \"<string>\",\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"taxId\": \"<string>\",\n \"operationalHours\": {},\n \"attributes\": {},\n \"entityData\": {},\n \"registrationDate\": \"<string>\",\n \"isClient\": true,\n \"riskMatrixId\": [\n \"<string>\"\n ],\n \"riskMatrixIds\": [\n \"<string>\"\n ],\n \"skipRulesExecution\": true,\n \"status\": \"<string>\",\n \"autoExecuteIntegrations\": {},\n \"monitoring\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"entity": {},
"rulesResult": {},
"rulesExecutionSummary": {}
}Visão Geral
Cria uma nova entidade de empresa com os atributos especificados. As entidades de empresa representam organizações empresariais que você deseja analisar para risco e conformidade (KYB).Endpoint
POST http://api.gu1.ai/entities
Autenticação
Requer uma chave de API válida no cabeçalho Authorization:Authorization: Bearer YOUR_API_KEY
Corpo da Requisição
string
required
Deve ser
company para criar uma entidade de empresastring
required
Seu identificador único para esta empresa no seu sistema
string
required
Nome de exibição para a empresa
string
required
Código de país ISO 3166-1 alpha-2 (ex: “US”, “BR”, “AR”)
string
Número de identificação fiscal (validado com base no país)
📋 Ver Formatos de Tax ID por País para formatos aceitos e regras de validação para cada país.
object | null
Horário operacional opcional na raiz para regras KYT. Mesma forma que em Criar entidade.
object
Atributos personalizados como pares chave-valor
object
required
Estrutura de dados específica da empresa (veja abaixo)
string
Data de registro da empresa em formato ISO 8601 datetime (ex: “2024-01-15T10:30:00Z”)
boolean
default:"false"
Marcar esta empresa como cliente/consumidor para fins de rastreamento
string | string[]
Um ou mais UUIDs de matrizes de risco (legacy: um único UUID). Se informados, após a criação o sistema avalia a empresa somente contra regras ativas dessas matrizes (salvo
skipRulesExecution: true). Mesma semântica que riskMatrixIds quando você envia um único id como string. Veja Execução de Matriz de Risco abaixo.string[]
Forma preferida para várias matrizes: lista ordenada de UUIDs da sua organização. Quando presente e não vazia, tem precedência sobre
riskMatrixId.boolean
default:"false"
Pular execução automática de regras após criação da empresa. Use isso para criar a entidade primeiro e acionar as regras manualmente depois.
string
default:"under_review"
Status inicial para a empresa. Opções:
active- Empresa está ativainactive- Empresa está inativanot_started- Análise ainda não iniciada (estado inicial opcional; o padrão continuaunder_review)blocked- Empresa está bloqueadaunder_review- Empresa está em revisão (padrão)pending_verification- Aguardando conclusão de KYC/KYBawaiting_information- Aguardando dados do cliente (p. ex. documentos de onboarding pedidos por e-mail)suspended- Empresa está suspensaexpired- Registro da empresa expiroudeleted- Excluída de forma reversívelrejected- Empresa foi rejeitada
object
Configurar execução automática de enriquecimentos ao criar a empresa.Estrutura:Propriedades:
{
"executeAllActiveEnrichments": false,
"enrichments": [
"ar_nosis_extended_verification_enrichment",
"ar_bcra_deudas_enrichment",
"global_gueno_sanctions_enrichment"
],
"excludeEnrichments": []
}
executeAllActiveEnrichments(boolean) - Executar todas as integrações de enriquecimento ativas configuradas na sua organizaçãoenrichments(string[]) - Array de códigos específicos de provedores de enriquecimento para executar
ValidProviderCodesEnum):ar_nosis_extended_verification_enrichment— enriquecimento NOSIS estendidoar_bcra_deudas_enrichment— dívidas BCRAar_repet_entity_enrichment— REPET / listas (empresa)global_complyadvantage_sanctions_enrichment— ComplyAdvantage sançõesglobal_gueno_sanctions_enrichment— sanções Gu1 (quando configurado)
object
Opcional. Igual a Criar entidade: use
monitoring.main com global_gueno_sanctions_enrichment: true para watchlist quando esse enriquecimento rodar via autoExecuteIntegrations. Somente esse código é suportado hoje. Exige monitoramento habilitado no Marketplace.Monitoramento de sanções Gu1 (empresa)
{
"type": "company",
"externalId": "co_screening_001",
"name": "Tech Solutions S.A.",
"countryCode": "AR",
"taxId": "30-71000001-2",
"entityData": {
"company": {
"legalName": "Tech Solutions S.A.",
"tradeName": "Tech Solutions",
"industry": "Software"
}
},
"monitoring": {
"main": {
"global_gueno_sanctions_enrichment": true
}
},
"autoExecuteIntegrations": {
"executeAllActiveEnrichments": false,
"enrichments": ["global_gueno_sanctions_enrichment"],
}
}
Estrutura de Dados da Entidade Empresa
O objetoentityData.company deve conter:
{
"company": {
"legalName": "string",
"tradeName": "string",
"incorporationDate": "YYYY-MM-DD",
"companySubtype": "merchant | investment_fund | holding | bank | payment_processor | other",
"industry": "string",
"websiteUrl": "string",
"employeeCount": number,
"revenue": number,
"revenueCurrency": "string",
"contactInfo": {
"email": "string",
"phone": "string",
"alternativePhone": "string"
},
"address": "string | object (veja nota sobre Formato de Endereço)",
"city": "string",
"state": "string",
"country": "string",
"postalCode": "string"
}
}
Formato de Endereço: O campo
address suporta ambos os formatos:- Formato string (simples):
"Av. Paulista, 1000, São Paulo, SP, Brazil" - Formato objeto (estruturado):
{ "street": "Av. Paulista", "number": "1000", "complement": "Suite 200", "neighborhood": "Bela Vista", "city": "São Paulo", "state": "SP", "country": "Brazil", "postalCode": "01310-100" }
Execução de Matriz de Risco
Você pode executar automaticamente uma ou mais matrizes de risco (regras de conformidade KYB) ao criar uma empresa fornecendoriskMatrixId ou riskMatrixIds.
Como Funciona
- Obtenha seu(s) ID(s) de Matriz de Risco no painel do gu1 (formato: UUID)
- Inclua
riskMatrixIdouriskMatrixIdsna sua requisição de criação - O sistema automaticamente:
- Cria a entidade empresa
- Executa todas as regras KYB na matriz
- Calcula a pontuação de risco
- Gera alertas de conformidade se necessário
- Atualiza o status da empresa com base nos resultados
Exemplo com Matriz de Risco
{
"type": "company",
"name": "Tech Solutions S.A.",
"taxId": "30-12345678-9",
"countryCode": "AR",
"riskMatrixId": "550e8400-e29b-41d4-a716-446655440000",
"entityData": {
"company": {
"legalName": "Tech Solutions S.A.",
"industry": "fintech",
"revenue": 5000000
}
}
}
Exemplo com várias matrizes de risco
{
"type": "company",
"name": "Tech Solutions S.A.",
"taxId": "30-12345678-9",
"countryCode": "AR",
"riskMatrixIds": [
"550e8400-e29b-41d4-a716-446655440000",
"660e8400-e29b-41d4-a716-446655440001"
],
"entityData": {
"company": {
"legalName": "Tech Solutions S.A.",
"industry": "fintech"
}
}
}
Combinado com Enriquecimentos
{
"type": "company",
"name": "Tech Solutions S.A.",
"taxId": "30-12345678-9",
"countryCode": "AR",
"riskMatrixId": "550e8400-e29b-41d4-a716-446655440000",
"autoExecuteIntegrations": {
"executeAllActiveEnrichments": false,
"enrichments": [
"ar_nosis_extended_verification_enrichment",
"ar_bcra_deudas_enrichment",
"global_gueno_sanctions_enrichment"
]
},
"monitoring": {
"main": {
"global_gueno_sanctions_enrichment": {
"watchlist": true
}
}
},
"entityData": {
"company": {
"legalName": "Tech Solutions S.A.",
"industry": "fintech"
}
}
}
Resposta
boolean
Indica se a empresa foi criada com sucesso
object
O objeto de empresa criado incluindo:
id- ID interno do gu1externalId- Seu ID externoorganizationId- ID da sua organizaçãotype- Sempre “company”name- Nome da empresariskScore- Pontuação de risco inicial (0-100)status- Status da empresaentityData- Dados específicos da empresaattributes- Atributos personalizadoscreatedAt- Timestamp de criaçãoupdatedAt- Timestamp da última atualização
object
Resultado da execução de regras (apenas presente quando as regras foram executadas, ex. quando skipRulesExecution é
false e há matriz de risco configurada), incluindo:- 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). 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.- 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.
Exemplo de Requisição
curl -X POST http://api.gu1.ai/entities \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "company",
"externalId": "company_789",
"name": "Tech Solutions S.A.",
"countryCode": "BR",
"taxId": "12.345.678/0001-90",
"entityData": {
"company": {
"legalName": "Tech Solutions Sociedade Anônima",
"tradeName": "Tech Solutions",
"incorporationDate": "2020-06-15",
"industry": "Software Development",
"employeeCount": 50,
"revenue": 5000000,
"revenueCurrency": "BRL",
"contactInfo": {
"email": "contact@techsolutions.com.br",
"phone": "+55 11 3456-7890"
},
"address": "Av. Paulista, 1000",
"city": "São Paulo",
"state": "SP",
"country": "Brazil",
"postalCode": "01310-100"
}
},
"attributes": {
"website": "https://techsolutions.com.br",
"partnershipTier": "gold"
}
}'
const response = await fetch('http://api.gu1.ai/entities', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
type: 'company',
externalId: 'company_789',
name: 'Tech Solutions S.A.',
countryCode: 'BR',
taxId: '12.345.678/0001-90',
entityData: {
company: {
legalName: 'Tech Solutions Sociedade Anônima',
tradeName: 'Tech Solutions',
incorporationDate: '2020-06-15',
industry: 'Software Development',
employeeCount: 50,
revenue: 5000000,
revenueCurrency: 'BRL',
contactInfo: {
email: 'contact@techsolutions.com.br',
phone: '+55 11 3456-7890'
},
address: 'Av. Paulista, 1000',
city: 'São Paulo',
state: 'SP',
country: 'Brazil',
postalCode: '01310-100'
}
},
attributes: {
website: 'https://techsolutions.com.br',
partnershipTier: 'gold'
}
})
});
const data = await response.json();
console.log(data.entity);
import requests
response = requests.post(
'http://api.gu1.ai/entities',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'type': 'company',
'externalId': 'company_789',
'name': 'Tech Solutions S.A.',
'countryCode': 'BR',
'taxId': '12.345.678/0001-90',
'entityData': {
'company': {
'legalName': 'Tech Solutions Sociedade Anônima',
'tradeName': 'Tech Solutions',
'incorporationDate': '2020-06-15',
'industry': 'Software Development',
'employeeCount': 50,
'revenue': 5000000,
'revenueCurrency': 'BRL',
'contactInfo': {
'email': 'contact@techsolutions.com.br',
'phone': '+55 11 3456-7890'
},
'address': 'Av. Paulista, 1000',
'city': 'São Paulo',
'state': 'SP',
'country': 'Brazil',
'postalCode': '01310-100'
}
},
'attributes': {
'website': 'https://techsolutions.com.br',
'partnershipTier': 'gold'
}
}
)
entity = response.json()['entity']
print(entity)
Exemplo de Resposta
{
"success": true,
"entity": {
"id": "660e9511-f39c-52e5-b827-557766551111",
"externalId": "company_789",
"organizationId": "8e2f89ab-c216-4eb4-90eb-ca5d44499aaa",
"type": "company",
"name": "Tech Solutions S.A.",
"taxId": "12.345.678/0001-90",
"countryCode": "BR",
"riskScore": 35,
"status": "active",
"entityData": {
"company": {
"legalName": "Tech Solutions Sociedade Anônima",
"tradeName": "Tech Solutions",
"incorporationDate": "2020-06-15",
"industry": "Software Development",
"employeeCount": 50,
"revenue": 5000000,
"revenueCurrency": "BRL"
}
},
"attributes": {
"website": "https://techsolutions.com.br",
"partnershipTier": "gold"
},
"createdAt": "2024-10-03T15:00:00.000Z",
"updatedAt": "2024-10-03T15:00:00.000Z"
}
}
Respostas de Erro
400 Bad Request - Tax ID Inválido
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid CNPJ format. Please check the format and try again.",
"details": {
"field": "taxId",
"taxIdName": "CNPJ",
"providedValue": "12.345.678/0001-90"
}
},
"entity": null
}
400 Bad Request - Campos Obrigatórios Ausentes
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Missing required fields for company creation",
"details": {
"missingFields": ["legalName", "industry"],
"requiredFields": ["legalName", "tradeName", "industry", "incorporationDate"],
"countryCode": "BR"
}
},
"entity": null
}
409 Conflict - Entidade Duplicada
{
"success": false,
"error": {
"code": "DUPLICATE_ENTITY",
"message": "Entity with this external_id already exists",
"details": {
"field": "external_id",
"value": "company_789",
"constraint": "entities_organization_external_id_unique"
}
},
"entity": null
}
401 Unauthorized
{
"error": "Invalid or missing API key",
"code": "INVALID_KEY"
}
Próximos Passos
Após criar uma empresa, você pode:- Obter Detalhes da Empresa - Recuperar informações completas da empresa
- Listar Empresas - Consultar suas empresas
- Atualizar Empresa - Modificar dados da empresa
- Criar Validação KYB - Iniciar processo de verificação KYB
Was this page helpful?