Visão Geral
Recupera os detalhes completos de uma empresa, incluindo status de avaliação e avaliação de risco. É possível consultar uma empresa de três formas:
| Método | Endpoint | Quando usar |
|---|
| Por ID | GET /entities/{id} | Você tem o UUID interno da entidade no gu1 |
| Por external ID | GET /entities/by-external-id/{externalId} | Você usa seu próprio identificador (ex.: business_456) |
| Por tax ID | GET /entities/by-tax-id/{taxId} | Você tem o CNPJ/CUIT e quer buscar a empresa |
Os três retornam o mesmo objeto. O escopo da organização é aplicado conforme sua API key.
Endpoints
Obter por ID
GET http://api.gu1.ai/entities/{id}
ID único (UUID) do gu1 da empresa a recuperar
Obter por external ID
GET http://api.gu1.ai/entities/by-external-id/{externalId}
Seu identificador externo desta empresa (o valor enviado ao criar a entidade)
Obter por tax ID
GET http://api.gu1.ai/entities/by-tax-id/{taxId}
Número de identificação fiscal (CNPJ, CUIT, etc.). Deve coincidir com o tax ID armazenado da entidade na sua organização.
Autenticação
Requer uma chave de API válida no cabeçalho Authorization:
Authorization: Bearer YOUR_API_KEY
Resposta
Retorna o objeto completo da empresa com os seguintes campos:
ID de entidade interno do gu1
Seu identificador externo para esta empresa
Nome de exibição da empresa
Número de identificação fiscal
Código de país ISO 3166-1 alpha-2
Pontuação de risco calculada de 0 (baixo risco) a 100 (alto risco)
Array de fatores de risco identificados que contribuem para a pontuação de risco
Status da empresa: active, inactive, under_review, approved, rejected, suspended
Se a verificação KYB foi concluída
Nome do provedor KYB usado (se aplicável)
Dados de verificação KYB do provedor
Estrutura de dados específica da empresa
Atributos personalizados como pares chave-valor
Últimos resultados de avaliação de IA (null se não houver avaliação)
id - ID da avaliação
entityId - ID da entidade
evaluationType - Tipo de avaliação realizada
result - Resultado da avaliação
confidence - Pontuação de confiança (0-1)
evaluatedAt - Timestamp da avaliação
Timestamp ISO 8601 de criação da empresa
Timestamp ISO 8601 da última atualização
Timestamp ISO 8601 de exclusão reversível (null se não excluído)
Exemplos
Por ID (UUID)
curl -X GET http://api.gu1.ai/entities/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer YOUR_API_KEY"
Por external ID
curl -X GET "http://api.gu1.ai/entities/by-external-id/business_456" \
-H "Authorization: Bearer YOUR_API_KEY"
Por tax ID
curl -X GET "http://api.gu1.ai/entities/by-tax-id/30-71234567-8" \
-H "Authorization: Bearer YOUR_API_KEY"
Exemplo de Resposta
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "business_12345",
"organizationId": "8e2f89ab-c216-4eb4-90eb-ca5d44499aaa",
"type": "company",
"name": "María González",
"taxId": "20-12345678-9",
"countryCode": "AR",
"riskScore": 25,
"riskFactors": [
{
"factor": "new_business",
"impact": 15,
"description": "Business registered within last 30 days"
},
{
"factor": "high_income_occupation",
"impact": -10,
"description": "Professional occupation with verified income"
}
],
"status": "active",
"kycVerified": true,
"kycProvider": "gueno_ai",
"kycData": {
"verificationDate": "2024-10-03T14:30:00Z",
"documentsVerified": ["national_id", "proof_of_address"],
"livenessCheck": "passed",
"overallStatus": "approved"
},
"entityData": {
"company": {
"firstName": "María",
"lastName": "González",
"dateOfBirth": "1985-03-15",
"nationality": "AR",
"occupation": "Software Engineer",
"income": 85000
}
},
"attributes": {
"email": "maria.gonzalez@example.com",
"phone": "+54 11 1234-5678",
"businessSince": "2024-01-15",
"accountTier": "premium"
},
"currentEvaluation": {
"id": "eval_abc123",
"entityId": "550e8400-e29b-41d4-a716-446655440000",
"evaluationType": "risk_assessment",
"result": {
"overallRisk": "low",
"amlRisk": "low",
"fraudRisk": "low",
"complianceScore": 95,
"recommendation": "approve"
},
"confidence": 0.92,
"evaluatedAt": "2024-10-03T14:35:00Z"
},
"createdAt": "2024-10-03T14:30:00.000Z",
"updatedAt": "2024-10-03T14:35:00.000Z",
"deletedAt": null
}
Respostas de Erro
404 Not Found
{
"error": "Entity not found"
}
401 Unauthorized
{
"error": "Invalid or missing API key"
}
500 Internal Server Error
{
"error": "Failed to fetch entity"
}
Casos de Uso
Verificação de Verificação KYB
Recupere uma empresa para verificar seu status KYB antes de aprovar uma transação:
const company = await fetch(`http://api.gu1.ai/entities/${businessId}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
}).then(res => res.json());
if (company.kycVerified && company.status === 'active') {
// Prosseguir com a transação
console.log('Business verified, risk score:', company.riskScore);
} else {
// Solicitar verificação adicional
console.log('KYB verification required');
}
Monitoramento de Pontuação de Risco
Verifique a pontuação de risco atual e fatores para monitoramento contínuo:
company = requests.get(
f'http://api.gu1.ai/entities/{company_id}',
headers={'Authorization': 'Bearer YOUR_API_KEY'}
).json()
if company['riskScore'] > 70:
# Alto risco - acionar due diligence aprimorado
print(f"High risk company detected: {company['riskScore']}")
print("Risk factors:", company['riskFactors'])
elif company['riskScore'] > 40:
# Risco médio - aplicar monitoramento adicional
print(f"Medium risk company: {company['riskScore']}")
Próximos Passos