> ## Documentation Index
> Fetch the complete documentation index at: https://docs.killb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rastreamento de Status do Ramp

> Monitore e lide com status de transação ramp

## Visão Geral de Status

Ramps progridem através de múltiplos status desde a criação até a conclusão. Entender esses status ajuda você a fornecer atualizações precisas aos usuários.

## Fluxo de Status

```mermaid theme={null}
graph TD
    A[CREATED] --> B[CASH_IN_PROCESSING]
    B --> C[CASH_IN_COMPLETED]
    C --> D[CONVERSION_PROCESSING]
    D --> E[CONVERSION_COMPLETED]
    E --> F[CASH_OUT_PROCESSING]
    F --> G[COMPLETED]
    
    A -.-> H[CANCELED]
    B -.-> I[FAILED]
    D -.-> I
    F -.-> I
```

## Obtendo Status do Ramp

```bash theme={null}
GET /api/v2/ramps/{rampId}
```

```javascript theme={null}
const checkRampStatus = async (rampId) => {
  const response = await fetch(
    `https://sandbox.killb.app/api/v2/ramps/${rampId}`,
    {
      headers: {
        'Authorization': `Bearer ${token}`
      }
    }
  );
  
  const ramp = await response.json();
  return ramp.status;
};
```

## Descrições de Status

| Status                  | Descrição                     | Mensagem ao Usuário               |
| ----------------------- | ----------------------------- | --------------------------------- |
| `CREATED`               | Ramp inicializado             | "Por favor complete o pagamento"  |
| `CASH_IN_PROCESSING`    | Pagamento sendo verificado    | "Processando seu pagamento"       |
| `CASH_IN_COMPLETED`     | Pagamento confirmado          | "Pagamento recebido, convertendo" |
| `CONVERSION_PROCESSING` | Convertendo moeda             | "Convertendo fundos"              |
| `CASH_OUT_PROCESSING`   | Enviando para destino         | "Entregando fundos"               |
| `COMPLETED`             | Transação concluída           | "Transação completa!"             |
| `FAILED`                | Transação falhou              | "Transação falhou"                |
| `CANCELED`              | Cancelado por usuário/sistema | "Transação cancelada"             |

## Webhooks para Atualizações de Status

Inscreva-se em eventos de ramp:

```javascript theme={null}
app.post('/webhooks/killb', (req, res) => {
  const { event, data } = req.body;
  
  switch(event) {
    case 'ramp.cash_in_completed':
      updateUI(data.id, 'Pagamento confirmado');
      break;
    case 'ramp.completed':
      updateUI(data.id, 'Transação completa');
      notifyUser(data.userId, 'Fundos entregues');
      break;
    case 'ramp.failed':
      updateUI(data.id, 'Transação falhou');
      notifyUser(data.userId, data.details);
      break;
  }
  
  res.status(200).json({ received: true });
});
```

## Melhores Práticas

<AccordionGroup>
  <Accordion title="Use Webhooks Primeiro" icon="bell">
    Webhooks fornecem atualizações instantâneas
  </Accordion>

  <Accordion title="Polling como Backup" icon="rotate">
    Faça polling a cada 10-30 segundos se webhook falhar
  </Accordion>

  <Accordion title="Mostrar Progresso" icon="spinner">
    Exiba status atual aos usuários com barra de progresso
  </Accordion>

  <Accordion title="Lidar com Falhas" icon="triangle-exclamation">
    Verifique o campo `details` para razões de falha
  </Accordion>
</AccordionGroup>

## Próximos Passos

<CardGroup cols={2}>
  <Card title="Configuração de Webhooks" icon="bell" href="/pt/guides/webhooks/setup">
    Configure notificações de webhook
  </Card>

  <Card title="Tratamento de Erros" icon="shield" href="/pt/resources/error-handling">
    Lide com falhas graciosamente
  </Card>
</CardGroup>
