Atlas API
Integre pagamentos PIX na sua aplicacao em minutos.
https://api.atlasdao.info/api/v1Introducao
A Atlas API permite que voce integre pagamentos PIX diretamente na sua aplicacao. Crie transacoes, links de pagamento, receba webhooks e consulte estatisticas.
Base URL
Todas as requisicoes devem ser feitas para:
https://api.atlasdao.info/api/v1Versionamento
A API e versionada via URL (/api/v1). Mudancas que quebram compatibilidade resultarao em uma nova versao.
Documentacao para LLMs
Esta documentacao tambem esta disponivel em formato plain-text otimizado para LLMs e agentes de IA em /devs/llms.md.
Autenticacao
Todas as requisicoes (exceto health check) precisam de autenticacao via API Key.
Inclua sua API Key no header X-API-Key de cada requisicao:
curl https://api.atlasdao.info/api/v1/external/profile \
-H "X-API-Key: atlas_sua_chave_aqui"Como obter sua API Key:
- Crie uma conta no painel Atlas
- Ative o Modo Comercio em Configuracoes
- Acesse Configuracoes > API e gere sua chave
Seguranca
Nunca exponha sua API Key em codigo frontend ou repositorios publicos. Use variaveis de ambiente no servidor.
Inicio Rapido
Crie seu primeiro pagamento PIX em 3 passos.
1. Obtenha sua API Key
Crie uma conta, ative o modo comercio e gere uma API Key em Configuracoes > API.
2. Crie uma transacao PIX
curl -X POST https://api.atlasdao.info/api/v1/external/pix/create \
-H "X-API-Key: SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 99.90,
"description": "Pagamento pedido #123",
"depixAddress": "lq1qq...",
"merchantOrderId": "ORD-2025-12345",
"webhook": {
"url": "https://meusite.com/webhook",
"events": ["transaction.paid", "transaction.failed"],
"secret": "minha-chave-secreta-min-16-chars"
}
}'3. Exiba o QR Code ao cliente
A resposta inclui qrCode (copia-e-cola) e qrCodeImage (base64 PNG). Mostre ao cliente para pagamento.
Webhook opcional
Configure um webhook no campo webhook para receber notificacao automatica quando o pagamento for confirmado.
Limites e Taxas
Rate limits e taxas da API Atlas.
Rate Limits
- Por minuto
100 requisicoes - Por dia
10.000 requisicoes
Exceder o limite retorna status 429.
Taxas
- Taxa por PIX recebido
R$ 0,99 - Links de pagamento
Gratis - API Key
Gratis
Settlement
Pagamentos sao liquidados em D+0 (instantaneo) ou D+1, dependendo do plano. O campo settlement no webhook indica o tipo.
https://api.atlasdao.info/api/v1/external/healthPublicoVerifica se a API esta online e funcionando. Este endpoint e publico e nao requer autenticacao.
Exemplo
curl https://api.atlasdao.info/api/v1/external/healthResposta
{
"status": "ok",
"timestamp": "2025-01-15T10:30:00.000Z",
"version": "1.0.0",
"service": "Atlas External API"
}Codigos de status
200API esta online e funcionandohttps://api.atlasdao.info/api/v1/external/profileRetorna as informacoes do usuario autenticado pela API Key.
Exemplo
curl https://api.atlasdao.info/api/v1/external/profile \
-H "X-API-Key: SUA_API_KEY"Resposta
{
"id": "usr_abc123",
"username": "minha_loja",
"email": "contato@minhaloja.com",
"commerceMode": true,
"paymentLinksEnabled": true,
"isAccountValidated": true,
"createdAt": "2025-01-01T00:00:00.000Z"
}Codigos de status
200Perfil retornado com sucesso401API Key invalida ou ausentePIX
Endpoints para criar, consultar e gerenciar transacoes PIX.
https://api.atlasdao.info/api/v1/external/pix/createCria uma nova transacao PIX com QR Code para pagamento. Opcionalmente, configure um webhook para receber notificacoes sobre o status da transacao.
Body (JSON)
| Parametro | Tipo | Descricao |
|---|---|---|
amount | number | Valor da transacao em BRL (minimo: 0.01) |
depixAddress | string | Endereco da wallet DEPIX para receber os fundos |
description | string | Descricao da transacao (max 200 caracteres) |
taxNumber | string | CPF/CNPJ do pagador. Obrigatorio para valores >= R$ 3.000 |
merchantOrderId | string | ID do pedido no seu sistema (max 100 caracteres) |
metadata | object | Metadados adicionais para armazenar com a transacao |
webhook | WebhookConfig | Configuracao do webhook (ver secao Webhooks) |
Exemplo
curl -X POST https://api.atlasdao.info/api/v1/external/pix/create \
-H "X-API-Key: SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 99.90,
"description": "Pagamento pedido #123",
"depixAddress": "lq1qq...",
"merchantOrderId": "ORD-2025-12345",
"webhook": {
"url": "https://meusite.com/webhook",
"events": ["transaction.paid", "transaction.failed"],
"secret": "minha-chave-secreta-min-16-chars"
}
}'Resposta
{
"id": "txn_abc123def456",
"status": "PENDING",
"amount": 99.9,
"description": "Pagamento pedido #123",
"merchantOrderId": "ORD-2025-12345",
"qrCode": "00020126580014br.gov.bcb.pix0136...",
"qrCodeImage": "data:image/png;base64,...",
"createdAt": "2025-01-15T10:30:00.000Z",
"expiresAt": "2025-01-15T11:00:00.000Z",
"webhook": {
"id": "wh_xyz789",
"url": "https://meusite.com/webhook",
"events": [
"transaction.paid"
],
"secretHint": "minh"
}
}Codigos de status
201Transacao criada com sucesso400Dados invalidos (amount <= 0, taxNumber ausente para >= R$3000)401API Key invalida ou ausente403Permissao negada - verifique as permissoes da API Keyhttps://api.atlasdao.info/api/v1/external/pix/status/:idConsulta o status atual de uma transacao PIX pelo seu ID.
Parametros de path
| Parametro | Tipo | Descricao |
|---|---|---|
id | string | ID da transacao |
Exemplo
curl https://api.atlasdao.info/api/v1/external/pix/status/txn_abc123def456 \
-H "X-API-Key: SUA_API_KEY"Resposta
{
"id": "txn_abc123def456",
"status": "COMPLETED",
"type": "DEPOSIT",
"amount": 99.9,
"description": "Pagamento pedido #123",
"processedAt": "2025-01-15T10:35:00.000Z",
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": "2025-01-15T10:35:00.000Z",
"merchantOrderId": "ORD-2025-12345",
"expiresAt": "2025-01-15T11:00:00.000Z",
"metadata": {
"source": "EXTERNAL_API",
"merchantOrderId": "ORD-2025-12345"
}
}Codigos de status
200Detalhes da transacao retornados401API Key invalida ou ausente404Transacao nao encontradahttps://api.atlasdao.info/api/v1/external/pix/transactionsLista todas as transacoes PIX do usuario com filtros e paginacao.
Parametros de query
| Parametro | Tipo | Descricao |
|---|---|---|
status | string | Filtrar por status (PENDING, COMPLETED, FAILED, EXPIRED, CANCELLED) |
type | string | Filtrar por tipo de transacao |
startDate | string | Data inicial (ISO 8601) |
endDate | string | Data final (ISO 8601) |
merchantOrderId | string | Filtrar por ID do pedido |
page | number | Numero da pagina (padrao: 1) |
limit | number | Itens por pagina (padrao: 20, max: 100) |
Exemplo
curl "https://api.atlasdao.info/api/v1/external/pix/transactions?status=COMPLETED&page=1&limit=20" \
-H "X-API-Key: SUA_API_KEY"Resposta
{
"data": [
{
"id": "txn_abc123",
"status": "COMPLETED",
"type": "DEPOSIT",
"amount": 99.9,
"description": "Pagamento pedido #123",
"pixKey": "lq1qq...",
"processedAt": "2025-01-15T10:35:00.000Z",
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": "2025-01-15T10:35:00.000Z",
"merchantOrderId": "ORD-2025-12345",
"expiresAt": "2025-01-15T11:00:00.000Z",
"metadata": {
"source": "EXTERNAL_API",
"merchantOrderId": "ORD-2025-12345"
}
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 45,
"totalPages": 3
}
}Codigos de status
200Lista de transacoes retornada401API Key invalida ou ausentehttps://api.atlasdao.info/api/v1/external/pix/cancel/:idCancela uma transacao PIX pendente. Somente transacoes com status PENDING podem ser canceladas.
Parametros de path
| Parametro | Tipo | Descricao |
|---|---|---|
id | string | ID da transacao a cancelar |
Exemplo
curl -X DELETE https://api.atlasdao.info/api/v1/external/pix/cancel/txn_abc123def456 \
-H "X-API-Key: SUA_API_KEY"Resposta
{
"id": "txn_abc123def456",
"status": "CANCELLED",
"message": "Transaction cancelled successfully"
}Codigos de status
200Transacao cancelada com sucesso401API Key invalida ou ausente404Transacao nao encontrada ou ja processadaLinks de Pagamento
Crie links compartilhaveis para receber pagamentos PIX com valor fixo ou livre.
https://api.atlasdao.info/api/v1/external/payment-linksCria um novo link de pagamento. Links podem ter valor fixo ou permitir que o cliente escolha o valor (dentro de um range opcional).
Body (JSON)
| Parametro | Tipo | Descricao |
|---|---|---|
title | string | Titulo do link (validado pelo servidor) |
description | string | Descricao do link (exibida na resposta) |
amount | number | Valor fixo em BRL (obrigatorio se isCustomAmount = false) |
isCustomAmount | boolean | Se true, permite valor livre (padrao: false) |
minAmount | number | Valor minimo para links com valor livre |
maxAmount | number | Valor maximo para links com valor livre |
walletAddress | string | Endereco da wallet para recebimento (ou depixAddress) |
Exemplo
curl -X POST https://api.atlasdao.info/api/v1/external/payment-links \
-H "X-API-Key: SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Produto Exemplo",
"description": "Descricao do produto",
"amount": 99.90,
"walletAddress": "lq1qq..."
}'Resposta
{
"id": "0c95a1a8-3be9-4f15-a8c5-0320ecbdc376",
"shortCode": "8v6ZOWBH",
"amount": 99.9,
"isCustomAmount": false,
"minAmount": null,
"maxAmount": null,
"description": "Descricao do produto",
"isActive": true,
"expiresAt": null,
"createdAt": "2025-01-15T10:30:00.000Z",
"paymentUrl": "https://painel.atlasdao.info/pay/8v6ZOWBH"
}Codigos de status
201Link criado com sucesso400Dados invalidos (titulo ausente, amount invalido)401API Key invalida ou ausente403Links de pagamento nao habilitados para este usuariohttps://api.atlasdao.info/api/v1/external/payment-linksLista todos os links de pagamento do usuario com filtros e paginacao.
Parametros de query
| Parametro | Tipo | Descricao |
|---|---|---|
isActive | boolean | Filtrar por status ativo/inativo |
page | number | Numero da pagina (padrao: 1) |
limit | number | Itens por pagina (padrao: 20, max: 100) |
Exemplo
curl "https://api.atlasdao.info/api/v1/external/payment-links?isActive=true&page=1&limit=20" \
-H "X-API-Key: SUA_API_KEY"Resposta
{
"data": [
{
"id": "0c95a1a8-3be9-4f15-a8c5-0320ecbdc376",
"shortCode": "8v6ZOWBH",
"description": "Descricao do produto",
"amount": 99.9,
"isCustomAmount": false,
"minAmount": null,
"maxAmount": null,
"totalPayments": 12,
"totalAmount": 1198.8,
"isActive": true,
"expiresAt": null,
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": "2025-01-15T10:30:00.000Z",
"currentUses": 12,
"paymentUrl": "https://painel.atlasdao.info/pay/8v6ZOWBH"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 5,
"totalPages": 1
}
}Codigos de status
200Lista de links retornada401API Key invalida ou ausentehttps://api.atlasdao.info/api/v1/external/payment-links/:idRetorna os detalhes completos de um link de pagamento especifico.
Parametros de path
| Parametro | Tipo | Descricao |
|---|---|---|
id | string | ID do link de pagamento |
Exemplo
curl https://api.atlasdao.info/api/v1/external/payment-links/0c95a1a8-3be9-4f15-a8c5-0320ecbdc376 \
-H "X-API-Key: SUA_API_KEY"Resposta
{
"id": "0c95a1a8-3be9-4f15-a8c5-0320ecbdc376",
"shortCode": "8v6ZOWBH",
"description": "Descricao do produto",
"amount": 99.9,
"isCustomAmount": false,
"minAmount": null,
"maxAmount": null,
"currentUses": 12,
"totalAmount": 1198.8,
"isActive": true,
"expiresAt": null,
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": "2025-01-15T10:30:00.000Z",
"paymentUrl": "https://painel.atlasdao.info/pay/8v6ZOWBH"
}Codigos de status
200Detalhes do link retornados401API Key invalida ou ausente404Link nao encontradohttps://api.atlasdao.info/api/v1/external/stats/usageRetorna estatisticas de uso da API do usuario para um periodo especificado.
Parametros de query
| Parametro | Tipo | Descricao |
|---|---|---|
days | number | Numero de dias para incluir (padrao: 30, max: 90) |
Exemplo
curl "https://api.atlasdao.info/api/v1/external/stats/usage?days=30" \
-H "X-API-Key: SUA_API_KEY"Resposta
{
"period": {
"start": "2025-01-01T00:00:00.000Z",
"end": "2025-01-31T23:59:59.000Z",
"days": 30
},
"summary": {
"totalRequests": 1240,
"successfulRequests": 1235,
"errorRate": "0.40%",
"transactionsCreated": 156,
"paymentLinksCreated": 12
},
"dailyUsage": {
"2025-01-29": 45,
"2025-01-30": 52,
"2025-01-31": 38
},
"limits": {
"requestsPerMinute": 100,
"requestsPerDay": 10000,
"usageType": "MULTIPLE_CPF"
}
}Codigos de status
200Estatisticas retornadas com sucesso401API Key invalida ou ausenteWebhooks
Receba notificacoes em tempo real sobre eventos de suas transacoes.
Configuracao
Webhooks sao configurados inline ao criar uma transacao PIX, no campo webhook do POST /external/pix/create.
Campos do webhook
url | Obrigatorio | URL que recebera as notificacoes (HTTPS em producao) |
events | Obrigatorio | Array de eventos para assinar |
secret | Opcional | Secret para assinatura HMAC (min 16 chars). Se omitido, um e gerado automaticamente |
headers | Opcional | Headers customizados para enviar junto com o webhook |
Eventos Disponiveis
Cada evento dispara um POST para a URL configurada com o payload correspondente.
transaction.createdDisparado quando uma transacao PIX e criada e o QR Code esta disponivel para pagamento.
{
"event": "transaction.created",
"data": {
"transactionId": "txn_abc123def456",
"status": "PENDING",
"amount": 99.9,
"merchantOrderId": "ORD-2025-12345",
"qrCode": "00020126580014br.gov.bcb.pix0136...",
"createdAt": "2025-01-15T10:30:00.000Z",
"expiresAt": "2025-01-15T11:00:00.000Z"
},
"timestamp": "2025-01-15T10:30:01.000Z",
"webhookId": "wh_xyz789"
}transaction.paidDisparado quando o pagamento PIX e confirmado. Inclui informacoes de settlement (D+0 ou D+1).
{
"event": "transaction.paid",
"data": {
"transactionId": "txn_abc123def456",
"status": "COMPLETED",
"amount": 99.9,
"merchantOrderId": "ORD-2025-12345",
"paidAt": "2025-01-15T10:35:00.000Z",
"payerInfo": {
"name": "Joao Silva",
"taxNumber": "***456789**"
},
"settlement": {
"type": "instant",
"scheduledAt": null
},
"metadata": null
},
"timestamp": "2025-01-15T10:35:01.000Z",
"webhookId": "wh_xyz789"
}transaction.failedDisparado quando o processamento de uma transacao falha.
{
"event": "transaction.failed",
"data": {
"transactionId": "txn_abc123def456",
"status": "FAILED",
"failedAt": "2025-01-15T10:40:00.000Z",
"reason": "Transaction processing failed",
"metadata": null
},
"timestamp": "2025-01-15T10:40:01.000Z",
"webhookId": "wh_xyz789"
}transaction.expiredDisparado quando o QR Code PIX expira sem ser pago (geralmente 30 minutos).
{
"event": "transaction.expired",
"data": {
"transactionId": "txn_abc123def456",
"status": "EXPIRED",
"expiredAt": "2025-01-15T11:00:00.000Z",
"amount": 99.9,
"merchantOrderId": "ORD-2025-12345"
},
"timestamp": "2025-01-15T11:00:01.000Z",
"webhookId": "wh_xyz789"
}transaction.refundedDisparado quando uma transacao e reembolsada ao pagador.
{
"event": "transaction.refunded",
"data": {
"transactionId": "txn_abc123def456",
"status": "REFUNDED",
"refundedAt": "2025-01-16T14:00:00.000Z",
"amount": 99.9,
"merchantOrderId": "ORD-2025-12345"
},
"timestamp": "2025-01-16T14:00:01.000Z",
"webhookId": "wh_xyz789"
}Payload
Todos os webhooks seguem a mesma estrutura de payload.
Estrutura geral do payload:
{
"event": "transaction.paid",
"data": {
"...": "dados especificos do evento"
},
"timestamp": "2025-01-15T10:35:01.000Z",
"webhookId": "wh_xyz789"
}Headers enviados
Content-TypeTipo de conteudo do payloadX-Atlas-EventNome do evento disparadoX-Atlas-Webhook-IdID do webhook configuradoX-Atlas-SignatureAssinatura HMAC-SHA256 para verificacaoSeguranca (HMAC)
Verifique a assinatura de cada webhook para garantir que veio da Atlas.
Sempre verifique a assinatura
O header X-Atlas-Signature contem sha256=<hmac_hex>. Calcule o HMAC-SHA256 do body com seu secret e compare.
# Verificacao de assinatura no seu servidor
# O header X-Atlas-Signature contem: sha256=<hmac_hex>
# Calcule o HMAC-SHA256 do body com seu secret e compareCodigos de Status
Codigos HTTP retornados pela API.
| Codigo | Descricao |
|---|---|
200 | Requisicao bem sucedida |
201 | Recurso criado com sucesso |
400 | Dados da requisicao invalidos |
401 | API Key invalida ou ausente |
403 | Permissao negada para esta operacao |
404 | Recurso nao encontrado |
409 | Conflito (ex: transacao ja processada) |
429 | Rate limit excedido - aguarde antes de tentar novamente |
500 | Erro interno do servidor |