Endpoint
Autenticação
Este endpoint requer autenticação usando Basic Auth. Concatene sua chave secreta e pública no formato sk_xxxx:pk_yyyy e codifique em Base64.
Authorization: Basic c2tfeHh4eDpwa195eXl5
Response
{
"success": true,
"data": {
"id": 123,
"name": "Empresa Exemplo S/A",
"tradingName": "Empresa Exemplo",
"document": {
"type": "cnpj",
"number": "12345678000199"
},
"status": "active",
"createdAt": "2022-05-10T14:30:45Z",
"paymentMethods": {
"credit_card": true,
"pix": true,
"boleto": false
},
"limits": {
"transactionMaxAmount": 5000000,
"transactionMinAmount": 100
},
"configuration": {
"webhook": {
"url": "https://seusite.com.br/webhook",
"events": ["transaction.approved", "transaction.refused"]
},
"notificationEmail": "[email protected]",
"autoCapture": true,
"antifraudEnabled": true
},
"settlement": {
"bank": {
"code": "341",
"branch": "3244",
"account": "12345-6"
},
"schedule": "D+1",
"automaticTransfer": true
}
}
}
Campos da Resposta
| Campo | Tipo | Descrição |
|---|
| id | integer | ID único da empresa no HYDRA HUB |
| name | string | Razão social da empresa |
| tradingName | string | Nome fantasia da empresa |
| document.type | string | Tipo de documento (cnpj ou cpf) |
| document.number | string | Número do documento |
| status | string | Status da empresa no sistema |
| createdAt | string | Data de criação da conta |
| paymentMethods | object | Métodos de pagamento habilitados |
| limits | object | Limites operacionais para transações |
| configuration | object | Configurações gerais da conta |
| settlement | object | Configurações de liquidação financeira |
Detalhes dos Campos
Status da Empresa
O campo status pode ter os seguintes valores:
- active: Empresa ativa e operacional
- pending: Processo de integração em andamento
- suspended: Operações temporariamente suspensas
- inactive: Conta inativa
Métodos de Pagamento
O objeto paymentMethods indica quais métodos de pagamento estão habilitados para sua empresa:
"paymentMethods": {
"credit_card": true,
"pix": true,
"boleto": false
}
Para solicitar a ativação de novos métodos de pagamento, entre em contato com nosso suporte.
Limites Operacionais
O objeto limits contém informações sobre os limites de transação:
"limits": {
"transactionMaxAmount": 5000000, // R$ 50.000,00
"transactionMinAmount": 100 // R$ 1,00
}
Os valores são expressos em centavos. Transações com valores fora desses limites serão recusadas automaticamente.
Configuração de Webhooks
O objeto configuration.webhook contém a URL para notificações e os eventos configurados:
"webhook": {
"url": "https://seusite.com.br/webhook",
"events": ["transaction.approved", "transaction.refused"]
}
Os eventos possíveis são:
- transaction.approved: Transação aprovada
- transaction.refused: Transação recusada
- transaction.refunded: Transação estornada
- transaction.chargedback: Transação com chargeback
- transaction.canceled: Transação cancelada
Configuração de Liquidação
O objeto settlement contém informações sobre como os valores são liquidados para sua empresa:
"settlement": {
"bank": {
"code": "341",
"branch": "3244",
"account": "12345-6"
},
"schedule": "D+1",
"automaticTransfer": true
}
- schedule: Prazo de liquidação (D+1, D+2, D+30, etc.)
- automaticTransfer: Se a transferência é automática ou manual
Casos de Uso
Verificar Configuração
É recomendável verificar periodicamente as configurações da sua empresa para garantir que tudo está correto:
async function checkCompanySettings() {
try {
const response = await fetch('https://api.hydrahub.com.br/api/v1/company', {
headers: {
'Authorization': 'Basic ' + btoa('sk_xxxx:pk_yyyy')
}
});
const data = await response.json();
if (!data.success) {
console.error('Erro ao obter informações da empresa');
return null;
}
// Verificar se webhook está configurado corretamente
if (!data.data.configuration.webhook.url) {
console.warn('Webhook não configurado. Notificações não serão recebidas.');
}
// Verificar se PIX está habilitado
if (!data.data.paymentMethods.pix) {
console.warn('Método PIX não habilitado para esta empresa.');
}
return data.data;
} catch (error) {
console.error('Erro na requisição:', error);
return null;
}
}
Verificar Limites de Transação
Consulte os limites antes de processar transações de alto valor:
async function checkTransactionLimits(amount) {
const companyInfo = await checkCompanySettings();
if (!companyInfo) return false;
if (amount < companyInfo.limits.transactionMinAmount) {
console.error(`Valor mínimo permitido: R$ ${companyInfo.limits.transactionMinAmount / 100}`);
return false;
}
if (amount > companyInfo.limits.transactionMaxAmount) {
console.error(`Valor máximo permitido: R$ ${companyInfo.limits.transactionMaxAmount / 100}`);
return false;
}
return true;
}
Boas Práticas
- Verifique periodicamente as configurações da sua empresa
- Configure um webhook global para receber notificações de transações
- Mantenha os dados bancários atualizados para evitar problemas na liquidação
- Fique atento aos limites de valor mínimo e máximo por transação
- Verifique regularmente quais métodos de pagamento estão habilitados
Alterações em dados bancários, razão social ou documentos podem exigir verificação adicional e podem levar até 2 dias úteis para serem processadas.