Documentação da API

Integre pagamentos em criptomoedas em sua aplicação de forma simples e segura

Versão: 1.0

Introdução

A API ApiCrypto permite que você aceite pagamentos em criptomoedas de forma simples e segura. Nossa API é pública e não requer autenticação, facilitando a integração.

Sem necessidade de autenticação ou tokens
Suporte para múltiplas criptomoedas e redes
Webhooks para notificações em tempo real
Transferência automática após confirmações
URL Base: https://api.apicrypto.me/v1/

Autenticação

A API ApiCrypto é pública e não requer autenticação. Você pode fazer requisições diretamente para nossos endpoints sem necessidade de API keys ou tokens.

Importante: Embora não seja necessária autenticação, todas as requisições são monitoradas e sujeitas a rate limiting por IP.

Endpoints Disponíveis

Método Endpoint Descrição
POST /transaction/create Criar nova transação de pagamento
GET /transaction/status/{id} Verificar status de uma transação
GET /supported/currencies Listar moedas suportadas
GET /network/status Verificar status das redes

Criar Transação

Cria uma nova transação de pagamento e retorna o endereço para onde o cliente deve enviar as criptomoedas.

POST /transaction/create

Parâmetros

Parâmetro Tipo Obrigatório Descrição
wallet_address string Sim Endereço da carteira que receberá os fundos
amount decimal Sim Valor a ser pago (em cripto ou fiat se convert=1)
currency string Sim Moeda (ETH, BNB, MATIC, USDT, USDC)
network string Sim Rede blockchain (ethereum, bsc, polygon)
webhook_url string Não URL para receber notificações
convert integer Não Habilitar conversão de fiat para cripto (1 para habilitar)
fiat_currency string Não Moeda fiat para conversão (USD, BRL, EUR)

Exemplo de Requisição

curl -X POST https://api.apicrypto.me/v1/transaction/create \
  -H "Content-Type: application/json" \
  -d '{
    "wallet_address": "0x742d35Cc6634C0532925a3b844Bc9e7595f6E123",
    "amount": 0.1,
    "currency": "ETH",
    "network": "ethereum",
    "webhook_url": "https://meusite.com/webhook/payment"
  }'

Resposta de Sucesso

{
  "success": true,
  "data": {
    "transaction_id": "TRX1A2B3C4D5E6F7G8H",
    "payment_address": "0x9876543210abcdef1234567890abcdef12345678",
    "amount": 0.1,
    "currency": "ETH",
    "network": "ethereum",
    "expires_at": "2024-01-20 15:30:00",
    "status": "pending",
    "qr_code": "data:image/png;base64,..."
  }
}

Verificar Status

Verifica o status de uma transação específica.

GET /transaction/status/{id}

Parâmetros de Rota

Parâmetro Tipo Descrição
id string ID da Transação

Exemplo de Requisição

curl https://api.apicrypto.me/v1/transaction/status/TRX1A2B3C4D5E6F7G8H

Resposta de Sucesso

{
  "success": true,
  "data": {
    "transaction_id": "TRX1A2B3C4D5E6F7G8H",
    "status": "completed",
    "confirmations": 12,
    "tx_hash": "0x123abc...",
    "created_at": "2024-01-20 15:00:00",
    "completed_at": "2024-01-20 15:15:00"
  }
}

Webhooks

Receba notificações em tempo real quando o status de uma transação mudar.

Eventos do Webhook

  • transaction.pending - Transação criada e aguardando pagamento
  • transaction.confirmed - Pagamento recebido e confirmado
  • transaction.completed - Transação processada e fundos transferidos
  • transaction.failed - Transação falhou ou expirou

Exemplo de Payload

{
  "event": "transaction.completed",
  "data": {
    "transaction_id": "TRX1A2B3C4D5E6F7G8H",
    "status": "completed",
    "amount": 0.1,
    "currency": "ETH",
    "network": "ethereum",
    "tx_hash": "0x123abc...",
    "confirmations": 12
  },
  "timestamp": "2024-01-20T15:15:00Z"
}

Erros

A API retorna erros padronizados em formato JSON.

Códigos de Erro

Código Descrição
400 Bad Request - Parâmetros inválidos
404 Not Found - Recurso não encontrado
429 Too Many Requests - Limite de taxa excedido
500 Internal Server Error - Erro do servidor

Exemplo de Resposta de Erro

{
  "success": false,
  "error": {
    "code": "INVALID_PARAMETERS",
    "message": "O campo 'amount' deve ser maior que zero",
    "field": "amount"
  }
}

Exemplos de Integração

PHP

<?php
// Criar transação
$data = [
    'wallet_address' => '0x742d35Cc6634C0532925a3b844Bc9e7595f6E123',
    'amount' => 0.1,
    'currency' => 'ETH',
    'network' => 'ethereum',
    'webhook_url' => 'https://meusite.com/webhook'
];

$ch = curl_init('https://api.apicrypto.me/v1/transaction/create');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);

$response = curl_exec($ch);
$result = json_decode($response, true);

if ($result['success']) {
    echo "Enviar {$result['data']['amount']} {$result['data']['currency']} para:";
    echo $result['data']['payment_address'];
}

Rate Limits

Para garantir a qualidade do serviço, aplicamos limites de taxa por IP:

60 requisições

Por minuto

50,000 requisições

Por dia

Se você exceder os limites, receberá um erro 429 Too Many Requests. Aguarde antes de fazer novas requisições.

Precisa de Ajuda?

Se você tem dúvidas ou precisa de suporte:

Processando...