Skip to main content

Endpoint

GET /api/v1/company

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

CampoTipoDescrição
idintegerID único da empresa no HYDRA HUB
namestringRazão social da empresa
tradingNamestringNome fantasia da empresa
document.typestringTipo de documento (cnpj ou cpf)
document.numberstringNúmero do documento
statusstringStatus da empresa no sistema
createdAtstringData de criação da conta
paymentMethodsobjectMétodos de pagamento habilitados
limitsobjectLimites operacionais para transações
configurationobjectConfigurações gerais da conta
settlementobjectConfiguraçõ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

  1. Verifique periodicamente as configurações da sua empresa
  2. Configure um webhook global para receber notificações de transações
  3. Mantenha os dados bancários atualizados para evitar problemas na liquidação
  4. Fique atento aos limites de valor mínimo e máximo por transação
  5. 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.